我对因果推理领域很陌生,我正试图弄清楚一些事情。下面是来自的代码片段--为什么库文档( https://microsoft.github.io/dowhy/example_notebooks/dowhy_ihdp_data_example.html )。
我的问题是:在根据一些初步数据定义了因果模型之后,是否有可能提供新的数据并确定哪种治疗最适合(每个婴儿),以获得最佳的结果?
谢谢!
发布于 2022-01-21 04:28:48
我认为你真正需要的是函数f,这样y = f(x,t),其中y是结果,t是处理,x是协变量(或婴儿的特征),因为有了这个函数,你可以比较f(x,1)和f(x,0),看看哪个给你更好的y。
在这种情况下,我的答案是,给出的例子没有这个功能,所以你不能做到。它要求您创建函数f。您将在下面的讨论中看到您需要做的额外工作。
该示例的步骤1假设所有协变量(即所有的26 x)都是常见的原因,正因为如此,所有的26 x都应该在您想要创建的函数中。
然后你需要考虑y是如何依赖x's的。步骤3实际上也要求这样做,但是因为这是逐个案例,没有一个单一的答案,所以步骤3实际上演示了4种不同的简单方法。以步骤3.1为例,它使用线性回归,它应该有效地将f建模为:
f(x,t) = at + bx
然而,我们是否可以将这个模型用于你的目标--计算两种治疗对新生婴儿的结果的差异?是的,但是因为f(x,1) - f(x,0) = a,并且这个差独立于x,这意味着对于任何新的婴儿,你总是得到相同的结果,这意味着你总是要选择相同的处理方式。
现在我希望你们看到,你们实际上需要找到最好的函数f来模拟y,x和t之间的关系。你们可以仔细地检查y和每个给定t之间的关系,并应用机器学习工具箱中的最佳模型或模型组合。如果你最终证明了上面的线性模型是完美的模型假设,那么我只想说,好吧,把所有的新生儿都分配到同样的治疗中去。
https://stackoverflow.com/questions/65709500
复制相似问题