Science Workflow

因果推断

用于第一类因果推理的干预和反事实类型

Back to Science Hub

使用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)