因果分析.科学实验评估

article/2025/5/10 23:28:46

目录

1. A/B Test原理

2. 实验分组划分

3.实验指标设计

4. 实验效果评估

5.离线指标测算

6.实验结果分析

不是每个想法都是好的,大部分想法都是不好的。

在互联网背景下,快速试错已经成为产品持续迭代的必备能力。借鉴传统行业(医学等)成熟的实验理论(因果推断),互联网逐渐发展了以AB Test为核心的数据驱动决策之路。在以下场景中可以考虑使用A/B Test:

  • 重大产品功能很难决策,不确定哪个方案效果最优。
  • "后验"成本高,如果改版失败,业务风险较大。

通过 abtest 系统对迭代方案进行实验, 并结合数据进行分析,反向再验证和驱动方案,是一个发现问题、提出假设、印证猜想、不断优化的过程,如下图:

1. A/B Test原理

维基百科对因果推断(Causal Inference)的解释:

维基百科-因果推断

中文释义:因果推断是指在一种现象已经发生的情况下推出因果关系结论的过程。比如说全球气候变暖,需要分析是什么因素导致的,各个因素对全球气候变暖影响有多大。

百度百科对因果推断(Causal Inference)的解释:

百度百科-因果分析

因果推断要做的是识别因果关系,量化因果作用。而这也是A/B测试要做的事情,即根据实验结果判断新版(B)相比原版(A)有无显著提升,如果有,提升了多少。

上面提到了因果关系,所谓因果关系(causality或causation),是一个事件(即"因")和第二个事件(即"果") 之间的作用关系,其中后一事件被认为是前一事件的结果。一般来说,一个事件是很多原因综合产生的结果,而且原因都发生在较早时间点,而该事件又可以成为其他事件的原因。

值得一提的是,在常用的机器学习算法中,更加关注的是特征之间的相关性,而无法识别特征之间的因果性,而很多时候在做决策与判断的时候,我们需要的是因果性。分析因果关系的目的是通过改变"因",从而对真实世界做出改变("果"),这也是与相关关系最大不同。

上面简明扼要的讨论了下因果推断,那么因果推断与A/B Test有什么联系呢? 传统的因果推断思想中,从因到果是一个封闭的系统。人们往往采用"控制"的方法,将影响结果的所有其他因素控制住,仅让关心的变量变化,这样结果的变化就是"关心的变量"造成的影响随机化实验方法就是"控制"其他变量不变的常用手段,因此随机化试验是因果推断的黄金法则,而A/B Test恰好是随机化试验在互联网的应用。

根据随机化实验的相关知识,如果实验组(B)和对照组(A)的实验结果指标有显著差异,那差异原因就来自于A、B两个不同版本(比如不同的文案、不同的按钮颜色、不同的推荐策略等) 而非其他,且A、B两版本差异的大小就是新的实验方案对结果指标带来的作用大小。

A/B Test是一个系统工程,互联网实际应用中多参考Google的分层实验模型《Overlapping Experiment Infrastructure: More, Better, Faster Experimentation》,如下图:

  • 不同域之间共享100%流量,如上域1分流30%,域2分流70%。
  • 同一个域的不同层之间,会重复使用这个域中的流量,且每次各层进入流量会重新打散,保证互相不影响。

完整的A/B Test是一个衡量->发现->迭代->验证的持续循环过程除去基本的分流和实验管理功能外,A/B Test还应该包括实验数据收集实验数据分析功能,系统流程如下:

盗图(如侵删)

  • AB实验配置平台:产品经理/研发配置新实验。
  • 分流服务:读取AB实验配置平台的配置数据,执行具体分流算法。
  • 集成方应用:客户端上报实验分组和埋点(实验数据回收)。
  • 数据分析:分析打点数据,生成报表数据。
  • AB实验展示平台:实验数据可视化,用于辅助决策。

目前的机器学习大多数情况下仅作为一种可以拟合数据的特别函数f(x)[p(y|x)],近年来将机器学习方法应用到因果推理[p(y|do(x))]逐渐成为研究热点。图林获奖者获奖得者Judea Pearl(另一作者Dana Mackenzie)的新书,《The Book of Why: The New Science of Cause and Effect》,将因果推断带入大家视野。

 

2. 实验分组划分

实验分组的成功与否直接影响实验的数据,从而影响到实验的结果和结论。

2.1 完全随机化分组

