一、描述统计分析
**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()

data``**.**``dtypes
A object
B object
dtype: object
data``**.**``describe()

*#转换数据类型*``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()`


通过观察,两个样本数据集都近似正态分布,则抽样分布是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,效果显著