大模型时代下的因果推断

导读:在数字化建设不断推进的今天,随着技术的不断发展,从统计学、机器学习、深度学习,再到因果学习,以及最新的热门大模型方向,九章云极DataCanvas始终紧贴最前沿的、最能助力企业和落地实践的方向,不断进行着面向决策和面向智能的探索。本文将分享大模型时代下的因果推断,主要包括五部分内容:

  • 因果推断与大模型
  • 模型助力因果发现
  • 基于大模型代理的因果推断
  • LLM-Powered ABM助力因果推断
  • YLearn & CausalLab

▌因果推断与大模型
在这里插入图片描述
近年来,因果推断成为研究的热点,在众多场景都有应用,其在数据分析等领域具有非常强的优势,强调因果性而非将相关性作为根本出发点,更有助于识别伪相关信息。

在建立模型时,以因果角度为出发点,模型具有更好的泛化和迁移能力,适用的众多业务场景。比如优惠券营销提升用户转化,或者进行企业宏观指标的因果探索分析,观测不同指标之间的因果关系,为企业提供运营手段方向的决策帮助。因果效应估计和反事实推断为决策提供了有力支持。

因果推断的实践目前主要包括五方面:因果发现、因果量的识别、因果效应估计、反事实推断和策略学习。其中,因果发现和因果效应估计是当前比较主流且容易落地的应用场景,包括Uplift模型也归属于因果效应估计的领域。其中反事实推断是业界的难点,在缺乏反事实数据的情况下,对算法的研发和场景落地的准确性都具有挑战。
在这里插入图片描述

从去年底开始到今年初,ChatGPT在智能能力方面取得了质的飞跃,对如情感分类和文本摘要等任务,表现出了惊艳的效果。是否能将最新的大模型与因果推断相结合呢?从能力上来分析,随着增大参数量和规模,使得大语言模型涌现出了突出的能力。上图中列举了部分大模型涌现能力,可以助力大模型与因果推断相结合。例如,上下文能力,大模型拥有在非常长的上下文context的兼容能力,有助于实现多轮对话和构建更多的大型模型能力;角色扮演能力,大模型可以扮演数据分析师的角色,帮助用户实现因果推断等任务,甚至可以让它扮演SQL连接终端或共享终端,用户在里面输入一些命令,即可得到非常真实的反馈。大模型带来了很多想象空间和可行性空间。

此外,大模型的一个非常重要的能力是工具应用能力,包括理解API、调用API以及调用搜索引擎或者生成SQL等等,目前已经成为普遍公认的大模型涌现能力。基于这些能力,使大模型的涌现能力与因果推断相连接。
在这里插入图片描述

在实际项目和产品研发中,进行了探索并总结出了三条线。图中最上层包括因果发现、因果效应估计和反事实推断,可以理解成现实中因果推断的常见任务。最左下角是大语言模型,通过三条线,可以把两者相连。

最左边一条线是通过因果图的方式,用大模型对因果图进行增强识别。利用因果发现算法与大模型相结合,以获取更精准的因果图。

第二条线则聚焦于Agent,利用大模型的智能基础及其工具使用能力,配合外部工具,综合构建一个智能代理,帮助用户完成一些因果推断任务。

第三条线是ABM(agent base modeling)基于代理的建模,通过多个智能体之间的相互交互形成现实生活中的场景,形成一个仿真生态,进而辅助策略的研究和探索。

▌大模型助力因果发现

首先来看第一种连接方式,大模型助力因果发现。

在这里插入图片描述

因果发现的核心在于通过拟合的方法和实测数据找出数据特征之间的因果关系。因果发现对于某些业务场景非常适用,比如客户流失分析,可以通过定性的方式确定客户流失的原因及核心因素。因果发现算法在实际应用当中,常常面临一些挑战。比如不可观测变量的数据集,这些变量可能会影响对因果关系的探索,实践中都是在有限特征的数据下尽可能地学习真实的因果关系,以此完成因果关系的定性分析。

上图右侧给出了一个实际案例。在一个银行ABM系统获取的数据,形成了银行企业宏观月度指标数据。通过融合多种因果发现算法帮助找到数据特征之间的因果关系。
在这里插入图片描述

再举一个例子,假设在一次营销活动中,业务上希望了解哪些特征会影响客户的购物行为,例如优惠券等。通过因果发现算法,可以找到特征之间的因果关系,并发现客户是否购买。实践中仍然面临一些问题和挑战:

  • 未观测因子,限于数据本身,往往需要在有限的特征下找出因果关系;
  • 准确率不够高,甚至有时会出现不合理的因果关系;
  • 经验不足,当面临一个新的知识领域时,特别是不了解数据和特征的情况下,会无法理解和判断因果关系。
    在这里插入图片描述

