What If 分析与智能文本模式发现
基于因果模型的 What-if 分析
“what if”分析是一种常用的假设分析方法,旨在通过探究不同情况下可能发生的结果,来帮助人们更好地了解事物之间的关联关系。它通常用于分析某个事件发生后可能的影响,或探究在某种情况下采取不同行动会导致什么样的结果。 在RATH中,在完成了因果发现后,你可以基于一个已有的因果模型,进行what if 分析。通过控制一个或多个因素进行变动(增大后减小),来了解其他变量会受到怎样的影响。
使用DECI进行What If分析
为了更好的实现what If分析,RATH新增了一些深度因果发现算法,如DECI,可以发现高维数据中的非线性影响关系,借助深度学习去学习这些关系,并用于预测推断。
DECI (Deep End-to-end Causal Inference) 算法是一种基于深度学习的因果推断方法。它通过建立一个深度神经网络来建模因果关系,并通过模型的学习来估计因果关系的参数。在实践中,它可以用来预测一个事件对另一个事件的影响,或者用于估计一个措施对一个结果的影响。
如下图数据集所示,研究戒烟和体重的影响关系。这里我们先借助RATH的因果发现,自动生成因果关系图。然后进入what if模块,将戒烟选为自变量,对其进行调整,将其调大,RATH会对“戒烟”对其他因变量影响的程度进行估计和预测,给出体重会随戒烟程度的增大而增大。在这个案例的数据中可以看出,戒烟可能会导致体重的增加。
下面是一个对稍微复杂一些数据集进行分析的场景, 首先,选择DECI算法进行因果发现,生成一个初步的因果结构图。你可以在这个图上进行初步的探索,点击你关注的节点进行互动,可以将这些节点和临近边进行高亮,右侧会展示你选中的节点集合的信息。更多的探索功能可以查看因果发现章节。
进入what If模块,选择自己相要控制的变量,点击变量左侧的“三角形”就可以对其进行大小的控制,你就可以看到你所控制的自变量,是如何影响因变量的值的变化的。同样,左侧的因果图中,也会渲染被影响到的节点的值的变化情况。RATH支持你同时控制多个变量,来研究多维复杂的因果分析常见。 图例:你可以选择多个变量同时作为自变量,来研究他们是如何共同影响相关的因变量的。
类别变量展开/分解
对于一些类别类型的变量,我们比较难以在数值上直接观察这个变量受到其他变量的影响情况。在what If分析模块中,你只需要点击类别变量,他们会自动分解为若干个值构成的新的变量(类似one hot encoding),接下来what if会告诉你,在分解后的变量上的影响效应。(如比,我们有一个“吃药”的变量,则会被分解为,是否吃了药品A,是否吃了药品B,是否吃了安慰剂等。)
因果图布局切换
RATH集成了多种图可视化布局算法,对于不同的因果拓扑结构,可以自由的选择合适的布局算法。来以不同的视角对变量间结构进行研究。
RATH也在尝试开发更多的图可视化与图分析的能力,来进一步辅助因果分析。在复杂的因果关系图上进行进一步挖掘。
下一步
参考以下章节: