跳到内容
跨境Ai视界 跨境Ai视界
Go back

假设检验之A/B测试

文章目录共 13 节
  1. 一、描述统计分析
  2. 二、推论统计分析
  3. 1. 问题是什么
  4. 零假设和备选假设
  5. 检验类型
  6. 抽样分布类型
  7. 检验方向
  8. 2.证据是什么?
  9. 3.判断标准是什么
  10. 4.做出结论
  11. 5.置信区间
  12. 6.效应量
  13. 三、数据分析报告

一、描述统计分析

**import**`` numpy ``**as**`` np ``**import**`` pandas ``**as**`` pd ``**import**`` matplotlib.pyplot ``**as**`` plt

path``**=**``'键盘AB测试.xlsx' xls``**=**``pd``**.**``ExcelFile(path,dtype``**=**``'object') data``**=**``xls``**.**``parse('Sheet1',dtype``**=**``'object') data``**.**``head()

Image

data``**.**``dtypes

A object

B object

dtype: object

data``**.**``describe()

Image

*#转换数据类型*``data['A']``**=**``data['A']``**.**``astype('int') data['B']``**=**``data['B']``**.**``astype('int') ``**print**``('转换后的数据类型:') data``**.**``dtypes

转换后的数据类型:

A int32

B int32

dtype: object

`A**=**data[‘A’] B**=**data[‘B’]

*#样本平均值*a_mean**=**A**.**mean() b_mean**=**B**.**mean()

**print**(‘A版本平均值=‘,a_mean,‘单位:打错字数量’) **print**(‘B版本平均值=‘,b_mean,‘单位:打错字数量’)

*#样本标准差*a_std**=**A**.**std() b_std**=**B**.**std()

**print**(‘A版本样本大小25,样本标准差=‘,a_std,‘单位:打错字数量’) **print**(‘B版本样本大小25,样本标准差=‘,b_std,‘单位:打错字数量’)`

A版本平均值= 5.08 单位:打错字数量

B版本平均值= 7.8 单位:打错字数量

A版本样本大小25,样本标准差= 2.05993527406 单位:打错字数量

B版本样本大小25,样本标准差= 2.64575131106 单位:打错字数量

二、推论统计分析

1. 问题是什么

零假设和备选假设

要研究的问题是:哪个键盘布局对用户体验更好呢?

根据这个问题我提出来下面两个互为相反的假设。

零假设:A版本和B版本没有差别,也就是A版本平均值=B版本平均值。

零假设总是表述为研究没有改变,没有效果,不起作用等,这里就是不满足标准。

备选假设:A版本和B版本有差别,也就是A版本平均值 不等于 B版本平均值。

检验类型

因为这里有2组样本,是不同的人,所以选择双独立样本检验。

抽样分布类型

`importseabornas sns sns.distplot(A) plt.title('A版本数据集分布') plt.“show()

sns**.**distplot(B) plt**.**title(‘B版本数据集分布’) plt**.**show()`

Image

Image

通过观察,两个样本数据集都近似正态分布,则抽样分布是t分布。

检验方向

因为备选假设是A版本和B版本有差别,也就是A版本平均值 不等于 B版本平均值,所以我们使用双尾检验。

综合以上分析,本次假设检验是双独立样本t检验,双尾检验。

2.证据是什么?

**import**`` statsmodels.stats.weightstats ``**as**`` st t,p_twoTail,df``**=**``st``**.**``ttest_ind(A,B,usevar``**=**``'unequal') ``**print**``('t=',t,'p_two=',p_twoTail,'df=',df)

t= -4.05593853686 p_two= 0.000194574553072 df= 45.2781333114

3.判断标准是什么

alpha``**=**``0.05

4.做出结论

**if**``(p_two``**<**`` alpha``**/**``2): ``**print**``('拒绝零假设,有统计显著,也就是接受备选假设') ``**print**``('备选假设:A版本和B版本有差异') ``**else**``: ``**print**``('接受零假设,没有统计显著') ``**print**``('零假设:A版本和B版本没有差异')

拒绝零假设,有统计显著,也就是接受备选假设

备选假设:A版本和B版本有差异

独立双样本t(45)=-4.05 , p=.00019 (α=5%),双尾检验

统计上存在显著差异,拒绝零假设,从而验证A版本和B版本存在显著差异。

5.置信区间

`t_ci**=**2.0141 a_n**=**25 b_n**=**25 se**=**np**.**sqrt(np**.**square(a_std)**/**a_n**+**np**.**square(b_std)**/**b_n)

sample_mean**=**a_mean**-**b_mean *#置信区间上限*a**=**sample_mean **-** t_ci ***** se *#置信区间下限*b**=**sample_mean **+** t_ci ***** se **print**(‘两个平均值差值的置信区间,95置信水平 CI=[%f,%f]’ **%** (a,b))`

两个平均值差值的置信区间,95置信水平 CI=[-4.070699,-1.369301]

6.效应量

`sp**=**np**.**sqrt(((a_n**-**1)*****np**.**square(a_std) **+** (b_n**-**1)***** np**.**square(a_std) ) **/** (a_n**+**b_n**-**2)) *#效应量Cohen's d*d**=**(a_mean **-** b_mean) **/** sp

**print**(‘d=‘,d)`

d= -1.32042983789

三、数据分析报告

1、描述统计分析

A版本打错字数量 平均是5.08个,标准差是2.06个

B版本打错字数量 平均是7.8个,标准差是2.65个

2、推论统计分析

1)假设检验 独立双样本t(45)=-4.05 , p=.00019 (α=5%) , 双尾检验拒绝零假设,统计显著。

2)置信区间 两个平均值差值的置信区间, 95%置信水平 CI=[-2.76,-2.68]

3)效应量 d= - 1.32,效果显著


Share this post on:

上一篇
亚马逊的底层逻辑-正态分布
下一篇
亚马逊的底层逻辑-幂律分布