如何将大模型与因果发现的方法相融合呢?目前正在实践中的方法如上图所示。从基础的数据中,通过多种因果发现方法,得到初步的因果图。基于此,可以依赖于大模型的涌现能力和外部工具,对因果图进行识别、甄别、解释和推荐,从而得到更加准确的因果图。

经过项目的实践和探索,总结了四个重点:因果关系的识别、因果方向的识别、因果关系的解释和因果关系的推荐,并围绕大模型的这四点能力构建了因果发现关系增强流程。在这个流程下,驱动大模型各种因果推断能力,帮助用户获得更精准的因果图。

在这里插入图片描述

对因果图中的因果关系进行甄别与分类,利用大模型的因果区分能力,区分出错误的因果关系、方向相反的因果关系、不确定的关系等,然后使用这些分类结果来进行因果图的针对性修正。因果方向的识别,可以利用大模型对二元因果关系的方向进行确认,这种方法可以帮助用户避免找出反向的因果关系。因果关系解读和推荐适用于算人员面对陌生领域,人工识别因果关系是非常困难和具有挑战的。在这种情况下,可以采用领域大模型来帮助发现业务的合理性。因果解读。在实践中进行建模时,如果有一个目标特征作为果特征,可以将此特征与一级或二级的因果关系提取出来,然后让大模型给出相应的因果解读,对于一些刚入行、数据了解程度优先和科研程度经验不足的同学来说,具有非常好的助力。因果关系的推荐,大模型可以基于既有经验给出影响目标变量的关键因果关系推荐建议,可以从因果的视角找到更核心的关键因素,进一步强化因果发现算法的准确性。

▌基于大模型代理的因果推断

接下来介绍基于大模型的代理。

在这里插入图片描述

大模型具备很多能力,可以根据其智能能力和工具应用能力,结合外部工具,构建一个智能体代理,来帮助业务用户解决问题,或者通过指令指导智能体代理去完成所要做的很多复杂的工作。

将因果推断与智能体结合,构建了一个因果推断的智能代理,可以执行因果推断方向和领域探索的任务。其具备的能力包括:

  1. 角色扮演能力,大模型可以扮演因果推断专家、数据统计分析师、业务分析师等角色,设定好大模型的角色、任务和目标,帮助用户完成某些职能。

  2. 记忆能力,依赖大模型本身的记忆能力和上下文能力,可以让大模型具记忆能力。通过该能力可以实现实现多轮对话功能,帮助用户实现上下文的多轮沟通以及问题的解决;也可将历史的进行经验记忆,面临问题的时候,可以基于这个经验去更好、更高效地完成相应的因果推断任务。

  3. 问题解决能力,大模型具备的思考和计划能力等解决问题的关键能力。对于用户提出的的问题,往往需要经过深思熟虑,最后再给出分析与回答。因此,大模型的思考能力非常重要,包括思考能力、计划能力、反思能力等。

  4. 工具应用能力。如果一个模型只能用于本身设计的问答系统中,那么它的应用能力就被限制了。得益于大模型的工具应用能力,使其能力得到了极大的拓展。大模型可以理解API,生成代码,进行搜索引擎,以及进行识别和检索。这些应用能力极大地提高了模型的实用性和灵活性。

  5. Coding 能力,这是现在大模型应用外部工具的主要手段。

  6. Action能力,大模型对于当前任务或会话,为业务用户提供简要回答、总结报告或具体操作的反馈。
    在这里插入图片描述

举一个具体例子,在营销领域中,往往注重分析投入产出比例,即ROI。可以通过智能代理询问数据的情况,以及它具有的特征含义,并获得相应的建议。其次,可以将ROI的计算交给智能代理,通过自然语言的方式进行外部数据输入,并进行ROI计算。九章云极开发和验证了智能代理反事实推断的能力,采用Uplift模型对未来事件进行预测和统计分析。如果是尝试面向决策,想举办一次营销活动并预算一定的金额,可以请求智能代理推荐相应的名单,并计算ROI。未来,智能推断的代理将完成各种领域的任务。

智能体代理嵌入因果推断能力具有非常大的优势。相比以往企业级的建模流程,需要经历场景需求、业务部门、建模团队和数据团队之间的沟通和加工,智能体代理以更友好的自然语言交流方式辅助业务人员进行实时的因果推断分析和决策,具有更好的实时性和业务友好性。因此,智能体代理的操作更加方便、智能,提升的工作效率。

