近年来,因果推断成为研究的热点,在众多场景都有应用。其在数据分析等领域具有非常强的优势,强调因果性而非将相关性作为根本出发点,更有助于识别伪相关信息。
在建立模型时,以因果角度为出发点,模型具有更好的泛化和迁移能力,适用众多业务场景。比如优惠券营销提升用户转化,或者进行企业宏观指标的因果探索分析,观测不同指标之间的因果关系,为企业提供运营手段方向的决策帮助。因果效应估计和反事实推断为决策提供了有力支持。
因果推断的实践目前主要包括五方面:因果发现、因果量的识别、因果效应估计、反事实推断和策略学习。其中,因果发现和因果效应估计是当前比较主流且容易落地的应用场景,包括 Uplift 模型也归属于因果效应估计的领域。而反事实推断是业界的难点,在缺乏反事实数据的情况下,对算法的研发和场景落地的准确性都具有挑战。
从去年底开始到今年初,ChatGPT 在智能能力方面取得了质的飞跃,对于情感分类和文本摘要等任务表现出了惊艳的效果。那么,是否能将最新的大模型与因果推断相结合呢?
从能力上来分析,随着参数量和规模的增大,大语言模型涌现出了突出的能力。上图中列举了部分大模型涌现能力,可以助力大模型与因果推断相结合。例如,上下文能力,大模型拥有在非常长的上下文 context 的兼容能力,有助于实现多轮对话和构建更多的大型模型能力;角色扮演能力,大模型可以扮演数据分析师的角色,帮助用户实现因果推断等任务,甚至可以让它扮演 SQL 连接终端或共享终端,用户在里面输入一些命令,即可得到非常真实的反馈。大模型带来了很多想象空间和可行性空间。
此外,大模型一个非常重要的能力是工具应用能力,包括理解 API、调用 API 以及调用搜索引擎或者生成 SQL 等等,目前这些能力已经成为普遍公认的大模型涌现能力。基于这些能力,可以将大模型的涌现能力与因果推断相连接。
在实际项目和产品研发中,进行了探索并总结出了三条线。图中最上层包括因果发现、因果效应估计和反事实推断,可以理解成现实中因果推断的常见任务。最左下角是大语言模型,通过三条线,可以把两者相连。
最左边一条线是通过因果图的方式,用大模型对因果图进行增强识别。利用因果发现算法与大模型相结合,以获取更精准的因果图。
第二条线则聚焦于 Agent,利用大模型的智能基础及其工具使用能力,配合外部工具,综合构建一个智能代理,帮助用户完成一些因果推断任务。
第三条线是 ABM(agent base modeling)基于代理的建模,通过多个智能体之间的相互交互形成现实生活中的场景,即形成一个仿真生态,进而辅助策略的研究和探索。
首先来看第一种连接方式,大模型助力因果发现。
因果发现的核心在于通过拟合的方法和实测数据找出数据特征之间的因果关系。因果发现对于某些业务场景非常适用,比如客户流失分析,可以通过定性的方式确定客户流失的原因及核心因素。因果发现算法在实际应用当中,常常面临一些挑战。比如不可观测变量的数据集,这些变量可能会影响对因果关系的探索,实践中都是在有限特征的数据下尽可能地学习真实的因果关系,以此完成因果关系的定性分析。
上图右侧给出了一个实际案例。在一个银行 ABM 系统获取的数据,形成了银行企业宏观月度指标数据。通过融合多种因果发现算法帮助找到数据特征之间的因果关系。
再举一个例子,假设在一次营销活动中,业务上希望了解哪些特征会影响客户的购物行为,例如优惠券等。通过因果发现算法,可以找到特征之间的因果关系,并发现客户是否购买。然而,在实践中仍然面临一些问题和挑战:
如何将大模型与因果发现的方法相融合呢?目前正在实践中的方法如上图所示。从基础的数据中,通过多种因果发现方法,得到初步的因果图。基于此,可以依赖于大模型的涌现能力和外部工具,对因果图进行识别、甄别、解释和推荐,从而得到更加准确的因果图。
经过项目的实践和探索,总结了四个重点:因果关系的识别、因果方向的识别、因果关系的解释和因果关系的推荐,并围绕大模型的这四点能力构建了因果发现关系增强流程。在这个流程下,大模型被用来驱动各种因果推断任务,帮助用户获得更精准的因果图。
对因果图中的因果关系进行甄别与分类,利用大模型的因果区分能力,区分出错误的因果关系、方向相反的因果关系、不确定的关系等,然后使用这些分类结果来进行因果图的针对性修正。
因果方向的识别,可以利用大模型对二元因果关系的方向进行确认,这种方法可以帮助用户避免找出反向的因果关系。
因果关系解读和推荐适用于那些面对陌生领域,人工识别因果关系非常困难和具有挑战的情况。在这种情况下,可以采用领域大模型来帮助发现业务的合理性。
因果解读,在实践中进行建模时,如果有一个目标特征作为果特征,可以将此特征与一级或二级的因果关系提取出来,然后让大模型给出相应的因果解读,对于一些刚入行、数据了解程度有限和科研程度经验不足的同学来说,具有非常好的帮助作用。因果关系的推荐,大模型可以基于既有经验给出影响目标变量的关键因果关系推荐建议,可以从因果的视角找到更核心的关键因素,进一步强化因果发现算法的准确性。
接下来介绍基于大模型的代理。
大模型具备很多能力,可以根据其智能能力和工具应用能力,结合外部工具,构建一个智能体代理,来帮助业务用户解决问题,或者通过指令指导智能体代理去完成所要做的很多复杂的工作。
将因果推断与智能体结合,构建了一个因果推断的智能代理,可以执行因果推断方向和领域探索的任务。其具备的能力包括:
举一个具体例子,在营销领域中,往往注重分析投入产出比例,即 ROI。可以通过智能代理询问数据的情况以及它具有的特征含义,并获得相应的建议。其次,可以将 ROI 的计算交给智能代理,通过自然语言的方式进行外部数据输入,并进行 ROI 计算。九章云极开发和验证了智能代理反事实推断的能力,采用 Uplift 模型对未来事件进行预测和统计分析。如果是尝试面向决策,例如想举办一次营销活动并预算一定的金额,可以请求智能代理推荐相应的名单,并计算 ROI。未来,智能推断的代理将完成各种领域的任务。
智能体代理嵌入因果推断能力具有非常大的优势。相比以往企业级的建模流程,需要经历场景需求、业务部门、建模团队和数据团队之间的沟通和加工,智能体代理以更友好的自然语言交流方式辅助业务人员进行实时的因果推断分析和决策,具有更好的实时性和业务友好性。因此,智能体代理的操作更加方便、智能,有助于提高工作效率。
"LLM-Powered ABM"意为通过大语言模型模仿代理(或智能体代理),是一种具有类似人类行为的可信赖的虚拟实体,能够模拟人类的行为和决策,以便在虚拟环境中与用户或其他代理进行交互。这种智能体代理通常被用于模拟虚拟世界、仿真研究、自动化决策和其他应用中,对于提升用户体验、社会观察研究等有非常大的帮助。
LLM-Powered ABM 旨在通过以大模型为基础的 ABM 去助力因果推断,ABM 的核心是基于智能体或代理的仿真环境建模。在过去的建模中,ABM 的建模方式主要依赖于规则和专家业务经验,但是,现在有了大模型,可以将其作为智能代理的核心,模拟人类的行为和决策,并构建一个仿真运行的生态。ABM 有三个非常重要的优势:
选择 LLM-Powered ABM 的出发点在于它能够为因果研究和决策研究提供很多帮助。如上图,基于大模型代理的 ABM 系统中包括许多不同的智能体。在智能体系统中,每个代理角色在不同的时间点会发生不同事件,系统会以自然语言形式产出多角色对话或故事。通过大模型可以对整个仿真环境产生的段落进行数据的提取。
数据特性方面,ABM 环境下具有以下 3 个特点:
基于大模型的 ABM 在仿真性方面有很大的优势,每个代理可以作为一个智能体代理来做个性化的经营决策。同时,可干预性也是非常重要的优势,这意味着可以尽可能地获取完整的数据,包括因果数据。
在项目中进行了实践和尝试,不仅能够获得决策建立的因果决策因子,还可以对决策因子进行排序。最后,可以获得反事实数据和时序反事实数据,相对于现有的相关研究,ABM 的数据范围和视角有很大的优势。
相比传统的数据获取方法,使用基于大模型的 ABM 时,数据获取有得天独厚的优势。比如受到成本和其他因素的限制,通常只能获取到真实世界全量数据 Global Data 中的一个非常小的子集。在 ABM 中,可以抽取因果关系,获取现实中无法观测到的数据,包括 Global Data 和 Collectable Data 都可以使用。ABM 对于算法研究和业务推断都有非常大助力。
举个例子,对于因果效应估计应用和进行算法研究与评估,需要考虑几个方面,首先是确定用哪些数据来进行训练,其次利用什么样的数据来评估算法的准确性,最后需要选择评估指标,以保证算法的可靠性。
现在可以获取更多的特征,包括以前无法获取的客户喜好特征和家庭知识特征,都可以将它们纳入模型中,因此可以使用全量特征进行算法研究。在完整特征下进行评估时,可以从中提取更完整的因果关系。在评估阶段,我们更注重获取反事实结果并使用不同的评估方法。除了因果常用的一些序指标(如 AuuC 和 Gini) 和针对回归任务的 RLoss,在 ABM 中获取的数据下,还可以使用更常见的 Rmse 等指标。在 ABM 下,可以将更多特征纳入模型,并在获得因果关系以及相关优先级信息后,使用这个视角去评估得出的因果估计算法的准确性。
基于大模型 ABM 获取的数据具有广泛的应用和研究价值,不仅适用于因果推断领域,也可以在统计分析、机器学习、贝叶斯网络、深度学习等领域中为我们带来助力。
最后,分享两个九章云极 DataCanvas 在因果方向开源的成果。
YLearn 因果学习软件可以帮助用户完成因果推断的五个主要任务,包括因果发现、因果量的识别、因果效应估计、反事实推断和策略学习,其中也支持 Uplift 建模,用户可以一站式完成因果推断场景的所有任务。同时 YLearn 提供了非常简洁的 API,大家可以轻易上手实践并落地。
YLearn因果学习软件 Github 地址:https://github.com/DataCanvasIO/YLearn。
Causal Lab,交互式因果分析框架。这个框架以 YLearn 作为基础,可以帮助用户完成因果推断的全流程任务,包括因果发现,贝叶斯网络学习以及因果效应估计。其中非常有用的是,提供了可视化工具,可以帮助用户进行因果发现的交互模式。框架融合了多种算法,并支持动态的学习过程,从而找到更精准的业务关系,以便于构建更精准的贝叶斯网络。用户还可以对因果关系进行相应的调整和修改。最后,该框架还提供了基于校验估计的探索。
Causal Lab GitHub 地址:https://github.com/DataCanvasIO/CausalLab。