弗斯的逻辑回归

时间:2020-02-11 10:08:50

标签: r logistic-regression

我试图通过进行逻辑回归来找到销售汽车的人的预测变量。我的样本大小为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")

有些人可能认为这是一个简单的问题,但是我无法借助在线说明来解决。

非常感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

公式应该是R中大多数建模函数(例如lm()glm()等)中使用的常规公式对象。 通过在R命令行中输入help(formula),可以获得有关如何编写公式的详细信息。

基本上,公式是y ~ model形式的表达式。引用help(formula)的详细信息部分:

形式为y〜model的表达式被解释为一种规范,即响应y由模型象征性地指定的线性预测变量建模。

在您的示例中,假设您有3个预测变量,分别为x1x2x3(可以是numericfactor变量),可以写:

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()函数也可能起作用,因为在其文档页面中没有相反的指示。