虚拟结果反驳器#

虚拟结果反驳器测试:当我们用一个独立的随机变量替换真实的因变量时,估计的因果效应会发生什么?(提示:效应应趋于零)此外,该测试的扩展还可以检查任何因果效应不必为零的模拟结果:当我们用一个基于已知数据生成过程(最接近给定数据集)的模拟结果替换因变量时,估计的因果效应会发生什么?(提示:它应该与数据生成过程中的效应参数匹配)

测试零因果效应#

>>> ref = model.refute_estimate(identified_estimand,
>>>                           causal_estimate,
>>>                           method_name="dummy_outcome_refuter"
>>>                           )
>>> print(ref[0])

测试非零因果效应#

>>> coefficients = np.array([1,2])
>>> bias = 3
>>> def linear_gen(df):
>>>     y_new = np.dot(df[['W0','W1']].values,coefficients) + 3
>>>     return y_new
>>> ref = model.refute_estimate(identified_estimand,
>>>                           causal_estimate,
>>>                           method_name="dummy_outcome_refuter",
>>>                           outcome_function=linear_gen
>>>                           )
>>> print(ref[0])

要查看使用虚拟结果反驳器的完整示例,您可以查看笔记本 使用用户定义结果函数创建自定义反驳的简单示例