随机抽样一般借助Hash函数依据实验对象ID(Hash因子)将实验对象映射到实验分桶。

BucketID=Hash(实验对象ID,策略ID,流量层ID)%100+1

这样每个实验对象会得到唯一的BucketID,同时会随机均匀散落在[1,100]范围内。在大流量业务中(推荐、搜索等),完全随机化实验基本可以达到控制无关变量(消除无关变量影响)的目的。

2.2 分层随机抽样(Stratified sampling)

试验对象数量较小的情况下,比如2000量级左右,完全随机抽样可能无法保证试验分组的无偏性。比如,在网约车业务中,司机的做单能力存在天然差异且方差较大,此时采用随机抽样存在试验各分组司机做单能力存在较大差异的风险,进而影响策略效果评估。此时,可以考虑分层随机抽样,即先根据司机的历史做单能力将司机分为不同的分组,然后在各分组内再随机抽样。

2.3 时间片分组

传统业务中,比如推荐、搜索等,流量因子是相互独立的、随机的,服从独立同分布。但是在O2O业务中,比如外卖、网约车等,实验对象(骑手、商家、司机等)面临着复杂的线下环境,由于存在一定程度的竞争关系,使得实验对象不再独立,此时传统的实验方式可能会存在问题。一种解决方法是采用时间片轮转分组方法。示意图如下:

2.4 分组合理性评估(A/A Test)

实验分组方案确定后正式实验开始前,在有条件的情况下可以通过A/A Test确认分组间的无偏性,即是否控制住了无关变量

所谓的A/A Test是指实验组与对照组采用相同的策略,用来验证试验分组是否存在天然的差异(比如点击率、平均阅读时长、留存、人均GMV、司机做单能力等)。

2.5 实验分组比例设计

根据不同 目的和实验风险,选择不同的实验划分方案,如下图:

盗图(如侵删)

3.实验指标设计

在试验开始前,我们需要确认关心的若干指标,如点击率、转化率、播放时长、GMV 、客单价等。通常试验指标的确定与公司业务发展战略有关,在公司不同的发展阶段,试验指标的侧重点也会有所不同。同时指标要有权威性完备性,所谓权威性是指技术同学与业务同学就指标的定义达成一致,使得实验结果更具说服力;所谓完备性是指能完整的描述整个实验流程,以辅助AA分组和实验效果分析

3.1 指标漏斗

业务漏斗示例

为了保证实验指标的完备性,可以用业务漏斗对流程建模,然后分析出每个阶段需要关心的指标。进一步可以用业务拆解公式检验指标的完备性,示例图如下:

业务拆解公式

更多的可以参考:

PM推荐总结(三)--以电商行业为例,谈谈如何建立个性化推荐数据指标体系​coffee.pmcaff.com

 

数据分析师如何搭建数据运营指标体系?​www.zhihu.com重新上传取消图标

3.2 中间(过程)指标与结果指标

中间指标与结果指标

结果指标通常以"产出"为导向,易于衡量,但难以改善或影响;中间(过程)指标通常以投入为导向,难以衡量,但易于分析和影响

 

3.3 面向多目标的指标设计

策略的设计通常要兼顾多目标,因此指标设计也要支持多目标。

比如在网约车中,需要兼顾多方的利益:

  • 乘客,比如应答时长、接驾时长、行驶距离等。
  • 司机,比如接驾距离、送驾距离等。
  • 平台,比如订单量、GMV等。

还比如在短视频推荐系统中,同样需要兼顾各方的利益:

  • 内容消费者,比如点击率、完播率、消费时长等。
  • 内容生产者,比如曝光量等。
  • 平台,比如拉活量、留存率、广告营收等。

 

3.4 长期指标与短期指标

长期指标与短期指标反应的是系统的长期目标(比如用户留存)与短期目标(比如平台营收),例如推荐系统长期目标是提升活跃度(用户留存),保证推荐系统健康运转,短期目标为提升转化。不能为了短期目标的增长而忽略了长期目标

 

3.5 模型指标与业务指标

算法指标有准确率、召回率、AUC值等,这些指标好并不能说明业务指标表现好,因为算法模型只是对数据的拟合。产品更应关注的是产品侧的核心指标,判断是否能驱动业务发展,并及时调整策略。最后,数据指标再详细,都无法替代人工抽样评测,也就是需要用研同学定期访谈平台用户获得用户对平台的真实体验和意见

 

