Statsmodels零膨胀泊松模型拟合不收敛问题求助
零膨胀泊松模型拟合收敛问题求助
背景
我正在用Python构建风险模型,目标变量是频率值(float类型),计算公式为freq = number of events/total exposition。数据集极度不平衡,约98%的目标值为0,符合零膨胀泊松分布特征。
已完成特征预处理:对分类特征进行独热编码(确保类别合理且相关),对数值特征进行缩放。
代码与报错
使用statsmodels的零膨胀泊松GLM拟合时始终无法收敛,代码如下:
from statsmodels.discrete.count_model import ZeroInflatedPoisson model = ZeroInflatedPoisson(endog=y_train, exog=X_train_prep, exog_infl=X_train_prep) modelzip = model.fit() modelzip.summary()
报错信息:
ConvergenceWarning: Maximum Likelihood optimization failed to converge. Check mle_retvals Warning: Maximum number of iterations has been exceeded. Current function value: 0.937949 Iterations: 35 Function evaluations: 37 Gradient evaluations: 37
观察到的现象
- 查看模型摘要发现多数特征系数的p值显著,但使用
statsmodels.discrete.count_model.GeneralizedPoisson类时同样出现收敛问题 - 使用
statsmodels.api中的Poisson GLM无收敛问题,但这并非我需要的零膨胀模型
疑问
- 为何仅
statsmodels.discrete.count_model下的类出现该收敛问题? - statsmodels中是否有其他可用的零膨胀泊松类?
内容的提问来源于stack exchange,提问作者Lídia Gusmão
相关产品推荐
相关产品推荐

