我正在对某些数据运行逻辑回归。我的因变量是二元的,除了一个自变量外,其他都是二元的。
当我运行回归时,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 替换为您模型的自变量。)
协变量模式数:
egen pattern = group(x1 x2)
识别只有一个结果的模式:
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 步骤中的值)
- 以上确定了协变量模式
完美预测结果的协变量模式可能对研究人员有意义,也可能由于模型中有许多变量而出现异常。
现在您必须消除共线性:
logit y x1 x2 if pattern ~= XXXX//(使用 Tab 步骤中的值)
- 注意存在共线性 *您可以省略 logit 删除的变量或删除另一个变量。
在移除共线性的情况下重新拟合模型:
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/