▌LLM-Powered ABM助力因果推断

"LLM-Powered ABM"意为通过大预言模型模仿代理(或智能体代理),是一种具有类似人类行为的可信赖的虚拟实体,能够模拟人类的行为和决策,以便在虚拟环境中与用户或其他代理进行交互。这种智能体代理通常被用于模拟虚拟世界、仿真研究、自动化决策和其他应用中,对于提升用户体验、社会观察研究等有非常大的帮助。

LLM-Powered ABM旨在通过以大模型为基础的ABM去助力因果推断,ABM的核心是基于智能体或代理的仿真环境建模。在过去的建模中,ABM的建模方式主要依赖于规则和专家业务经验,但是,现在有了大模型,可以将其作为智能代理的核心,让大模型模拟人类行为和决策的行为,并构建一个仿真运行的生态。ABM有三个非常重要的优势:

  1. 虚拟助手,即它可以同时包含多个不同的智能代理,并且智能代理之间不需要满足ID条件,而是形成一个良好的智能体环境。多智能体代理可以用作虚拟助手,帮助用户解决问题、提供信息,或执行任务,如聊天机器人、虚拟客服等。
  2. 推演与决策,可以用于社会科学、心理学、经济学和其他研究领域,以模拟人类行为,进行实验和观察。ABM中因为有一个完整的环境,用户可以观察到整个环境下不同利润水平和购买理财产品等行为的变化。同时也可以进行相应的干预,向特定客户单独发送优惠券,或给银行一些指标设置优惠券,并观察它们在未来的运营和经济表现中的变化。
  3. 自动化决策和规划,在自动化领域,多智能体代理可以用于自动规划和决策,例如在公共交通领域中,自动驾驶汽车中的智能代理,或者供应链管理中的协调代理。
    在这里插入图片描述

选择LLM-Powered ABM的出发点在于它能够为因果研究和决策研究提供很多帮助。如上图基于大模型代理的ABM系统,其中包括许多不同的智能体。在智能体系统中,每个代理角色在不同的时间点会发生不同事件,系统会以自然语言形式产出多角色对话或故事。通过大模型可以对整个仿真环境产生的段落进行了数据的提取。

数据特性方面,ABM环境下具有以下3个特点:

  1. 数据完整性,可以获取更完整的特征,全部特征都可以被捕获并形成数据集,这在未来可以作为因果推断算法和决策研究的基础。

  2. 保存因果关系,在基于大模型的ABM系统中,不仅可以记录购买理财产品的行为,还可以存储当时客户的决策因子。真实业务中非常追求因果关系,这个关系可以从ABM系统中抽取出来。

  3. 反事实数据,ABM系统具有仿真实际数据的可干预性,这意味着可以不断地干预和推演整个环境。

基于大模型的ABM在仿真性方面有很大的优势,每个代理可以作为一个智能体代理来做个性化的经营决策。同时,可干预性也是非常重要的优势,这意味着可以尽可能地获取完整的数据,包括因果数据。

在项目中进行了实践和尝试,不仅能够获得决策建立的因果决策因子,还可以对决策因子进行排序。最后,可以获得反事实数据和时序反事实数据,相对于现有的相关研究,ABM的数据范围和视角有很大的优势。
在这里插入图片描述

相比传统数据获取,使用基于大模型的ABM时,数据获取有得天独厚的优势。比如受到成本和其他因素的限制,通常只能获取到真实世界全量数据Global Data中的一个非常小的子集。在ABM中,可以抽取因果关系,获取现实中无法观测到的数据,包括Global Data和Collectable Data都可以使用。ABM对于算法研究和业务推断都有非常大助力。
在这里插入图片描述
举个例子,对于因果效应估计应用和进行算法研究与评估,需要考虑几个方面,首先是确定用哪些数据来进行训练,其次利用什么样的数据来评估算法的准确性,最后需要选择评估指标,以保证算法的可靠性。

现在可以获取更多的特征,包括比如以前无法获取的客户喜好特征和家庭知识特征,都可以将它们纳入模型中,因此可以使用全量特征进行算法研究。在完整特征下进行评估时,可以从中提取更完整的因果关系。在评估阶段,更注重获取反事实结果并使用不同的评估方法。除了因果常用的一些序指标 (如AuuC和Gini) 和针对回归任务的RLoss,在ABM中获取的数据下,还可以使用更常见的Rmse等指标。在ABM下,可以将更多特征纳入模型,并在获得因果关系以及相关优先级信息后,使用这个视角去评估得出的因果估计算法的准确性。

