AB测试最小样本量

1.AB实验过程

常见的AB实验过程,分流-->实验-->数据分析-->决策:
分流:用户被随机均匀的分为不同的组
实验:同一组内的用户在实验期间使用相同的策略,不同组的用户使用相同或不同的策略。
数据收集:日志根据实验系统为用户打标记,用于记录用户行为,然后数据计算系统根据带有实验标记的体制计算用户的各种实验数据指标。
数据分析和决策:实验者去理解和分析不同的策略对用户起了什么样的作用。

2.中心极限定理

将策略推全来验证策略效果是比较危险的,因此AB实验的对象是从总体当中去抽样数据,总体的分布可能会有多种形态,如正态分布、偏态分布、严重偏态分布等,总体的数据量也有多有少。‘
AB实验是用小样本去推断整体,这就会有一个问题:抽样的样本至少多少能保证统计的科学性?

样本均值的分布,趋近于正态分布,正态分布曲线由均值和方差决定,该分布均值的均值E( ̅x)趋近于总体均值u。就算总体分布不是正态分布,依然可以通过抽样得到样本均值的分布,近似正态分布,这样就可以使用正态分布来估计置信区间,从而实现参数检验(如t检验)

3. 样本容量

当每次从总体中抽样数据时,计算均值会得到一个数,抽样同样的数据量,计算均值,也会得到一个数,两个数大概率不会一样,因此,当抽样多次,计算的均值就会形成一个分布。
当总体分布是正态分布时,样本容量n为任意数,u的抽样分布都是正态分布
当总体非正态,如指数分布、均匀分布等,样本容量n>30,  \bar{x}近似为正态分布
当总体非正态,分布为严重偏态或有异常值,样本容量n>50,\bar{x}近似为正态分布

上文说的样本容量,即每个随机样本中个体的数量,用n表示,当按照样本量抽取多次的时候,才能得到正态分布,抽样的次数,叫样本量。E( \bar{x}) = u 与样本容量无关,样本标准差\delta _{\bar{x}}和样本容量有关(总体标准差=样本标准差/\sqrt{n}),样本容量越大,样本标准差\delta _{\bar{x}} 越小。假设样本容量=总量,那最后就成一条线。
基于均值分布,就能计算出 \bar{x}在均值u附近一定举例的概率,反之根据概率,也可以得到置信区间。

4.最小样本量


   在正态分布中置信区间为[\bar{x} - Z_{\frac{\alpha }{2}}\frac{\sigma }{\sqrt{n}},\bar{x} + Z_{\frac{\alpha }{2}}\frac{\sigma }{\sqrt{n}}]

   \alpha为显著性水平,置信水平是1-\alphaZ_{\frac{\alpha }{2}}为标准正态概率分布上侧面积为\frac{\alpha }{2}时的Z值,Z_{\frac{\alpha }{2}}\frac{\sigma }{\sqrt{n}}为边际误差,边际误差的含义是在统计学中,业务人员主观上可以接受的误差范围。
   总体均值u,样本均值 ̅x ,两者之间的误差ε,u =  \bar{x} + ε

    误差ε与边际误差存在对应关系。

    指标主要有两种:均值类和比率类,有不同的边际误差计算方法。

    均值类指标\varepsilon =Z_{\frac{\alpha }{2}}\frac{\sigma }{\sqrt{n}},计算得到n=\frac{Z_{\frac{\alpha }{2}}^2{\sigma ^2}}{\epsilon ^2}

    含义:在当前的方差水平下,要以1-\alpha的把握检测出边际误差不大于ε的变化,样本量至少需要n个。

    从公式中可以看到,当边际误差减少为原来的\frac{1}{2}时,所需的样本容量变为原来的4倍,是指数级关系。因此,在满足业务需求的情况下,尽量采用较大的边际误差,由于边际误差是业务需要检测的最低变化幅度,所以又称为最小样本量。

    对比率类指标\bar{p}的方差计算与均值有所不同,方差=\bar{p}(1-\bar{p}),所以置信区间为:

[\bar{p}-Z_{\frac{\alpha }{2}}\sqrt\frac{\bar{p} (1-\bar{p})}{n},\bar{p}+Z_{\frac{\alpha }{2}}\sqrt\frac{\bar{p} (1-\bar{p})}{n}]

方差可以使用经验值或者小样本抽取,还可以\bar{p}=0.5,这样得到的n是一个最大值,因为我们知道当\bar{p}=0.5时,\bar{p}(1-\bar{p})能取到最大。

