regression - 即使变量之间的相关性不是 1 或 -1,Stata 也会删除 "predicts failure perfeclty"的变量?

标签 regression stata logistic-regression

我正在对某些数据运行逻辑回归。我的因变量是二元的,除了一个自变量外,其他都是二元的。
当我运行回归时,stata 删除了许多自变量并给出错误:

"variable name" != 0 predicts failure perfectly
"variable name" dropped and "a number" obs not used

我知道一个事实,即丢弃的一些变量并不能完美地预测失败。换句话说,因变量可以为自变量的值 1 或 0 取值 1。

为什么会发生这种情况,我该如何解决?

最佳答案

双变量交叉表未显示问题。试试这个:

http://www.stata.com/support/faqs/statistics/completely-determined-in-logistic-regression/index.html

首先确认这就是正在发生的事情[共线]。 (对于您的数据,将 x1 和 x2 替换为您模型的自变量。)

  1. 协变量模式数:

    egen pattern = group(x1 x2)

  2. 识别只有一个结果的模式:

    logit y x1 x2 预测 总结p

    • p 的极值几乎为 0 或几乎为 1 tab pattern if p < 1e-7//(这里使用一个比最小值稍大的值)
    • 或者在上面使用“if p > 1 - 1e-7”如果 p 几乎是 1 list x1 x2 if pattern == XXXX//(使用 Tab 步骤中的值)
    • 以上确定了协变量模式
  3. 完美预测结果的协变量模式可能对研究人员有意义,也可能由于模型中有许多变量而出现异常。

  4. 现在您必须消除共线性:

    logit y x1 x2 if pattern ~= XXXX//(使用 Tab 步骤中的值)

    • 注意存在共线性 *您可以省略 logit 删除的变量或删除另一个变量。
  5. 在移除共线性的情况下重新拟合模型:

    logit y x1

您可能想要也可能不想包括完美预测结果的协变量模式。这取决于(3)的答案。如果完美预测结果的协变量模式有意义,您可能希望从模型中排除这些观察结果:

 logit y x1 if pattern ~= XXXX

这里有人会报告

协变量模式完美地预测了结果 其余数据的最佳模型是....xyz

关于regression - 即使变量之间的相关性不是 1 或 -1,Stata 也会删除 "predicts failure perfeclty"的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44371631/

相关文章:

python - 如何在 Python scikit-learn 中输出随机森林中每棵树的回归预测?

python - 线性回归模型

python - Python 中的稳健线性回归结果与 Stata 不一致

excel - 一次导入 300 个 Excel 文件(Stata)

plot - 使用 pROC 包的特异性/灵敏度与截止点

MATLAB fminunc() 未完成大型数据集。适用于较小的

R中的回归树

python - 从 Stata 迁移到 Python

r - 使用混淆矩阵和roc曲线测试逻辑回归模型的质量

machine-learning - 逻辑回归中的负对数似然维度