基于大模型ABM获取的数据具有广泛的应用和研究价值,不仅适用于因果推断领域,也可以在统计分析、机器学习、贝叶斯网络、深度学习等领域中为带来助力。

▌YLearn & Causal Lab

最后,分享两个九章云极DataCanvas在因果方向开源的成果。
在这里插入图片描述

YLearn因果学习软件可以帮助用户完成因果推断的五个主要任务,包括因果发现、因果量的识别、因果效应估计、反事实推断和策略学习,其中也支持Uplift建模,用户可以一站式完成因果推断场景的所有任务。同时YLearn提供了非常简洁的API,大家可以轻易上手实践并落地。

YLearn因果学习软件GitHub地址:https://github.com/DataCanvasIO/YLearn

在这里插入图片描述

Causal Lab,交互式因果分析框架。这个框架以YLearn作为基础,可以帮助用户完成因果推断的全流程任务,包括因果发现,包括贝叶斯网络学习以及因果效应估计。其中非常有用的是提供了可视化工具,可以帮助用户进行因果发现的交互模式。框架融合了多种算法,并支持动态地学习过程,从而找到更精准的业务关系,以便于构建更精准的贝叶斯网络。用户还可以对因果关系进行相应的调整和修改。最后,该框架还提供了基于校验估计的探索。

Causal Lab GitHub地址:https://github.com/DataCanvasIO

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/261920.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

合伙企业的优缺点是什么

合伙企业的优缺点是什么 一、合伙企业的优点 合伙企业在资本扩张方面较个人独资企业更有优势。个人独资企业仅有一个投资人,尽管存在整个家庭财产成为个人独资企业资本来源的情形,但该类企业资本规模相对较小、抗风险能力较弱。为扩张资本,单…

通过U盘:将电脑进行重装电脑

目录 一.老毛桃制作winPE镜像 1.制作准备 2.具体制作 下载老毛桃工具 插入U盘 选择制作模式 正式配置U盘 安装提醒 安装成功 具体操作 二.使用ultrasio制作U盘 1.具体思路 2.图片操作 三.硬盘安装系统 具体操作 示例图 ​编辑 一.老毛桃制作winPE镜像 1.制作准…

基本数据类型变量间的运算规则、基本数据类型与String的运算

目录 一、自动类型提升 二、强制类型转换 三、基本数据类型与String的运算 1 字符串类型:String 2 运算规则 在Java程序中,不同的基本数据类型(只有7种,不包含boolean类型)变量的值经常需要进行相互转换。转换的方…

产品原型设计软件 Axure RP 9 mac支持多人写作设计

axure rp 9 mac是一款产品原型设计软件,它可以让你在上面任意构建草图、框线图、流程图以及产品模型,还能够注释一些重要地方,axure rp汉化版可支持同时多人写作设计和版本管理控制,这款交互式原型设计工具可以帮助设计者制作出高…

playbook变量的使用(二)

接上一章: 内置变量 变量的过滤器 31.9 内置变量hostvars hostvars用来显示指定主机的 fact变量,用法如下。 1 hostvars[ 主机名 ].键值 此变量一般用于,当某个play的 hosts 中只写了A主机组,但是同时想在此play中显示B 主机组中的信息,这…

Gradle中 Implementation 与API 声明依赖方式的对比

在Gradle中,implementation和api是声明依赖的两种方式,它们在如何暴露依赖关系方面有所不同: Implementation: 当一个模块使用implementation声明依赖时,该依赖仅对声明它的模块可见。这意味着该依赖对于该模块的消费者是隐藏的。…

回归预测 | MATLAB实现GWO-DHKELM基于灰狼算法优化深度混合核极限学习机的数据回归预测 (多指标,多图)