4. 实验效果评估

实验结果示例

观察数据,这次实验我们通过策略A使得指标X提升了Y%,并且没有对其他的指标产生影响。因此我们可以得出结论: Q场景下,我们可以通过策略A使得指标X提升Y%。

当我们听到上面的结论时,可能会有两个疑问:

  • 指标提升时如何算出来的?
  • 结论的可信度是多少(靠不靠谱)?

 

4.1 实验效果评估

4.1.1 平均因果效应评估(Average Causal Effect)

通俗讲就是,实验组和对照组分别取平均值作为实验结果,实事上我们默认也是一直是这么做的。下面简单形式化描述一下。

假设参与试验的N个实验对象中有Nt个分配到实验组(treatment group),Nc个在控制组(control group),那么实验组和控制组的平均潜在结果分别是:   

 

 

4.1.2 DID双重差分(Differences-in-Differences)

DID 双重差分是对"平均因果效应评估"的改进,目的是进一步控制无关变量。采用双重差分法,必须分别获取实验组与对照组在实验前后两个时段的数据。

顾名思义,这种方法需要两个差异数据,一个是实验前后的"差异",另一个则是实验组与对照组的"差异"。如下图所示:

这里有一个比较好的例子,搬过来简述一下:

什么是双重差分模型(difference-in-differences model)?​www.zhihu.com

以珠宝店为例,假设在全国所有店铺中,A地区的店铺在2015年投放了广告,而B地区的店铺在同一时期没有投放广告。B地区店铺2014年12月的销售额为600万日元,2015年12月的销售额为800万日元。如下:

盗图(如侵删)

需要特别注意的是,在没有人为因素干扰下实验组和对照组的变化趋势是一致的(下图"平行"的含义)。如下图:

盗图(如侵删)

通过上图可以看到,DID相比于简单"平均因果效应评估"的优势在于不要求实验组和对照组在实验前完全一致,只要求变化趋势一致。回忆下A/A Test中提到的图:

 

最后思考下,如果增长趋势的条件也不满足(无法使用DID),可以怎么办呢? 这是一个比较大的话题,比如可以考虑PSM(Propensity Score Matching)等。

基于倾向值匹配法的观察数据因果推断研究 - 百度学术​xueshu.baidu.com

 

4.2 假设检验

本小节需要回答的是,实验效果评估的结论是否显著,也就是靠不靠谱?

先来举一个简单的例子(百度百科):

假设有一袋豆子,其中有红豆和黑豆,请问红豆和黑豆的数量是不是一样的? 若挨个去数怕是不现实的。于是可以偷个懒,从袋子里随意抓一把豆子,数下这把红豆多还是黑豆多。用这把豆子作为样本,去推断整袋豆子既然用样本推断总体,就有抽样误差的可能性。不管袋子里红豆多还是黑豆多,这一把不一定能真实反映这袋豆子,这时就要用到假设检验了。

细说假设检验之前,先了解下小概率事件。统计上认为,如果一件事情发生的可能性小于0.05,就可以定义为小概率事件,也就是说,在一次研究中该事件可以认为不会发生。

回到豆子的话题,现在是想通过样本(一把豆子)去推断总体(一袋豆子)。先做一个假设 H0 ,一般是我们特别不想承认的那种可能,也称无效假设和无效假设对立的是备择假设  ,是无效假设的对立面。于是对于上述问题,无效假设备择假设分别是:

无效假设: 袋子里红豆和黑豆一样多。

备择假设: 袋子里红豆和黑豆不一样多。

假定袋子里有100个豆子,50个红豆,50个黑豆。随便抓的这把豆子有3个红豆,7个黑豆。

在无效假设 H0成立的前提下,也就是说红豆黑豆一样多的基础上,能拿到3个红豆、7个黑豆的概率为:

 

因此,在红豆和黑豆一样多的假设下,拿到3个红豆7个黑豆的可能性为0.11,着并不是小概率事件(<0.05),说明所做的假设是可以成立的,还没有理由能拒绝无效假设 H0 。

再次假定袋子里有100个豆子,50个红豆,50个黑豆。抓的这把豆子有1个红豆,9个黑豆。同样,在无效假设 H0 成立的前提下,概率为:

