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