开始之前跟大家区分一下推论统计分析报告当中的一些名词
a=样本平均值-z*标准误差
b=样本平均值+z*标准误差
自由度 df=n-1
a=样本平均值-t*标准误差
b=样本平均值+t*标准误差
“超级引擎”是一家专门生产汽车引擎的公司,根据政府发布的新排放要求,引擎排放平均值要低于20ppm, (ppm是英文百万分之一的缩写,这里我们只要理解为是按照环保要求汽车尾气中碳氢化合物要低于20ppm)。公司制造出10台引擎供测试使用,每一台的排放水平如下:
15.6 16.2 22.5 20.5 16.4 19.4 16.6 17.9 12.7 13.9
怎么知道,公司生产的引擎是否符合政府规定呢?如果你是这家公司的数据分析师,该怎么办呢?
3.2.1 导入分析包,查看样本描述统计信息:
首先导入pandas和numpy。pandas是用来创建数组的,numpy是用来处理数组的。
matplotlib.pyplot 是用来画图的。
第一步先求出平均值和标准差。
(1)提出问题:
零假设H0:公司引擎排放不满足标准,也就是平均值u>=20。这里的20是政府规定新标准的最低可能值。
零假设总是表述为研究没有改变,没有效果,不起作用等,这里就是不满足标准。
备选假设H1:公司引擎排放满足标准,也就是平均值u<20
(2)检验类型:因为这里只有一个样本(汽车排放量),所以我们使用单样本检验
(3)抽样分布类型
根据seaborn的distplot函数可以直接画出直方图和拟合区间,从拟合曲线上可知这是一个t分布(样本量小于30)
(4)检验方向
因为备选假设当中平均值小于20,这里用的是小于号所以我们使用左尾检验
(5)找到证据
1.计算出标准误差
标准误差=样本标准差/(n的开方),因为标准误差是用来衡量样本平均值的波动大小所以要除以n的开方。
2.计算t值
t=(样本平均值-总体平均值)/标准误差
这里t代表样本平均值距离总体平均值多少个标准误差
3.根据t值,自由度计算出概率p值
值得注意的是这里用的是stats.ttest_1samp()函数,计算出来的是双尾检验概率,所以我们要除以2。
(6)判断标准
判断标准(显著水平)使用alpha=5%
显著水平是估计总体参数落在某一区间内,可能犯错误的概率,这个是自己定的。用于之后和p进行比较,表示自己样本平均值的自信程度。
(7)做出结论
左尾判断条件:t < 0 and p_one < 判断标准(显著水平)alpha
右尾判断条件:t > 0 and p_one < 判断标准(显著水平)alpha
如果是小于的话就拒接零假设,那么一假设成立。
(8)置信区间
首先查t表格可以得到95%的置信水平,自由度n-1对应t值是2.262
计算上下限,用置信区间公式可以得出。
(9)效应量
这里注意要和t公式进行区别:t=(sample_mean-pop_mean) / se
t公式除以标准误差,标准误差=样本标准差/(n的开方)
差异指标:d=(sample_mean - pop_mean) / sample_std
差异指标除以样本标准差
相关度度量:r2=t2 / (t2+df),其中r2是指r的平方,t2是t的平方
通过网上的stroop实验做测试人的反应时间
https://faculty.washington.edu/chudler/java/ready.html)。
每名参与者得到两组有颜色的文字,第一组数据是字体内容和字体颜色一致,第二组数据是字体内容和字体颜色不一致。每名参与者对每组文字说出文字的颜色,并分别统计完成每组的时间。此次实验共记录25组数据(样本量),并汇总到Excel表格中。
4.2.1 描述统计分析
描述统计分析结果: 第一组数据:字体内容和字体颜色一致情况下,实验者的平均反应时间是: 13.926875000000003 秒,标准差是 3.5402194271529703 秒 第二组数据:字体内容和字体颜色不一致情况下,实验者的平均反应时间是: 22.35075 秒,标准差是 5.010217727196399 秒 “不一致”情况下所用时间均大于“一致”情况,也就是当字体内容和字体验证不一致时,实验者的平均反应时间变长
4.2.1 推论分析统计(假设检验)
(1)提出问题:这组有两个变量,一个是组变量一个是应变量。
自变量:实验数据的颜色和文字是否相同
因变量:实验者的反应时间
我们要考察的是自变量(字体内容和颜色是否相同)两种情况下对因变量(反应时间)的影响。
假设第一组“一致”的均值为 u1 ,第二组“不一致”的均值为 u2
零假设:人们反应时间不会因为字体内容和字体颜色是否相同而改变(u1=u2)
备选假设:特鲁普效应确实存在。根据特鲁普效应的定义,颜色和文字不同的情况下,人们的完场测试的时间会变长( u1 < u2 )
(2)检验类型:这里有两组数据是相关样本,所以是相关配对检验,特别要注意的是相关配对检验只关注每对相关数据的差值,保证独立性。
(3)抽样分布类型
通过观察上面差值数据集分布图,数据集近似正态分布,所以满足t分布的使用条件,我们可以使用相关样本t检验。
(4)检验方向
备选假设是u1<u2,小于号,所以我们使用左尾检验。
(5)找到证据
(6)判断标准
显著水平使用alpha=5%
(7)做出结论
单尾检验概率小于显著水平所以拒绝零假设
(8)置信区间
基于自由度和置信水平查表得到t值计算出上下限
(9)效应量
注意差值数据集的总体平均值是0
这是两款键盘布局不一样的手机(A版本,B版本),你作为公司的产品经理,想在正式发布产品之前知道,哪个键盘布局对用户体验更好呢? 首先,我们需要设置目标,用来衡量各个版本的优劣,如果是电商网站,目标可以是点击率,注册率,页面停留时间等。 在这个键盘布局案例里,如果一个键盘布局对用户打字时拼错产生的影响较小,那么这个布局是符合用户体验习惯的。所以我们将目标定为用户打字时拼错字产生的影响。 有了目标以后,下一步就是采集数据。在这一部分,用户会随机分配到不同版本中,通过他们的交互行为会被直接检测,并收集起来作为以后分析的重要数据。 我们随机抽取实验者,将实验者分成2组,每组25人,A组使用键盘布局A,B组使用键盘布局B。让他们在30秒内打出标准的20个单词文字消息,然后记录打错字的数量。 我们将数据记录在Excel中,A列是使用键盘布局A打错字的数量,B列是使用键盘布局B打错字的数量。
5.2.1 描述统计分析
我们开展调查研究并计算统计结果时,我们会在报告的第一部分进行描述统计分析,例如平均值和标准差。描述统计量是研究的核心。告诉我们研究中发生的情况,应该始终报告出来。
这里发现数据是object类型,所以要转换。
通过data['A']= data[‘A’].astype('int') 进行转换。
(1)提出问题:
零假设:A版本和B版本没有差别,也就是A版本平均值=B版本平均值。
零假设总是表述为研究没有改变,没有效果,不起作用等,这里就是不满足标准。
备选假设:A版本和B版本有差别,也就是A版本平均值不等于B版本平均值。
(2)检验类型
这里有两组样本分别是A和B,不同的人,所以是双独立样本检验
(3)抽样分布类型
判断分布类型是因为,t和z分布会影响到之后概率p的计算。
还是推荐seaborn包画出具有拟合线的直方图,发现两个样本都近似正态分布,而且样本量小于30,所以满足t分布的使用条件。
(4)检验方向
备选假设是A版本的平均值不等于B版本的平均值,所以是不等号,使用双尾检验。
(5)搜集证据
之前用spicy的包所以自由度需要自己计算,这里有一个statsmodels统计包。
import statesmodels.stats.weightstats as st
t,ptwo,df=st.ttest_ind(data['A'],data['B'],usevar='unequal')
usevar='unequal',表示A和B的方差不同
(6)判断标准
判断标准(显著水平)使用alpha=5% ,通常显著水平都是用这个值
(7)做出结论
(8)置信区间
这里的标准误差计算和前面两个有区别,因为这里涉及到两个独立量,所以要考虑两组数据的标准差。
se=np.sqrt( np.square(a_std)/a_n + np.square(b_std)/b_n )
(9)效应量
双独立样本要合并标准差
sp=np.sqrt(((a_n-1)*np.square(a_std) + (b_n-1)* np.square(a_std) ) / (a_n+b_n-2))
效应量:d=(a_mean - b_mean) / sp 除以标准差
再次注意和t不一样,t是除以标准误差。