statar(430)估计与检验

Stata 报错 r(430):convergence not achieved(模型未收敛)

最大似然估计跑不出结果。原因通常是:模型设定错误(如完美的分类预测变量)、样本太小、变量共线、初始值不合理、或者数据被完全分离(logit 里某变量完美预测结果)。

报错原文

convergence not achieved
r(430);

为什么会报这个错

最大似然估计跑不出结果。原因通常是:模型设定错误(如完美的分类预测变量)、样本太小、变量共线、初始值不合理、或者数据被完全分离(logit 里某变量完美预测结果)。

怎么解决

依次排查:① 去掉高度共线的变量;② 检查是否存在完全分离,用 logit 后看极端系数;③ 加 iterate() 增加迭代次数;④ 用 ml 的 search() 找更好初值;⑤ 标准化连续变量改善数值稳定性。

代码示例

logit y x1 x2, iterate(100)

// 找共线
collin x1 x2 x3

// 标准化后重估
foreach v of varlist x1 x2 {
    egen z_`v' = std(`v')
}
logit y z_x1 z_x2

同工具的其他报错

报错解决了,但方法还没搞懂?

报错只是表象。因果推断、面板数据、稳健性检验这些方法背后的逻辑,知识库里按「原理 × 直觉 × 代码」讲清楚了。

进入知识库 →