ppdeyezi_ 2024-02-26 16:20 采纳率: 42.9%
浏览 32
已结题

stata回归解释变量ommited

我想问一下,我的解释变量与被解释变量均为0/1变量,用probit和logit回归解释变量均被ommited了。这个是stata报错
note: pg != 0 predicts success perfectly;
pg omitted and 124 obs not used. 该怎么解决呢

img

  • 写回答

2条回答 默认 最新

  • 专家-赤兔[在线] 优质创作者: 编程框架技术领域 2024-02-26 16:22
    关注

    引自免费微信小程序:皆我百晓生

    在Stata中,当进行Probit或Logit回归时,遇到“note: pg != 0 predicts success perfectly; pg omitted and # obs not used”这样的提示,这意味着模型识别到了完全多重共线性(perfect multicollinearity)的问题。在您的情况下,解释变量pg与其它变量之间存在精确的线性关系,导致该变量可以被其他变量完全预测出来,从而无法估计其系数。

    对于二元因变量(0/1变量)的模型,如果某个解释变量(如pg)在某些观测值中恒为非零且这些观测值的因变量值也恒定(比如都为1或者都为0),Stata会自动排除这个解释变量以避免计算上的问题。

    解决办法:

    1. 检查数据:首先应仔细检查数据,确认是否有观测值记录错误、重复变量或者其他可能造成完全多重共线性的原因。例如,查看pg变量是否在所有成功或失败的案例中都保持了同一个取值。

    2. 数据转换或变量创建

      • 考虑对pg或其他相关变量进行适当的转换,例如使用交互项、虚拟变量等。
      • 如果pg是分类变量的一部分,并且与其他类别高度相关,尝试合并类别或者构建更合适的哑变量形式。
    3. 逐步回归或变量选择

      • 可以通过逐步回归来筛选出不引起多重共线性的变量组合。
      • 使用正则化方法如LASSO、Ridge回归等也能帮助处理多重共线性问题。

    针对代码部分,这里假设你已经检查过数据并决定继续进行回归分析,但需注意没有实际数据示例,以下是一个基本的逐步回归过程的例子(请注意根据实际情况调整变量名称和选项):

    * 假设 y 是被解释变量, x1-x5 是其他解释变量,pg 是出现问题的变量
    * 首先做初步的logit回归,查看pg是否确实被omitted
    logit y x1 x2 x3 x4 x5 pg
    
    * 如果pg被omitted,尝试逐步回归
    logit y x1 x2 x3 x4 x5, stepwise
    
    * 或者你可以手动排除与其他变量高度相关的变量,例如如果发现pg与x1高度相关
    logit y x2 x3 x4 x5
    
    * 若仍想包含pg,尝试添加交互项或使用某种形式的数据转换
    gen pg_interact = pg*x2
    logit y x1 x3 x4 x5 pg pg_interact
    

    请务必根据实际情况调整代码中的变量名以及进一步的数据探索与预处理步骤。如果数据集较小或有特殊结构,请确保所采取的方法适合您的研究目的。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 3月5日
  • 已采纳回答 2月26日
  • 创建了问题 2月26日