Logistic回归中如何调整联合创始人?

数据挖掘 机器学习 深度学习 数据挖掘 预测建模 逻辑回归
2021-10-03 04:42:54

我有一个应用逻辑回归的二元分类问题。

我有一组发现很重要的功能。

但我知道逻辑回归不考虑特征交互。

当我在网上阅读时,可以通过调整混杂因素的逻辑回归来解释缺乏特征交互。

目前我这样做并获得了重要的功能。

model = sm.Logit(y_train, X_train)
result=model.fit()
result.summary()

但是我该如何调整混杂因素呢?对于像我这样的非统计人员来说,任何指向教程的指针都会很有帮助。

有人可以让我知道我该怎么做吗?

2个回答

虽然我不确定您说“针对混杂因素进行调整”是什么意思,但我想您的问题是关于模型选择(或变量/特征选择)。

以下是关于这个问题的一些想法:

  1. 明确定义您想要实现的目标:如果您想要实现良好的预测(因此您无法进行因果建模),请选择合适的指标来衡量模型拟合度。对于分类问题,您可以查看混淆矩阵AUC(但还有更多选项)。
  2. 选择一个您认为是解决问题的良好起点的基线模型。查看此模型的相关指标。
  3. 尝试提出改进:例如,您可以处理您的功能,看看您的“新”模型与基线模型相比是否表现更好(基于所选指标)。您还可以通过简单地乘以变量来添加交互项(变量之间)。所以当你有一个模型是的=β0+β1X1+β2X2+, 你也可以去 是的=β0+β1X1+β2X2+β3X1X2+ (笔记: β 是回归系数, 是误差项)。

确保在数据的一部分上训练模型,并在数据的另一部分(训练/测试拆分)上测试模型。

关于特征选择的一些注意事项: 通常只选择特征并不是一个好主意通过看重要性。为什么?显着性告诉您某个变量/特征的系数的估计置信区间是否“过零”(区间有正值和负值)。这几乎没有说明变量对整体模型性能的贡献。变量也可以是“共同重要的”,因此即使是不重要的(单个)特征也可能很重要(与其他特征相互作用)。或者,某些特征的线性变换可能使其重要,例如在添加多项式(例如平方项)或进行逻辑变换的情况下。所以本质上:不要仅仅基于重要性就淘汰特征。通过这样做,您就有机会引入“遗漏变量偏差”。

如果您有很多可能相关的特征并且您厌倦了“手动”进行模型选择,您也可以查看Lasso(或Ridge)回归。在这种方法下,当特征对于良好的预测不是那么有用时,它们会被“缩小”(自动)。这是Trevor Hastie 和 Junyang Qian 对 Lasso/Ridge/Elastic Net 的一个很好的介绍。代码在 R 中,但教程非常好。

你一定会从《统计学习导论》这本书中受益第 4 章以非常有启发性的方式介绍了 Logit。此外,书中还提供了实验室的Python 代码,可以为您提供一个很好的起点。阅读你的问题、书和书中的实验室代码,对你来说是一个自然的起点。

混杂因素(潜伏变量)是一个同时影响因变量和自变量的变量。虽然您是对的,逻辑回归中“缺少”特征交互,但我不确定“调整混杂因素有什么帮助”

如果有任何重要的交互,那么绝对可以帮助将这些交互包含在 log.regression 公式中。你怎么知道

  • 领域知识,你怀疑它
  • 例如,使用随机森林并从那里推断出相互作用。

你如何包括他们?例如,建立第二个模型 log.regression 模型和平均预测

一般不要玩它,只需使用自动执行它的模型即可。