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同工具的其他报错
报错解决了,但方法还没搞懂?
报错只是表象。因果推断、面板数据、稳健性检验这些方法背后的逻辑,知识库里按「原理 × 直觉 × 代码」讲清楚了。
进入知识库 →