Stata:如何因共线性而停用自动遗漏

时间:2014-03-07 10:41:35

标签: regression stata

是否有可能告诉stata由于回归中的(近)共线性而不会自动省略变量?我使用虚拟变量来处理我的样本中的异常值;即,它们仅对一个观察值取值1,对所有其他观察值取零。 Stata掉落了大部分这些假人,因为它认为它们是共线的,当然这是真的,但它们不是完全共线的,我想让它们保持在回归中。

2 个答案:

答案 0 :(得分:2)

Stata只会丢弃完美的共线变量,所以答案是“不,你不能”。

答案 1 :(得分: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

    如果p

    p的极值几乎为0或几乎为1个标签模式。 1e-7 //(使用稍大于min的值)

    或在上面使用“if p> 1 - 1e-7”如果p几乎是1列表x1 x2如果pattern == XXXX //(使用选项卡步骤中的值)

    以上标识了协变量模式

  3. 完全预测结果的协变量模式可能对研究人员有意义,或者由于模型中有许多变量而可能是异常。

  4. 现在你必须摆脱共线性:

    logit y x1 x2 if pattern~ = XXXX //(使用选项卡步骤中的值) 请注意,存在共线性*您可以省略logit丢弃或丢弃另一个的变量。

  5. 重新删除共线性的模型:

    logit y x1

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

    logit y x1 if pattern ~= XXXX
    

    这里有人报告

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