【问题标题】:Statsmodels Logistic Regression class imbalanceStatsmodels 逻辑回归类不平衡
【发布时间】:2016-02-09 21:55:01
【问题描述】:

我想通过类或样本权重重新平衡数据集,对具有 0.5% 正类的数据集运行逻辑回归。我可以在 scikit learn 中做到这一点,但它不提供模型的任何推断统计数据(置信区间、p 值、残差分析)。

这可以在 statsmodels 中实现吗?我在 statsmodels.discrete.discrete_model.Logit.fit 中没有看到 sample_weights 或 class_weights 参数

谢谢!

【问题讨论】:

标签: python statistics statsmodels


【解决方案1】:

程序员的回答:

statsmodels Logit 和其他离散模型还没有权重。 (*)

GLM 二项式通过每次观察成功和不成功的试验次数隐含地定义了案例权重。它还允许通过 GLM 方差函数操作权重,但尚未得到官方支持和测试。

update statsmodels Logit 仍然没有权重,但 GLM 在几个 statsmodels 版本之前已经获得了 var_weights 和 freq_weights。 GLM 二项式可用于估计 Logit 或 Probit 模型。

统计学家/计量经济学家的回答:

推断、标准误、置信区间、检验等均基于随机样本。如果权重被操纵,那么这应该会影响推理统计。 但是,我从未考虑过根据观察到的响应重新平衡数据的问题。一般来说,这会产生选择偏差。快速的互联网搜索显示了几个答案,从重新平衡在 Logit 中没有积极影响到作为替代方案的惩罚估计。

一种可能性是也尝试不同的链接函数,cloglog 或其他链接函数具有不对称或更重的尾部,更适合某一类或类别中风险较小的数据。

(*) 实现权重的一个问题是决定它们的解释是什么以进行推理。例如,Stata 允许使用 3 种权重。

【讨论】:

  • statsmodels Logit 没有办法指定类权重还是这样吗?
  • statsmodels Logit 仍然没有权重,但 GLM 在几个版本之前已经获得了var_weightsfreq_weights。 GLM 二项式可用于估计 Logit 或 aProbit 模型。
猜你喜欢
  • 2013-01-29
  • 1970-01-01
  • 2018-07-26
  • 2015-04-18
  • 2016-10-05
  • 2020-10-05
  • 2016-02-10
  • 2018-10-29
相关资源
最近更新 更多