使用Sounio进行因果推断
Sounio将因果关系视为类型系统的关注点。Intervention<T>和Counterfactual<T>是编译器级别的类型——而不是库约定。
带有Pearl的do操作符的因果DAG
// 构建一个带有认识边不确定性的因果DAG
var dag = causal_dag_new()
dag = dag_add_node(dag, 0) // 治疗
dag = dag_add_node(dag, 1) // 结果
dag = dag_add_edge(dag, 0, 1,
ec_beta_new(8.0, 2.0), 0.5, 0.1)
// Pearl的do操作符移除混杂因素
let intervened = do_intervention(dag, 1)
平均治疗效应
// 带有认识不确定性估计ATE
let ate = average_treatment_effect(dag, 0, 1)