Firth 逻辑回归

Firth's Logistic Regression

我正在尝试通过逻辑回归找到销售汽车的人的预测因素。我的样本量是 n=922,主要是基数和序数变量。 因为我的一些变量有多达 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 是我的数据

"formula"中必须输入什么样的术语? 如果这可行,我可以像在常规 log.reg 中使用它一样使用逐步向后算法(或伪 R² 等)吗?型号?:

'Backwards Selection'
backwards <- step(mydataBrAll, direction = "backward")

有些人可能认为这是一个简单的问题,但我无法通过网上的解释来解决。

非常感谢任何帮助!

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

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

An expression of the form y ~ model is interpreted as a specification that the response y is modelled by a linear predictor specified symbolically by model.

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

mydataBrAll <- logistf(formula = Verkauft ~ x1 + x2 + x3, data = mydataBr, pl = FALSE)
summary(mydataBrAll)

请注意,公式可能更复杂,并且涉及预测变量的转换。同样,有关更多详细信息,请参阅 formula.

的文档

如你所知,logistf() 的文档中显示的作为函数签名的一部分的 attr(data, "formula") 表达式 (a.k.a。API) 指的是属性称为 formula 的对象可能存在于包含您在函数的 data 参数中传递的数据的对象中。由于在您的示例中不是这种情况(显然您没有将该属性添加到数据对象),因此您必须在调用 logistf().
时显式定义公式 有关对象中属性的详细信息,请参阅 help(attr)

关于向后选择的第二个问题:在 logistf() 文档的详细信息部分,您会看到以下句子:

Furthermore, forward and backward functions perform convenient variable selection

即该包包含一个 forward()backward() 函数,可用于执行预测变量的前向和后向选择。

step() 函数也可能有效,因为在其文档页面中没有任何相反的指示。