这告诉我们,在红豆和黑豆一样多的假设下,拿到1个红豆9个黑豆的可能性为0.007<0.05,为小概率事件,在一次研究中是不应该发生的,而现在发生了,可能是所做的假设有问题,有理由拒绝无效假设  ,那么备择假设就是成立的。

如果结论置信,我们就能够得到A和B在哪些指标更好(有显著性差异); 对于不置信的结论,尽管A和B的指标可能略有差异,但可能是数据正常波动产生。

在前面的"豆子"问题中,我们假设随机抓取服从伯努利分布,并在此基础上计算概率值(p-value),如下图:

在实践中,数据的分布比较复杂,通常根据需求灵活构造统计量。下面举例说明。

  • 均值指标假设检验

实验中很多指标属于均值对比,比如GMV、人均阅读时长、人均点击量等。均值对比的假设检验方法主要有Z检验T(Student's t test)检验,它们的区别在于Z检验面向总体数据和大样本数据,而T检验适用于小规模抽样样本

 

如何理解T检验的物理含义:

均值(分子)本身能刻画的分布的信息是有限的,T检验在均值的基础上引入分布的离散性度量-方差(分母)也就是说,在均值差异越大,分组内分布越集中的情况下T值越大,说明实验结果越显著。为了方便理解和统一使用,需要将T值转换成对应的p值,p值越小,代表没有足够的理由去接受原假设。

下面是T检验的示例代码:

import scipy.stats as st
a = [99.3, 98.7, 100.5, 101.2, 98.3, 99.7, 99.5, 102.1, 100.5]
b = [91.1, 93.7, 93.6, 96.1, 94.3, 92.2, 94.0, 95.7, 97.1]
st.ttest_rel(a, b)
--Out Ttest_relResult(statistic=10.845107419335658, pvalue=4.617509769582176e-06)

p-value << 0.05,说明a和b的差异是非常显著的。

小结一下,Z检验适用于总体的标准差已知,且样本数量大。而T检验适用于不知道总体的标准差(用样本的标准差来代替),且适用于样本小的情况,这是它跟Z检验的差别。能使用Z检验的一定可以用T检验,但是适用T检验的不一定适用Z检验。如下图:

更多示例参考:

假设检验--Z检验、t检验_ws19920726的博客-CSDN博客​blog.csdn.net图标

  • 比值(率)指标假设检验

实验中很多指标属于比值指标对比,比如CTR、完播率等,此时可以采用Z检验,构造统计量如下:

参考一个简单的例子(https://blog.csdn.net/buracag_mc/article/details/74905483):

公式推导:

根据中心极限定理:

又根据正太分布性质:

综上,假设检验的步骤:

  • 提出假设
  • 确定适当的检验统计量
  • 规定显著性水平
  • 计算检验统计量的值
  • 做出统计决策

参考资料:

3. 常见分布与假设检验_weixin_46737216的博客-CSDN博客​blog.csdn.net图标

5.离线指标测算

尽管A/B Test极大降低了试错成本,但还是要尽量避免无效实验,以免误伤用户。因此,在实践中,离线指标评测(测算)需要与A/B Test并用。先通过离线测试(测算)筛选出比现有模型A模型效果好的模型,然后再进行线上的A/Btest。

离线指标评测(测算)的优势:

  • 缩短了策略迭代闭环。
  • 不会影响线上用户真实体验。
  • 效率较高,可以快速验证大量算法策略。

劣势:

  • 不能反映用户对算法策略的真实感受。
  • 不能得出真实的业务指标。

因此,离线指标测算通常作为评价算法效果的辅助指标。在实践中关键是要找到和真实线上业务指标正相关离线指标一个典型的例子是,推荐中评价列表的NDCG离线指标。下图是Airbnb在推荐排序模型迭代过程中所体现的NDCG离线指标线上业务指标的趋势关系。

在某些业务场景中(比如外卖、网约车等),实验成本较高,有条件的公司还会搭建离线仿真系统

 

6.实验结果分析

刚刚接触机器学习的同学往往执着于模型的迭代,却忽视了对实验数据的分析,导致不能依据业务特点有针对性的做策略改进。本小节简单介绍下实验数据分析的思路。

6.1 分析维度确定

孤零零的一个实验指标,是很难发现数据背后隐藏的问题的。为了更清楚的看清问题,我们还需要从多个维度出发,比如用户、内容、访问来源等,拆解指标,定位问题。多维度分析能够让我们更清晰的挖掘出数据表象背后的真实原因。维度示例图如下:

维度示意

6.2 收益来源分析

当某个实验指标取得正向收益时,可以对实验指标按照某维度(或多维度)拆分,看下正向收益的来源是什么。

比如,在某短视频推荐业务中,上线精排模型后,用户消费时长取得正向收益。按照视频类型(健康、开心、综艺、新闻等) 维度拆分后,可以看到用户时长的正向收益主要来源于某一类别(开心)消费时长的增加。此外通过分析,同时对用户的行为也有了更深刻的认知。

另外,还可以对用户按照年龄维度拆分,如果发现年轻人实验组好于对照组中年人实验组差于对照组,此时可以分人群采用差异化策略的方案

6.3 损失原因分析

当某个实验指标负向时,同样可以对实验指标按照某维度(或多维度)拆分,排查下负向的原因。

比如,在某短视频推荐业务中,上线精排模型后,实验组用户分享量相比对照组负向。按照视频类型(健康、开心、综艺、新闻等) 维度拆分后,可以看到用户分享量的负向主要是某一类别(比如新闻等)分享量的减少。说明用户的真实阅读意愿和分享意愿存在较大的差异,比如对于"明星八卦"的文章可能会阅读完成,但不会去分享(太low);对于新闻、科技类的文章可能会去分享(表达自己对科技的关注),但不会阅读完成(以后再看)。

6.4 Badcase分析

机器学习模型是对概率的预估,最后得到的是兼顾大部分的次优解,并不是覆盖全部用户的最优解;同时模型的训练数据也是有偏的(噪声),导致学习出来的模型也是有偏的。

盗图(如侵删)

常见Badcase:

  • 推荐多样性不足。
  • 高质量商品曝光量不足。
  • 高点击率低转化率的商品排到前面。
  • 竞品对比差异。
  • 不合规内容。
  • ... ...

 

通过以上分析,可以使得线上模型更具有可解释性,首先为下一步的扩量提供了数据支持,其次为策略优化提供了方向。

 

参考资料:

1.实验评估

实验评估 - 百度文库

2.常用实验设计类型和方法

http://www.doc88.com/p-717866720114.html

3.数据分析的3大阶段6大步骤

https://zhuanlan.zhihu.com/p/65647484

4.最真实干货!滴滴的数据分析原来是这样做的!

https://zhuanlan.zhihu.com/p/192932233

5.数据分析理论系列——方案线上测试A/Btest

https://zhuanlan.zhihu.com/p/126785669

6.数据分析36计(七):营销增益模型(uplift)如何识别营销敏感用户群,Python实现

https://zhuanlan.zhihu.com/p/142996170

7.超详细的数据分析入门手册,快来pick一下!

https://zhuanlan.zhihu.com/p/73277641

8.通过数据分析,发现“用户评论”的价值

https://zhuanlan.zhihu.com/p/110549877

9.常用实验设计方法有哪些?

https://zhuanlan.zhihu.com/p/49479519

10.实验设计的三要素和六原则

https://www.biomart.cn/experiment/628/629/768/234072.htm

11.A/B test应用调研——让最佳推荐一眼万年

https://www.sohu.com/a/259754506_556060

12.如何设计一个 A/B test?

https://blog.csdn.net/Tencent_TEG/article/details/105108513

13.A/B test 平台架构设计

http://www.woshipm.com/pd/3183122.html

14.A/B测试系列文章之A/B测试背后的科学原理

https://zhuanlan.zhihu.com/p/83556713

15.【综述长文】因果关系是什么?结构因果模型入门

https://zhuanlan.zhihu.com/p/33860572

16.推荐系统衡量:ABtest 框架

https://www.infoq.cn/article/BuP18dsaPyAg-hflDxPf

17.Overlapping Experiment Infrastructure : More, Better, Faster Experimentation

18.如何快速上手 AB Testing ?

https://www.infoq.cn/article/YHQ2WRoh6cxE8oyoJD6F

19.【A/B测试算法大揭秘】第三篇:如何分析试验数据

https://zhuanlan.zhihu.com/p/21829614

20.数据分析师如何搭建数据运营指标体系?

https://www.zhihu.com/question/315972357/answer/1223490295

21.因果推断(简介)

https://blog.csdn.net/qq_36153312/article/details/102781633

22.获得更好用户体验的必杀器—A/B实验统计学秘籍

https://www.infoq.cn/article/PSIqQJMt6MhwYkz116OB

23.【A/B测试算法大揭秘】第三篇:如何分析试验数据

https://zhuanlan.zhihu.com/p/21829614

24.数据分析师如何搭建数据运营指标体系?

https://www.zhihu.com/question/315972357/answer/1223490295

25.Bad Case方法论

https://zhuanlan.zhihu.com/p/148476667

26.统计学:统计分析模型

https://zhuanlan.zhihu.com/p/123951353

27.ABtest 平台框架

http://xuyushi.github.io/15299133098793.html

28.abtest-system后台系统设计与搭建

https://blog.csdn.net/wangyiyungw/article/details/82491005

29.美团配送A/B评估体系建设实践

https://tech.meituan.com/2020/05/28/peisong-a-b-test.html

30. 统计学:统计分析模型

https://zhuanlan.zhihu.com/p/123951353

31.聊聊因果推理、反事实逻辑和Do-calculus

https://zhuanlan.zhihu.com/p/49370898

32.数据分析师如何搭建数据运营指标体系?

https://www.zhihu.com/question/315972357/answer/1223490295

33.个性化推荐产品的核心指标有哪些?

http://www.woshipm.com/pmd/577849.html

34.PM推荐总结——以电商行业为例,谈谈如何建立个性化推荐数据指标体系

https://coffee.pmcaff.com/article/1254963958458496/pmcaff

35.案例|推荐系统的评估指标

https://blog.51cto.com/13945147/2435372

36.推荐系统之实验、评测及结构

https://blog.csdn.net/humothetrader/article/details/81630608

37.数据指标_漏斗转化篇

http://wiki.tanyu.mobi/doku.php/%E6%95%B0%E6%8D%AE%E6%8C%87%E6%A0%87_%E6%BC%8F%E6%96%97%E8%BD%AC%E5%8C%96%E7%AF%87

38.推荐系统相关效果评测指标总结

https://cloud.tencent.com/developer/article/1377723

39.从Elsagate看推荐系统的局限

https://www.jianshu.com/p/976d940a1728

40.【综述长文】因果关系是什么?结构因果模型入门https://zhuanlan.zhihu.com/p/33860572

41.如何应对老板和业务方的灵魂拷问?

http://www.360doc.com/content/20/0827/08/7673502_932423803.shtml

42.16种常用的数据分析方法汇总

http://www.itongji.cn/detail?type=1086

43.数据分析的几种方法论模型和指标体系

https://www.sohu.com/a/148799549_572440

44.清华崔鹏团队KDD论文一作解读:在大数据背景下进行因果效应评估

https://www.leiphone.com/news/201709/So7orellPea2qtgD.html

45.从0到1,Airbnb的深度学习实践经验总结

https://zhuanlan.zhihu.com/p/90167106

46.Airbnb搜索:重排序阶段如何优化搜索结果多样性?

47.多分类模型Accuracy, Precision, Recall和F1-score的超级无敌深入探讨

https://zhuanlan.zhihu.com/p/147663370

48.因果推断数据分析实战

https://zhuanlan.zhihu.com/p/171703047

49.双重差分法(DID)介绍

https://zhuanlan.zhihu.com/p/48952513

50.分析Booking的150种机器学习模型,我总结了六条成功经验

51.电商特卖商品库存优化分析

https://www.jianshu.com/p/12e8eeff2539

52.因果推断数据分析实战

https://zhuanlan.zhihu.com/p/171703047?utm_source=wechat_session

53.什么是固定效应和随机效应模型?

https://zhuanlan.zhihu.com/p/126706627

54.什么是双重差分模型(difference-in-differences model)?

https://www.zhihu.com/question/24322044/answer/27534813

55.Airbnb2019: 深度学习在搜索排序业务中的探索与演进【阅读笔记】

https://zhuanlan.zhihu.com/p/110026390

56.【2018-Airbnb】Applying Deep Learning To Airbnb Search

https://tracholar.github.io/wiki/machine-learning/airbnb-dnn-rank-2018.html

57.AB测试中的因果推断—随机化分流

http://www.woshipm.com/pmd/4085759.html

58.16种常用的数据分析方法汇总

59.倍分法DID详解

https://zhuanlan.zhihu.com/p/92386262

60.双重差分的理论与实践

https://www.jianshu.com/p/b2d1d512db0c

61.浅谈假设检验

https://zhuanlan.zhihu.com/p/133421983

62.几种常见的假设检验 +

https://blog.csdn.net/myl1992/article/details/45362313

63.数据分析必备统计学(二):假设检验

https://baijiahao.baidu.com/s?id=1629858003935285309&wfr=spider&for=pc

64.如何理解Z检验和T检验?

胡保强:如何理解Z检验和T检验?

65.A/B-test显著性检验

https://blog.csdn.net/buracag_mc/article/details/74905483

66.【系列】统计基础(2)简单理解t检验与z检验

https://www.jianshu.com/p/6973ebe1362a

67.几种常见的假设检验

https://blog.csdn.net/myl1992/article/details/45362313

68.假设检验之z-检验,t-检验,卡方检验

https://blog.csdn.net/tianguiyuyu/article/details/80789856

69.用 python 做 z 检验,t 检验

https://blog.csdn.net/robert_chen1988/article/details/103378351

70.统计学(二):假设检验导论 (深入浅出超详解,附Python 代码);置信区间与 Z 检验先修

https://blog.csdn.net/weixin_43329700/article/details/104608731

71.获得更好用户体验的必杀器——A/B实验统计学秘籍(上)

https://www.infoq.cn/article/PSIqQJMt6MhwYkz116OB

72.因果推断(causal inference)是回归(regression)问题的一种特例吗?

https://www.zhihu.com/question/266812683?sort=created

73.常用实验设计方法

https://wenku.baidu.com/view/5d152bf31b37f111f18583d049649b6648d70992.html?fr=search-1_income5#

 


http://chatgpt.dhexx.cn/article/M2sY41ST.shtml

相关文章

因果关系分析方法

因果关系推断&#xff0c;可以说是数据分析领域最难的问题之一&#xff0c;争吵很多年也没有定论。经常同学们被问到&#xff1a;“到底这个问题的原因是什么&#xff01;”都会觉得分析起来很挠头&#xff0c;今天我们系统讲解下。 1 常见方法1&#xff1a;拆解法 最常见的用…

因果分析来了!

我是小z&#xff0c;也可以叫我阿粥~ 本文的分享主题为观测数据因果推断&#xff0c;希望通过本文可以让大家对观测数据因果推断有一个整体的了解&#xff0c;明晰当前观测数据因果推断的困境和主要处理方法&#xff0c;以及在特定问题中的一套通用解法。 具体将围绕以下3部分展…

因果分析:原理、方法论、应用

什么是因果分析&#xff1f; 因果分析(Causal Analysis)是分析彼此之间的因果关系。 因果推断(Causal Inference)是基于原因推结果&#xff0c;是因果分析的一部分。 因果分析是数据分析、数据科学中重要的方法&#xff0c;广泛应用于A/B实验&#xff0c;异常分析&#xff0…

C语言有负号的除法以及求余运算规则

举例说明 abc…d 1753…2 被除数除数商…余数 有负号的运算规则 求: -17除以5的商和余数17除以-5的商和余数-17除以-5的商和余数 答: abc…d 用a代表被除数,用b代表除数,用c代表商,用d代表余数. c的数值是|a|/|b|,c是正号还是负号由a和b的负号数量决定;d的正负号和a相同…

C语言取余问题

如果 % 左边的操作数是正数&#xff0c;则取余的结果为正数或零&#xff1b;如果 % 左边的操作数是负数&#xff0c;则取余的结果为负数或零。 例如代码运行如下&#xff1a; 主代码&#xff1a; #include<iostream> using namespace std; int main() {cout<<(13…

c语言怎么对大数求余,C语言:大数取余

大数取余数(数组) 今天做学校的oj时遇到一题&#xff0c;问题可见一下截图&#xff1a; 查遍各大论坛&#xff0c;都没有遇到合适的方法&#xff0c;普通方法不可用&#xff0c;要采用数组的形式。 被除数超过long long类型&#xff0c;不能采用常规思路&#xff0c;否则会出现…

C语言--求余问题

C在线工具 | 菜鸟工具 在c语言中&#xff0c;如果 a为一个四位数 那么a%1000/100是啥&#xff1f; 假设a的值为1345&#xff0c;那么当计算a%1000时&#xff0c;值为345 #include <stdio.h>int main() {int a 1345;int b a%1000;printf("%d",b); } 而345/…

软件开发流程图

文件下载https://download.csdn.net/download/weixin_43250197/12243113

嵌入式软件开发的特点和流程

嵌入式软件就是嵌入在硬件中的操作系统和开发工具软件&#xff0c;被广泛应用于工业控制、消费电子、医疗、通信等领域&#xff0c;我们常见的手机、电脑、数码相机等都运用到了嵌入式软件技术。为了确保嵌入式系统的运行&#xff0c;嵌入式软件迅速崛起&#xff0c;在整个软件…

一套完整的软件开发流程是怎样的?

​做什么事都需要一个流程&#xff0c;软件开发也不例外。 那么&#xff0c;一个软件从无到有到底是怎么开发的&#xff1f;一个软件产品的结果为什么是这样&#xff1f;为什么开发的速度不能再快一点。为什么程序员大多秃顶&#xff1f;他们有那么忙吗&#xff1f;完整的软件…

汽车软件V流程开发

1.系统需求分析 调研并输出系统需求文档 2.系统架构设计 通常和第一步并行&#xff0c;并在系统需求文档中体现。第1和第2步都是系统层级的&#xff0c;下面应该分软件和硬件两个分支&#xff0c;这里我们只关注软件这个分支。 3.软件需求分析 输出软件需求文档&#xff0…

详解自动驾驶安全软件开发流程

1 引言 自动驾驶汽车开发越来越重视性能、质量和性价比&#xff0c;自动驾驶口碑成为新技术应用取得市场成功的关键&#xff0c;而口碑的建立依赖于相关软件开发流程、周期、时间和质量。一家汽车企业只有拥有或者其软件开发供应商具有成熟的软件开发团队、软件开发流程、可复用…

软件开发流程:需求评审流程

1 常规需求 图1 常规需求评审流程 2 非常规需求 图2 非常规需求评审流程 3 紧急需求 图3 紧急需求评审流程

软件开发流程知识概括

软件开发流程知识概括 软件开发流程简述开发流程详解软件开发流程涉及的图软件开发总结 软件开发流程简述 研发流程简述&#xff1a; 研发流程详解&#xff1a; 需求提出&#xff1a; ①这个环节主要是产品爸爸给我们提需求&#xff0c;每个需求都是他们从用户&#xff0c…

软件开发的一般流程是什么?

软件开发流程分为: 需求确认——概要设计——详细设计——编码——单元测试——集成测试——系统测试——维护 软件开发是一项包括需求捕捉、需求分析、设计、实现和测试的系统工程。软件一般是用某种程序设计语言来实现的。通常采用软件开发工具可以进行开发。软件分为系统软…

python----列表操作

1. append(添加&#xff0c;添加的类型不变) a [1, 2] b [3, 4] c a.append(b) print(a--->, a) print(b--->, b) print(c--->, c)2. extend(末尾添加&#xff0c;会合并成一个列表) a [1, 2] b [3, 4] c a.extend(b) print(a--->, a) print(b--->, b) …

python——列表基础操作

1.列表的格式 列表的相关操作&#xff1a; 2.添加append()列表里面包含列表: extend和append的区别&#xff1a;append的最终列表中添加的是一个元素&#xff0c;extend的最终列表中显示的是追加的多个元素 第二种方式extend(): 指定对应索引新增数据insert&#xff1a; &am…

在python中、列表中的元素可以是_Python列表操作集合

对于python列表里元素的操作主要分为以下几个方面&#xff1a; 1、向列表里面加元素&#xff1b; 向python列表里面添加元素主要有三种方法&#xff1a; &#xff08;1&#xff09;append&#xff08;&#xff09; append()对于列表的操作主要实现的是在特定的列表最后添加…

python使用下标可以修改列表的元素值吗_Python列表操作最全面总结

1.列表添加元素 列表中可以使用append、insert、extend方法实现元素的添加。 append会把新元素添加到列表末尾 A = ["a", "b", "c"] A.append("d") print(A) 输出 [a, b, c, d] insert(index, object) 在指定位置index前插入元素objec…

Python列表操作常用函数、方法大全

目录 简介列表基本方法访问列表元素&#xff08;即索引&#xff09;index方法enumerate()函数 在列表中添加元素append方法insert方法 修改列表元素删除列表元素del语句pop()函数remove方法 列表排序sort方法sorted()函数reverse方法 列表长度 len()函数列表转换 列表高阶操作数…