计算最佳倾向得分的程序

propscore的Python项目详细描述


倾向分数计算器

{下面是Python倾向性的^评分。计算了几种副产品,包括:

安装

使用pip安装:

pip install propscore

说明

这段代码是一个正在进行中的工作,但是它允许人们按照Imbens and Rubin (2015a)中列出的一般方法来估计倾向分数(进入治疗组的概率)。在

目前支持一阶和二阶条款。该方法分三步进行估计。第一个由用户完成,其余由代码完成。在

步骤1

选择你认为相关的协变量,并且应该始终包含在倾向分数方程中。它们将位于代码的init_vars中。在

步骤2

添加将要测试的附加线性项。在倾向得分计算中,将根据这些结果逐一选出对数概率最大的总体增益。在每个步骤中,我们取最大值,使增益大于预定值(默认值为1)。一旦没有剩余变量给出至少一个增益,线性部分终止。在

步骤3

二次项和交互项是由init_vars和{}自动生成的,它们的比较方式与线性项相同,只是对数概率必须单独增加一个量(默认值为2.71)。在

示例使用

下面是示例代码来说明使用(注意:这个示例不会运行,因为我没有费心寻找合适的数据集进行测试,这仍然是一个正在进行的工作。在

^{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在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Spring启动启用HTTPS   actionscript 3 java中的这个[“var”+“name”]   java只匹配给定集合中一个字符的一个匹配项   java Hibernate:防止角色表中出现多个相同的条目   javajersey+Spring注入servlet请求   java HtmlEditor javafx失去焦点   java Apache Wicket AjaxRequestTarget ListView组件未刷新或更新   mysql java。无法将lang.String转换为java。sql。时间戳   java将巨大的整数文件(在一行中)拆分为具有内存限制的已排序块   安卓如何完全关闭proguard?   安装Eclipse和Android SDK后的java“无AVD可用”消息   java动态显示图像视图   java在Spring中还有哪些WebsocketClient实现?   java Glassfish需要很长时间才能重新启动   使用Java简单串行连接器将pc与arduino连接   java如何在camel文件组件配置中结合readLockCheckInterval和maxMessagesPerPoll?   单击Android时的java预览图像   java如何将字节数组转换为ByteArrayOutputStream