计算最佳倾向得分的程序
propscore的Python项目详细描述
倾向分数计算器
{下面是Python倾向性的^评分。计算了几种副产品,包括:
- 在
基于估计倾向得分Imbens and Rubin (2015a)的地层
在 - 在
通过修剪Imbens and Rubin (2015b)维持协变量平衡的倾向得分的最大值和最小值
在
安装
使用pip
安装:
pip install propscore
说明
这段代码是一个正在进行中的工作,但是它允许人们按照Imbens and Rubin (2015a)中列出的一般方法来估计倾向分数(进入治疗组的概率)。在
目前支持一阶和二阶条款。该方法分三步进行估计。第一个由用户完成,其余由代码完成。在
步骤1
选择你认为相关的协变量,并且应该始终包含在倾向分数方程中。它们将位于代码的init_vars
中。在
步骤2
添加将要测试的附加线性项。在倾向得分计算中,将根据这些结果逐一选出对数概率最大的总体增益。在每个步骤中,我们取最大值,使增益大于预定值(默认值为1)。一旦没有剩余变量给出至少一个增益,线性部分终止。在
步骤3
二次项和交互项是由init_vars
和{
示例使用
下面是示例代码来说明使用(注意:这个示例不会运行,因为我没有费心寻找合适的数据集进行测试,这仍然是一个正在进行的工作。在
^{pr2}$输出
- 在
在self.data
:数据帧。这包括一个新的框架,仅仅是结果和潜在的协变量。在 - 在
{cd6}列表。由于奇点原因而没有被削减的变量。在
在 - 在
在self.logodds
:系列。这是对数优势比或线性化倾向得分。相当于self.model.fittedvalues
。由于丢失了丢失的值,这可能与数据的维度不匹配,但索引将在不丢失的值上正确对齐。在 - 在
在self.model
:来自Statsmodels
的拟合模型。这是Statsmodels中最后一组变量的原始模型 - 在
在self.propscore
:系列。这是由self.model.predict()
计算的倾向得分。由于丢失了丢失的值,这可能与数据的维度不匹配,但索引将在不丢失的值上正确对齐。在 - 在
在self.test_vars_ord2
:列表。供参考的已测试二阶变量的完整列表。在 - 在
{14>系列}。根据倾向得分计算出的阶层(指数从0开始),也遵循同一章。结果变量的缺失值和倾向性得分超出允许值(大于对照组的最大值,小于治疗组的最小值)的编码为NaN。在
在 - 在
在self.trim_range
:元组。最佳配平最小值和最大倾向值的计算结果。在 - 在
在self.in_trim
:系列(真/假)。如果数组中为True,则表示倾向分数落在trim min/max范围内。在
参考文献
Imbens,G.和Rubin,D.(2015a)。估计倾向得分。统计学、社会学和生物医学科学的因果推论:导论(第281-308页)。剑桥:剑桥大学出版社。doi:10.1017/CBO9781139025751.014在
Imbens,G.和Rubin,D.(2015b)。修正以改善协变量分布的平衡。统计学、社会学和生物医学科学的因果推论:导论(359-374页)。剑桥:剑桥大学出版社。doi:10.1017/CBO9781139025751.017在
- 项目
标签: