1、DataFunConDataFunCon#20242024Fast-causal-inference Fast-causal-inference 腾讯开源分布式因果推断工具腾讯开源分布式因果推断工具演讲人-张婧婧-腾讯微信实验平台-数据科学家ContentsContents目录目录背景背景算子实现框架算子实现框架工程架构和性能工程架构和性能腾讯应用案例腾讯应用案例01 01 背景简介背景简介决决策策:因因果果推推断断增增长长:因因果果推推断断1.1.赋能传统的报表分析,提供赋能传统的报表分析,提供更准确的决策报表更准确的决策报表2.2.提高推荐系统准确性提高推荐系统准确性因果推断因果推断-赋能
2、业务决策与增长赋能业务决策与增长名称名称简介简介githubgithub公司公司分布式分布式/单单机机接口接口causalml一个用于因果效应估计的Python库,它实现了许多最新的因果推断算法https:/ Foundation单机单机pythonCausalNex一个用于因果推断和贝叶斯网络的Python库,它允许用户通过结构化的方法建立和评估贝叶斯网络。https:/ 2.手动实现因果推断算子难度大手动实现因果推断算子难度大举例,业务对一张亿级别的大表手动做T检验,分析点击率指标是否显著提升,需要以下计算流程:1.1.均值和方差估计均值和方差估计:sum(点击)/sum(曝光)2.T2.
3、T检验以及检验以及powerpower分析分析痛点:痛点:因果推断缺少分布式计算能力因果推断缺少分布式计算能力T T检验检验 检验出0.1%差异的概率(Power)(Power)1 1万万10001000万万1 1亿亿R包0.04爆内存爆内存分布式工具0.040.321 Causal Forest Causal Forest(MSE)(MSE)1 1万万100100万万1 1亿亿R包2.35爆内存爆内存分布式工具2.320.520.020 01 1我们的工作我们的工作 Fast-Causal-Inference:Fast-Causal-Inference:腾讯开源分布式因果推断腾讯开源分布式因
4、果推断工具工具 底层基于OLAPOLAP引擎和引擎和SQLSQL解析解析引擎的数据科学计算框架,在秒级处理数千亿行数据因果推断计算。例如,6 亿行的数据集执行 t 检验仅需 0.32 秒 采用SQL/python语言交互,方便分析同学使用 因果推断工具包,覆盖业内最常用的因果推断模型,已经有20+20+模型 https:/ All inin SQLSQL 02 02 算子实现框架算子实现框架0 01 1基础算子 统计量 重抽样 回归 匹配因果模型将常见因果模型分解成将常见因果模型分解成4 4大类基础算子,再对这些基础算子进行分解大类基础算子,再对这些基础算子进行分解 估计量与方差:delta
5、method;方差削减(后分层、CUPED);Bootstrap 假设检验:t检验;分位线检验;非参检验;permutation test 基于回归的检验:DID;IV;面板分析;合成控制 匹配:倾向得分匹配法;精确匹配 树相关模型的:因果树/Uplift Tree;因果森林 机器学习模型:meta learner;DML;DRL因果模型 IV工具变量方法举例举例回归1回归2技术技术1:1:因果模型的抽象因果模型的抽象0101实现基础算子时,我们将其拆分为f(X)和 g(x)的组合:costly costly fuctionfuction:O(n)量级的运算,例如sum/count/OLS中大
6、矩阵乘法,是分布式计算的主要优化目标是分布式计算的主要优化目标 cheap function:O(1)级别的运算,例如求导,小矩阵运算举例:线性回归举例:线性回归基础算子基础算子实现流程拆解实现流程拆解DAGDAG图图=()1()大矩阵乘法长度为 n 亿级别 的大矩阵小矩阵求逆,乘法=(),1(),1()()()(),1基础算子的运算分解基础算子的运算分解 ()()0 01 1我们在实现我们在实现f(X)f(X)的时候,通过数学推导转化成的时候,通过数学推导转化成splitable functionsplitable function,从而在我们的框架下去高效计算,从而在我们的框架下去高效计算