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

相关文章

C++统计函数执行时间的最佳实践

《C++统计函数执行时间的最佳实践》在软件开发过程中,性能分析是优化程序的重要环节,了解函数的执行时间分布对于识别性能瓶颈至关重要,本文将分享一个C++函数执行时间统计工具,希望对大家有所帮助... 目录前言工具特性核心设计1. 数据结构设计2. 单例模式管理器3. RAII自动计时使用方法基本用法高级用法

Python实现精确小数计算的完全指南

《Python实现精确小数计算的完全指南》在金融计算、科学实验和工程领域,浮点数精度问题一直是开发者面临的重大挑战,本文将深入解析Python精确小数计算技术体系,感兴趣的小伙伴可以了解一下... 目录引言:小数精度问题的核心挑战一、浮点数精度问题分析1.1 浮点数精度陷阱1.2 浮点数误差来源二、基础解决

Python文本相似度计算的方法大全

《Python文本相似度计算的方法大全》文本相似度是指两个文本在内容、结构或语义上的相近程度,通常用0到1之间的数值表示,0表示完全不同,1表示完全相同,本文将深入解析多种文本相似度计算方法,帮助您选... 目录前言什么是文本相似度?1. Levenshtein 距离(编辑距离)核心公式实现示例2. Jac

IDEA与MyEclipse代码量统计方式

《IDEA与MyEclipse代码量统计方式》文章介绍在项目中不安装第三方工具统计代码行数的方法,分别说明MyEclipse通过正则搜索(排除空行和注释)及IDEA使用Statistic插件或调整搜索... 目录项目场景MyEclipse代码量统计IDEA代码量统计总结项目场景在项目中,有时候我们需要统计

Python中经纬度距离计算的实现方式

《Python中经纬度距离计算的实现方式》文章介绍Python中计算经纬度距离的方法及中国加密坐标系转换工具,主要方法包括geopy(Vincenty/Karney)、Haversine、pyproj... 目录一、基本方法1. 使用geopy库(推荐)2. 手动实现 Haversine 公式3. 使用py

SQL Server跟踪自动统计信息更新实战指南

《SQLServer跟踪自动统计信息更新实战指南》本文详解SQLServer自动统计信息更新的跟踪方法,推荐使用扩展事件实时捕获更新操作及详细信息,同时结合系统视图快速检查统计信息状态,重点强调修... 目录SQL Server 如何跟踪自动统计信息更新:深入解析与实战指南 核心跟踪方法1️⃣ 利用系统目录

在Linux终端中统计非二进制文件行数的实现方法

《在Linux终端中统计非二进制文件行数的实现方法》在Linux系统中,有时需要统计非二进制文件(如CSV、TXT文件)的行数,而不希望手动打开文件进行查看,例如,在处理大型日志文件、数据文件时,了解... 目录在linux终端中统计非二进制文件的行数技术背景实现步骤1. 使用wc命令2. 使用grep命令

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公式(高精度,