后门准则#
要使用后门准则识别因果效应,我们可以编写:
>>> # model is an instance of CausalModel
>>> identified_estimand = model.identify_effect()
>>> print(identified_estimand)
以上代码使用了默认的后门调整。有四种基本的后门调整方式。每种都旨在返回一个有效的后门集,但它们在如何选择要返回的变量集方面有所不同。
maximal-adjustment:返回满足后门准则的最大集合。这通常是找到有效后门集的最快方法,但该集合可能包含许多多余的变量。
minimal-adjustment:返回变量数量最少且满足后门准则的集合。这可能需要更长时间执行,有时可能在最大迭代次数内无法返回任何后门集。
exhaustive-search:返回所有有效的后门集。对于大型图来说,这可能需要一段时间运行。
default:这是最小调整和最大调整的良好结合。它从通常快速的最大调整开始。然后运行最小调整并返回变量数量最少的集合。
要使用特定类型的后门调整,我们可以使用 method 参数。
>>> identified_estimand = model.identify_effect(method="maximal-adjustment")
请注意,identify_effect 方法是一个便利方法,它也会搜索其他类型的识别。以下是使用函数式 API 的等效调用。
>>> from dowhy.causal_identifier import identify_effect_auto, BackdoorAdjustment
>>> identified_estimand_auto = identify_effect_auto(
>>> graph,
>>> treatment_name,
>>> outcome_name,
>>> backdoor_adjustment=BackdoorAdjustment.BACKDOOR_MAXIMAL
>>> )