因此解出来的n为n=\frac{Z_{\frac{\alpha }{2}}^2{\bar{p}(1-\bar{p}})}{\epsilon ^2}

  
   

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OpenCV基础:用Python生成一幅随机的噪声图像

使用Python:生成一幅随机数值的灰度图像,图像大小为1616像素。借助OpenCV库。输出数值,并显示图像。 # -*- coding: utf-8 -*- """ Created on Wed Feb 14 21:49:09 2024author: 李立宗公众号:计算机视觉之光知识…

ELAdmin 配置定时任务

定义方法 在自己的 Module 中写个要执行的方法。 比如获取微信公众号的 accessToken,每两个小时更新一次。这种的其实使用 Spring 的 Scheduled 更方便些,此处仅为演示。 package me.zhengjie.mp.task;import com.alibaba.fastjson.JSON; import lombo…

leetcode刷题--贪心算法

七. 贪心算法 文章目录 七. 贪心算法1. 605 种花问题2. 121 买卖股票的最佳时机3. 561 数组拆分4. 455 分发饼干5. 575 分糖果6. 135 分发糖果7. 409 最长回文串8. 621 任务调度器9. 179 最大数10. 56 合并区间11. 57 插入区间13. 452 用最少数量的箭引爆气球14. 435 无重叠区间…

C语言学习day13:for循环练习(生成随机数)

题目: 通过程序随机一个1-100的数,用户通过键盘输入数字 看是否匹配,匹配成功则跳出循环,失败则继续循环。 思路: 然后生成一个随机数需要写成死循环,同时需要有其他的出口可以写一个提示,比…

java的面向对象编程(oop)——认识泛型

前言&#xff1a; 打好基础&#xff0c;daydayup! 泛型 1&#xff0c;认识泛型&#xff1a; 定义类&#xff0c;接口&#xff0c;方法时&#xff0c;同时声明了一个或多个类型变量&#xff08;例&#xff1a;<E>&#xff09;,称为泛型&#xff0c;泛型接口&#xff0c;泛…

炫酷3D按钮

一.预览 该样式有一种3D变换的高级感&#xff0c;大家可以合理利用这些样式到自己的按钮上 二.代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice…

AJAXJSON入门篇

AJAX&JSON 概念&#xff1a;AJAX(Asynchronous JavaScript And XML):异步的JavaScript和XML AJAX作用&#xff1a; 与服务器进行数据交换&#xff1a;通过AJAX可以给服务器发送请求&#xff0c;并获取服务器响应的数据 使用了AJAX和服务器进行通信&#xff0c;就可以使用H…

Netty应用(十二) 之 Netty相关参数 Http协议 IO多路复用回顾

目录 28.netty的相关参数 29.HTTP1.0、HTTP1.1 和 HTTP2.0 的区别 30.如何理解IO多路复用&#xff1f; 28.netty的相关参数 1.netty的参数设置体系 客户端&#xff1a; bootstrap.option(); //在这里配置客户端一些配置信息 服务端&#xff1a; serverBootstrap.option(…

JavaScript中的Symbol:加密与安全性

JavaScript中的Symbol是一种唯一且不可变的数据类型&#xff0c;引入了一种新的基本数据类型&#xff0c;用于表示独一无二的标识符。在本文中&#xff0c;我们将深入介绍JavaScript中的Symbol&#xff0c;讨论如何将其应用于JS加密中&#xff0c;提供案例代码&#xff0c;并说…

【git】.gitignore 的匹配规则

每行一个规则&#xff1a;每行只能包含一个规则&#xff0c;多个规则需要分别写在不同的行上。 示例&#xff1a; # 忽略日志文件 logs/ # 忽略临时文件 temp.txt种类匹配&#xff1a; 文件&#xff1a;在规则的开头指定文件名或路径&#xff0c;如 file.txt。 示例&#xff1a…

Java17之使用Lambda表达式对对象集合中指定的字段进行排序

Java17之使用Lambda表达式对对象集合中指定的字段进行排序 文章目录 Java17之使用Lambda表达式对对象集合中指定的字段进行排序1. 集合对象排序1. Java实体类2. 正序排序3.倒序排序 1. 集合对象排序 Java8起可用 List 的 sort 方法进行排序&#xff0c;形参为函数式接口Compara…

Hive on Spark配置

前提条件 1、安装好Hive&#xff0c;参考&#xff1a;Hive安装部署-CSDN博客 2、下载好Spark安装包&#xff0c;链接&#xff1a;https://pan.baidu.com/s/1plIBKPUAv79WJxBSbdPODw?pwd6666 3、将Spark安装包通过xftp上传到/opt/software 安装部署Spark 1、解压spark-3.3…