我想通过通过类或样本权重重新平衡数据集,在0.5%的正类数据集上运行一个逻辑回归。我可以在scikit学习中做到这一点,但它没有为模型提供任何推断统计数据(置信区间、p值、残差分析)。
在状态模型中可以这样做吗?我看不到sample_weights或class_weights在statsmodels.discrete.discrete_model.Logit.fit中的参数
谢谢!
发布于 2015-11-09 14:54:13
程序员的回答:
状态模型、Logit和其他离散模型还没有权值。(*)
GLM二项法通过每次观察成功和不成功的试验次数,隐含地定义了案例权重。它还允许通过GLM方差函数操纵权重,但这还没有得到官方支持和测试。
更新状态模型Logit仍然没有权重,但是GLM已经在几个状态模型发布之前获得了var_weights和freq_weights。GLM二项式可以用来估计Logit或概率模型。
统计师/计量经济学的回答:
推理、标准误差、置信区间、测试等都是基于随机样本的。如果权值被操纵,那么这将影响推断统计数据。然而,我从未考虑过基于观察到的响应来重新平衡数据的问题。一般来说,这会造成选择偏差。一个快速的互联网搜索显示了几个答案,从再平衡在Logit中没有积极的影响,到作为替代的惩罚估计。
一种可能是尝试不同的链接函数,cloglog或其他链接函数具有不对称或较重的尾部,更适合于一个类别或类别中风险较小的数据。
(*)实施权数的一个问题是决定如何解释这些权数,以供推断。例如,Stata允许3种重量。
https://stackoverflow.com/questions/33605979
复制相似问题