facebookresearch/balance

The balance python package offers a simple workflow and methods for dealing with biased data samples when looking to infer from them to some target population of interest.

解决的问题

balance 旨在减轻数据样本中的偏差——例如来自调查或观察性研究的样本——这些样本未能准确反映目标人群。当存在抽样偏差或非响应偏差时,就难以从样本数据中推断出总体特征。

工作原理

该包实现了一个工作流程,用于拟合和评估样本中每个单元的权重。这些权重表示特定受访者代表目标人群中多少人,从而有效“平衡”样本,使其与目标人群的辅助信息(协变量)分布相匹配。

关键调整方法包括:

  • 逆概率加权(IPW),使用 L1(LASSO)正则化。
  • 协变量平衡倾向得分(CBPS)
  • 事后分层(Post-stratification)
  • 重加权(Raking)

它还提供了使用逆概率加权均值($\mu\hat{}{IPW}$)或结果模型估计值($\mu\hat{}{OM}$)来估计总体结果的工具,以及一种双重稳健(AIPW)估计器。

适用人群

适用于需要平衡有偏差样本以生成准确总体估计的研究人员、调查方法学家、人口统计学家、UX 研究人员、市场研究人员,以及数据科学家或机器学习工程师。

特色亮点

  • 多种调整方法:支持 IPW、CBPS、重加权和重加权事后分层。
  • 全面的诊断工具:包含条形图、密度图、QQ 图和“Love 图”以可视化调整前后协变量的平衡情况。
  • 统计摘要:提供绝对标准化均值差(ASMD)和 Kish 的设计效应,用于评估权重质量。
  • diff-diff 集成:提供轻量级适配器,可使用 balance 生成的权重进行差异中的差异分析。
  • 结果估计:支持 IPW 和结果模型估计器,用于稳健性检验。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目