回归预测 | MATLAB实现GWO-DHKELM基于灰狼算法优化深度混合核极限学习机的数据回归预测 (多指标,多图) 目录 回归预测 | MATLAB实现GWO-DHKELM基于灰狼算法优化深度混合核极限学习机的数据回归预测 (多指标,多图&#…

如何通过ssh管道传输文件到ubuntu

📑Linux/Ubuntu 常用命令归类整理 如何在window系统中,通过ssh将指定的文件传输到ubuntu中呢? 比较常用的有以下种方式: 共享文件夹借助工具, FileZillaMobaxtermWinSCPXshell XFTP samba互传PuTTY pscp 今天主要…

【Mode Management】CanSM详细介绍

1. Introduction and functional overview AUTOSAR BSW栈为每个通信总线指定一个总线特定的状态管理器。CANSM实现CAN总线的数据流控制。CanSM隶属于通信服务层。CanSM和通信硬件抽象层以及系统服务层交互。 CanSM只用用于控制CAN通信。CanSM的任务就是操作CanIf模块去控制一个…

Python中abstractmethod的使用教程

更多资料获取 📚 个人网站:ipengtao.com 在Python中,抽象类和抽象方法提供了一种强制子类实现特定方法的机制。abstractmethod是abc(Abstract Base Classes)模块中的一部分,它允许定义抽象方法&#xff0c…

阿赵UE学习笔记——3、常用界面窗口

阿赵UE学习笔记目录 大家好,我是阿赵。继续学习虚幻引擎,这次介绍的是编辑器的常用界面窗口。 一、视口 这个视口的概念,可以体现出UE对于多屏幕同时显示是多么的友好。我们开发游戏的时候,一般都会同一台电脑用2个或者以上显示器…

Docker的安装和使用

目录 安装Docker 安装yum工具 更新本地镜像源 安装docker 启动docker 关闭防火墙 docker启动命令 配置镜像加速 docker的使用 拉取nginx 查看本地镜像 把镜像文件nginx导出成tar文件 查看是否导出成功 ​编辑 删除本地镜像nginx:latest 导入镜像文件nginx 拉取…

算法基础之快速幂求逆元

快速幂求逆元 核心思想&#xff1a; 逆元&#xff1a; 逆元 ap-2 mod p #include<iostream>#include<algorithm>using namespace std;typedef long long LL;LL pmi(int a,int b,int c){LL res 1;while(b){if(b & 1) res res * a %c;b >> 1;a (LL)…

java定义三套场景接口方案

一、背景 在前后端分离开发的背景下&#xff0c;后端java开发人员现在只需要编写接口接口。特别是使用微服务开发的接口。resful风格接口。那么一般后端接口被调用有下面三种场景。一、不需要用户登录的接口调用&#xff0c;第二、后端管理系统接口调用&#xff08;需要账号密…

基于vue与three.js,监听FPX(Stats类使用)

第一步&#xff0c;引入stats类并new出来 import Stats from three/examples/jsm/libs/stats.module.js; data(){return {stats : new Stats(),} } 第二步&#xff0c;添加dom mounted() {this.init3D();this.animate();window.addEventListener("keydown", this.…

Android 自动化测试——Monkey测试

Android自带了很多方便的测试工具和方法&#xff0c;包括我们常用的单元测试、Robotium测试、Monkey测试、MonkeyRunner测试、senevent模拟等。这些方法对于我们编写高质量的APP十分有用。也可以提前暴露我们程序的隐藏问题。今天给大家讲一下Monkey测试&#xff0c;Monkey测试…

Java中的时间日期类⭐️通过具体案例分析下开发中常用到的几种时间日期格式类的使用

小伙伴们大家好&#xff0c;系统中不少模块都要用到时间日期&#xff0c;来分析总结下项目中用到的些日期类 目录 一、时间日期类 1.java.util.Calendar&#xff1a; 2.java.util.Date&#xff1a; 3.java.time.LocalDate、java.time.LocalTime、java.time.LocalDateTime&…

[Encryptedd@mailfence.com].faust 勒索病毒肆虐:如何恢复被加密的数据文件?

导言&#xff1a; 在网络安全的战场上&#xff0c;[backupsairmail.cc].faust [Deciphermailfence.com].faust[Encrypteddmailfence.com].faust[support2022cock.li].faust [tsai.shenmailfence.com].faust勒索病毒是一种极具破坏性的恶意软件。本文91数据恢复将深入介绍该病毒…

HarmonyOS引导页登陆页以及tabbar的代码说明1

效果 以下代码是东拼西凑出来的。只是为了个人熟悉一下相关模块的使用&#xff1a; 用的知识点&#xff1a; Resouces 此部分分内容可以在项目中找到&#xff1a; resources/base/element/color.json 为项目着色配置&#xff0c;当然也可以正接在代码里写 float.json 为相关…

openGuass:极简版安装

目录 一、openGauss简介 二、初始化安装环境 1.创建安装用户 2.修改文件句柄设置 ​3.修改SEM内核参数 4.关闭防火墙 6.禁用SELINUX 7.安装依赖软件 8.重启服务器 三、安装数据库 1.下载安装包 2.创建安装目录 3.解压安装包 4.执行安装 5.验证安装 四、gsql工具…