AB实验_如何计算P值、效应量和统计功效

2023-11-11 01:44

本文主要是介绍AB实验_如何计算P值、效应量和统计功效,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

做AB实验的核心过程就是做一个假设检验,为了让这个假设检验可以支持接下来的决策,我们通常需要计算三个值,P值、效应量和统计功效。

P值跟显著性水平比较(一般取0.05),若结果具有统计显著性(P<0.05),那么还需要继续计算其效应量(Effect_size);如果结果不具有统计显著性(P<0.05),并且还需要继续进行决策的话,那么需要计算功效(Power)。

P值

P值的含义就是在原假设的分布下,出现实验样本情况的概率。

通俗地讲就是,我假设你就是一个成绩普通的学生(假设普通学生的成绩f服从均值70分,标准差10分的正态分布),然后随机抽取了你的几次成绩,一算下来平均90分。那么在均值是70分,标准差是10分的分布情况下,抽取到90分的概率P=(1-95%)/2=2.5%。

在假设检验中,我们通常使用各种参数检验或者非参数检验来计算P值。

效应量(effect size)

效应量代表样本间差异大小的指标,毕竟世界上没有两篇一毛一样的叶子,只有样本足够多,一定可以检测出任务两类样本的显著差异。

这个时候就需要结合效应量来看,这个显著带来的收益有多大,是否有意义。举个例子,【某团队花费了很大的成本,新app的发布成功地让用户使用app的开启速度显著提高了0.01ms。】这里我们就要打个问号?虽然显著,但是0.01ms这个效应量太小了,用户根本无感知,这是值得的吗?
效应量通常用三种方式来衡量:(1) 标准均差(standardized mean difference),(2) 几率(odd ratio),(3) 相关系数(correlation coefficient)。

统计功效

在原假设是错误的情况下,正确拒绝原假设的概率,记作1-β。

通俗地讲就是一个策略其实有用,但大家普遍相信某个策略没啥作用的时候,你能指正他们,指出这个策略实际上是有作用的概率。

根据显著性水平α,效应量和样本容量n,计算功效。

  • 样本量 (n):其他条件保持不变,样本量越大,功效就越大。
  • 显著性水平 (α): 其他条件保持不变,显著性水平越低,功效就越小。
  • 两总体之间的差异:其他条件保持不变,总体参数的真实值和估计值之间的差异越大,功效就越大。也可以说,效应量(effect size)越大,功效就越大。

(可用G*Power或Statsmodels计算)

> 单样本t检验:statsmodels.stats.power.tt_solve_power(effect_size=None,
> nobs=None, alpha=None, power=None, alternative='two-sided')
> 
> 独立样本t检验:statsmodels.stats.power.tt_ind_solve_power(effect_size=None,
> nobs1=None, alpha=None, power=None, ratio=1.0,
> alternative='two-sided')
> 
> 卡方检验:statsmodels.stats.power.GofChisquarePower.solve_power(effect_size=None,
> nobs=None, alpha=None, power=None, n_bins=2)
> 
> F检验:statsmodels.stats.power.FTestPower.solve_power(effect_size=None,
> df_num=None, df_denom=None, nobs=None, alpha=None, power=None, ncc=1)
> 
> 方差分析:statsmodels.stats.power.FTestAnovaPower.solve_power(effect_size=None,
> nobs=None, alpha=None, power=None, k_groups=2)

附录

如何计算假设检验的功效(power)和效应量(effect size)?

这篇关于AB实验_如何计算P值、效应量和统计功效的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/386716

相关文章

Python并行处理实战之如何使用ProcessPoolExecutor加速计算

《Python并行处理实战之如何使用ProcessPoolExecutor加速计算》Python提供了多种并行处理的方式,其中concurrent.futures模块的ProcessPoolExecu... 目录简介完整代码示例代码解释1. 导入必要的模块2. 定义处理函数3. 主函数4. 生成数字列表5.

详解如何使用Python从零开始构建文本统计模型

《详解如何使用Python从零开始构建文本统计模型》在自然语言处理领域,词汇表构建是文本预处理的关键环节,本文通过Python代码实践,演示如何从原始文本中提取多尺度特征,并通过动态调整机制构建更精确... 目录一、项目背景与核心思想二、核心代码解析1. 数据加载与预处理2. 多尺度字符统计3. 统计结果可

Java计算经纬度距离的示例代码

《Java计算经纬度距离的示例代码》在Java中计算两个经纬度之间的距离,可以使用多种方法(代码示例均返回米为单位),文中整理了常用的5种方法,感兴趣的小伙伴可以了解一下... 目录1. Haversine公式(中等精度,推荐通用场景)2. 球面余弦定理(简单但精度较低)3. Vincenty公式(高精度,

windows和Linux使用命令行计算文件的MD5值

《windows和Linux使用命令行计算文件的MD5值》在Windows和Linux系统中,您可以使用命令行(终端或命令提示符)来计算文件的MD5值,文章介绍了在Windows和Linux/macO... 目录在Windows上:在linux或MACOS上:总结在Windows上:可以使用certuti

Pandas中统计汇总可视化函数plot()的使用

《Pandas中统计汇总可视化函数plot()的使用》Pandas提供了许多强大的数据处理和分析功能,其中plot()函数就是其可视化功能的一个重要组成部分,本文主要介绍了Pandas中统计汇总可视化... 目录一、plot()函数简介二、plot()函数的基本用法三、plot()函数的参数详解四、使用pl

Pandas统计每行数据中的空值的方法示例

《Pandas统计每行数据中的空值的方法示例》处理缺失数据(NaN值)是一个非常常见的问题,本文主要介绍了Pandas统计每行数据中的空值的方法示例,具有一定的参考价值,感兴趣的可以了解一下... 目录什么是空值?为什么要统计空值?准备工作创建示例数据统计每行空值数量进一步分析www.chinasem.cn处

Mysql如何将数据按照年月分组的统计

《Mysql如何将数据按照年月分组的统计》:本文主要介绍Mysql如何将数据按照年月分组的统计方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mysql将数据按照年月分组的统计要的效果方案总结Mysql将数据按照年月分组的统计要的效果方案① 使用 DA

一文详解SQL Server如何跟踪自动统计信息更新

《一文详解SQLServer如何跟踪自动统计信息更新》SQLServer数据库中,我们都清楚统计信息对于优化器来说非常重要,所以本文就来和大家简单聊一聊SQLServer如何跟踪自动统计信息更新吧... SQL Server数据库中,我们都清楚统计信息对于优化器来说非常重要。一般情况下,我们会开启"自动更新

Python如何计算两个不同类型列表的相似度

《Python如何计算两个不同类型列表的相似度》在编程中,经常需要比较两个列表的相似度,尤其是当这两个列表包含不同类型的元素时,下面小编就来讲讲如何使用Python计算两个不同类型列表的相似度吧... 目录摘要引言数字类型相似度欧几里得距离曼哈顿距离字符串类型相似度Levenshtein距离Jaccard相

使用C#代码计算数学表达式实例

《使用C#代码计算数学表达式实例》这段文字主要讲述了如何使用C#语言来计算数学表达式,该程序通过使用Dictionary保存变量,定义了运算符优先级,并实现了EvaluateExpression方法来... 目录C#代码计算数学表达式该方法很长,因此我将分段描述下面的代码片段显示了下一步以下代码显示该方法如