我试图通过进行逻辑回归来找到销售汽车的人的预测变量。我的样本大小为n = 922,并且大多数具有kardinal和ordinal变量。 由于我的某些变量具有多达7个类别(-> 6个虚拟变量),因此遇到了分离现象。 在文献中,他们推荐了Firth的偏倚减少逻辑回归方法。
安装软件包后,我使用以下公式:
logistf(formula = attr(data, "formula"), data = sys.parent(), pl = TRUE, ...)
并输入(或尝试输入)我的数据:
mydataBrAll <- logistf(formula = attr(mydataBr$Verkauft, "formula"), data = mydataBr, pl = FALSE)
summary(mydataBrAll)
Verkauft 是我的因变量,而 mydataBr 是我的数据
必须在“公式” 中输入哪种术语? 如果这行得通,我是否可以像在常规log.reg中一样使用逐步向后算法(或伪R²等)。型号?:
'Backwards Selection'
backwards <- step(mydataBrAll, direction = "backward")
有些人可能认为这是一个简单的问题,但是我无法借助在线说明来解决。
非常感谢您的帮助!
答案 0 :(得分:0)
公式应该是R中大多数建模函数(例如lm()
,glm()
等)中使用的常规公式对象。
通过在R命令行中输入help(formula)
,可以获得有关如何编写公式的详细信息。
基本上,公式是y ~ model
形式的表达式。引用help(formula)
的详细信息部分:
形式为y〜model的表达式被解释为一种规范,即响应y由模型象征性地指定的线性预测变量建模。
在您的示例中,假设您有3个预测变量,分别为x1
,x2
,x3
(可以是numeric
或factor
变量),可以写:
mydataBrAll <- logistf(formula = Verkauft ~ x1 + x2 + x3, data = mydataBr, pl = FALSE)
summary(mydataBrAll)
请注意,公式可能更复杂,并且涉及预测变量的转换。同样,有关更多详细信息,请参见formula
的文档。
请注意,attr(data, "formula")
文档中显示的logistf()
表达式是函数签名(又称API)的一部分,是指可能存在于formula
中的属性。对象,该对象包含要在函数的data
参数中传递的数据。由于您的示例中不是这种情况(显然您没有将该属性添加到数据对象中),因此在调用logistf()
时必须显式定义公式。
有关对象中的属性的更多信息,请参见help(attr)
。
关于向后选择的第二个问题:在logistf()
文档的“详细信息”部分,您会看到以下句子:
此外,前进和后退功能可以方便地选择变量
即该软件包包含forward()
和backward()
函数,可用于执行预测变量的前向和后向选择。
step()
函数也可能起作用,因为在其文档页面中没有相反的指示。