隆起建模中的多重处理

时间:2019-06-03 19:37:22

标签: machine-learning statistics

我正在尝试进行多种治疗的隆起建模。我遇到了这个套件,该套件可以对单个治疗执行升压建模。

https://github.com/wayfair/pylift

但是我想扩大范围以进行多种治疗。有没有办法做到这一点

1 个答案:

答案 0 :(得分:0)

一个警告:我还没有测试过,但是从理论上讲应该是合理的。

您可以添加一项功能(为了方便起见,将其称为x),该功能可以指示要显示的治疗方式,并且可以:

  1. 复制控件行,以便每个控件组成员在x的每个不同值处都有一行。例如,如果您在对照组,但您有2种治疗方法,因此Ax1有两个值,您将复制对人2的观察结果,因此您对{ {1}}和另一个A。然后调整您的目标函数或“转化结果”政策(如果您使用的是此方法)以纠正由此产生的偏见(以下更多详细信息)。
  2. 或者如果您没有足够的内存,则您可以将x=1的可能值中的值随机分配给控制行

如果您不执行这些操作之一,则您的模型将无法使用此功能进行拆分。

如果您执行(1),则需要通过修改目标功能或调整“转化结果”的政策值来解决由于拥有更多控制组成员而造成的偏差。

如果您使用的是“转换结果”方法,则相当于只设置x=2,其中x是您正在考虑的治疗次数(转换后的结果定义为{{1} }。在p=1/(1+N)中,这相当于在数据框中添加一个值为N的列,并在(W - p)/(p*(1-p))中进行指定。即,在实例化pylift对象时,您可以添加以下参数:

1/(1+N)

或者,您可以针对对照的每种处理简单地创建不同的模型。但是,最大的问题是这些值可能无法比较。但是为了给自己一个合理的机会,我将确保您对每个模型使用相同的超参数,并希望它们也具有相同数量的数据(否则,相同的超参数将毫无意义)。