先通过一个案例说明单样本检验的过程:
案例分析:
公司制造出10台引擎供测试使用,每一台的排放水平如下:
15.6 16.2 22.5 20.5 16.4 19.4 16.6 17.9 12.7 13.9
请判断公司生产的引擎是否符合政府规定呢?
根据政府发布的新排放要求,引擎排放平均值要低于20ppm,(ppm是英文百万分之一的缩写,这里我们只要理解为是按照环保要求汽车尾气中碳氢化合物要低于20ppm)。
#描述统计分析
import seaborn as sns
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
df=pd.Series([15.6,16.2,22.5,20.5,16.4,19.4,16.6,17.9,12.7,13.9])
sample_mean=df.mean()
sample_std=df.std()
print('样本平均值=','%.2f'%sample_mean,'单位:ppm')
print('样本标准差:','%.2f'%sample_std,'单位:ppm')
'''1、确定问题是什么?要研究的问题是:这些样本数据是否满足新标准?零假设H0:公司引擎排放不满足标准,也就是平均值u>=20备择假设Ha:公司引擎排放满足标准,平均值u<20因为只有一个样本,选择单样本检验'''
#推论统计分析(包括假设检验,置信区间,效应量)
sns.distplot(df)
plt.title('数据集分布')
plt.show()
'''检验方向的确定:因为备选假设是公司引擎排放满足标准即u<20,所以使用单尾检验中的左尾检验.计算p值:1)计算标准误差2)计算t值((t=样本平均值-总体平均值)/标准误差)3)根据t值,查找t表格,得到概率p值'''
#手动计算
n=10
SE=sample_std/(np.sqrt(n))#计算标准误差
pop_mean=20
t=(sample_mean-pop_mean)/SE#计算t值
print('标准误差SE=',SE)
print('t=',t)
#描述统计分析
import seaborn as sns
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
df=pd.Series([15.6,16.2,22.5,20.5,16.4,19.4,16.6,17.9,12.7,13.9])
sample_mean=df.mean()
sample_std=df.std()
print('样本平均值=','%.2f'%sample_mean,'单位:ppm')
print('样本标准差:','%.2f'%sample_std,'单位:ppm')
'''1、确定问题是什么?要研究的问题是:这些样本数据是否满足新标准?零假设H0:公司引擎排放不满足标准,也就是平均值u>=20备择假设Ha:公司引擎排放满足标准,平均值u<20因为只有一个样本,选择单样本检验'''
#推论统计分析(包括假设检验,置信区间,效应量)
sns.distplot(df)
plt.title('数据集分布')
plt.show()
'''检验方向的确定:因为备选假设是公司引擎排放满足标准即u<20,所以使用单尾检验中的左尾检验.计算p值:1)计算标准误差2)计算t值((t=样本平均值-总体平均值)/标准误差)3)根据t值,查找t表格,得到概率p值'''
#手动计算
n=10
SE=sample_std/(np.sqrt(n))#计算标准误差
pop_mean=20
t=(sample_mean-pop_mean)/SE#计算t值
print('标准误差SE=',SE)
print('t=',t)
结果:
样本平均值= 17.17 单位:ppm
样本标准差: 2.98 单位:ppm
标准误差SE= 0.94281493412
t= -3.00164952589
'''用Python统计包scipy计算用scipy计算出的是:双尾检验单(1samp)样本t检验(ttest1samp):https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.ttest1samp.html相关(related)样本t检验(ttestrel):https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.ttestrel.html双独立(independent)样本t检验(ttestind):https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.ttestind.html'''
from scipy import stats
pop_mean=20
t,p_twotail=stats.ttest_1samp(df,pop_mean)
print('t值=',t,'双尾检验的p值=',p_twotail)
#单尾检验的p值
p_onetail=p_twotail/2
print('单尾检验的p值',p_onetail)
#判断标准(显著性水平)使用alpha=5%
alpha=0.05
if(t<0 and p_onetail
print('拒绝零假设,有统计显著,也就是汽车引擎排放满足标准')
else:
print('接受零假设,没有统计显著,也就是汽车引擎排放不满足标准')
#拒绝零假设,有统计显著,也就是汽车引擎排放满足标准
#置信区间
'''1)置信水平对应的t值(t_ci)2)计算上下限置信区间上限a=样本平均值-t_ci*标准误差置信区间下限b=样本平均值-t_ci*标准误差'''
t_ci=2.262
SE=stats.sem(df)
a=sample_mean-t_ci*SE
b=sample_mean+t_ci*SE
print('单个平均值的置信区间,95置信水平CI=(%f,%f)'%(a,b))
'''效应量效应量:是指处理效应的大小。例如药物A比药物B效果显著。度量效应量有很多种,但大多数都属于两大主要类别。1)第一种叫差异度量例如在对比平均值时,衡量效应大小的常见标准之一是Cohen's dCohen's d=(样本平均值1—样本平均值2)/标准差Cohen's d 除以的是标准差,也就是以标准差为单位,样本平均值和总体平均值之间相差多少。2)第二种叫相关度度量例如R平方,表示某个变量的变化比例与另一变量的关系。可以用t检验的信息退出R平方的公式,这里的t值从t检验中获得的值,df是自由度。r2=t2 / (t2+df),其中r2是指r的平方,t2是t的平如果r平方等于20%,表示我们可以说通过知道另一个变量能够接受相关变量20%的变化情况'''
#效应量:差异指标Cohen's d
d=(sample_mean-pop_mean)/sample_std
#效应量:相关度指标R2
n=10
df=n-1
R2=(t*t)/(t*t+df)
print('d=',d)
print('R2=',R2)
结果:
t值= -3.00164952589 双尾检验的p值= 0.0149164142489
单尾检验的p值 0.00745820712445
拒绝零假设,有统计显著,也就是汽车引擎排放满足标准
单个平均值的置信区间,95置信水平CI=(15.037353,19.302647)
d= -0.9492049239364257
R2= 0.500274845399
数据分析简报:
结论:公司引擎排放满足标准
1、描述统计分析
样本平均值17.17ppm,样本标准差2.98ppm
2、推论统计分析
1)假设检验
独立样本t(9)=-3.00,
p=.0074(α=5%),单尾检验(左尾)
公司引擎排放满足标准
2)置信区间
平均值的置信区间,95% CI=(17.11,17.23)
3)效应量
d=-0.94
第一章、常见概率分布
随机变量:离散随机变量、连续随机变量
离散随机变量:概率质量函数PMF、离散概率分布
连续随机变量:概率密度函数PDF、连续概率分布
离散概率分布的四大典型:伯努利分布、二项分布、几何分布、泊松分布
1、伯努利分布即是随机变量X仅有两种可能的情况(1,成功;0,失败),分别对应成功概率p,失败概率1-p。
2、二项分布即做n次相互独立事件,每次事件存在两种情况(成功或失败),每次成功概率都相等用p表示,求成功k次的概率是多少。p(k)=Cnkpk(1-p)n-k。期望E=np,方差np(1-p)。
3、几何分布即做n次相互独立事件,每次事件存在两种情况(成功或失败),每次成功概率都相等用p表示,求第k次做某事才第一次成功的概率。p(k)=(1-p)k-1p。期望E=1/p。方差等于1-p/p2。
4、泊松分布即某一独立事件,在任意相同的时间范围内,事件发生的概率相同,求某个时间范围内发生某件次数k次的概率是多大。p(k)=uke-u/k!。期望E=u。方差等于u。
连续概率分布的两大典型:正态分布、幂律分布
1、 正态分布
求某一取值范围的概率。
第一步:确定概率范围p(k<1.05)
第二步:求标准分z=k-平均值/标准差
第三步:查找z表格,得出p(Z
第二章、抽样分布和中心极限定理
总体、样本、样本大小、样本数量
中心极限定理:
1)样本平均值约等于总体平均值。
2)不管总体是什么分布,任意一个总体的样本平均值都会围绕在总体的平均值周围,并且呈正态分布。
应用:
1、用样本来估计总体(民意调查)
2、根据总体信息,判断某个样本是否属于总体(3个标准差,概率97%)
解释:对于属于正态分布的指标数据,我们可以很快捷地对它进行下一步假设检验,并推算出对应的置信区间;而对于那些不属于正态分布的数据,根据中心极限定理,在样本容量很大时,总体参数的抽样分布是趋向于正态分布的,最终都可以依据正态分布的检验公式对它进行下一步分析。
总体标准差:某个数据集的标准差。
样本标准差:用样本估计总体标准差s。
样本标准误差(标准误):所有样本平均值产生的标准差。
抽样分布:将样本平均值的分布可视化叫做抽样分布。
标准误SE。根据总体信息,判断某个样本是否属于总体(抽样分布中3个标准误,概率97%)。
第三章、置信水平和置信区间
置信区间(误差范围):[a,b]
置信水平Y%:区间包含总体平均值的概率p(a
大样本如何计算置信区间(n>=30,抽样分布呈正态分布):
1、确定要求解的问题。
2、求样本的平均值和标准误差。
3、确定置信水平
4、求出置信区间上下限的值。
a=总体平均值-几个标准误差=总体平均值-z*标准误差
b=总体平均值+几个标准误差=总体平均值+z*标准误差
【p(Z
已知样本平均值的求解过程:1、p(Z
小样本如何计算置信区间(n<30,抽样分布呈t分布):
t分布的自由度df=n-1。
已知样本平均值的求解过程:1、确定要求的问题是什么2、求样本的平均值和标准误差3、查找t表格,求t值。4、a=样本平均值-t*标准误差,b=样本平均值+t*标准误差。
第四章、假设性检验
假设检验套路:问题是什么?证据是什么?判断标准是什么?作出结论
假设检验常规过程:1、零假设,备选假设2、零假设成立时,得到样本平均值的概率:p值3、显著水平a(0.1%、1%、5%)4、p<=a时,拒绝零假设也就是备选假设成立,p>a时,接受零假设。
(一)单样本检验
问题是什么:
1、零假设:公司引擎排放不满足标准,也就是平均值>=20
备选假设:满足标准,也就是平均值<20
2、判断假设检验类型:单样本检验
3、判断抽样分布类型:样本大小>=30(正态分布)、样本大小<30(t分布,总体近似正态分布)、其它分布。
4、判断检验方向:单尾检验,还是双尾检验。
证据是什么:
p值:在零假设成立条件下,得到样本平均值的概率。
P值计算步骤:计算标准误差、样本平均值、总体均值、t=样本平均值-总体均值/标准误差、根据t值查找表格得到p值。
判断标准是什么:
显著水平a=0.05。p<=0.05时,拒绝零假设,备选假设成立,p>0.05时,接受零假设。
假设检验APA格式:单样本t(9)=-3.00,p=.0074(a=5%,单尾检验(左尾)。
置信区间:
a=样本平均值-t_ci*标准误差
b=样本平均值+t_ci*标准误差
置信区间APA格式:单个平均值的置信区间,95% CI=(17.11,17.23)。
效应量:
差异指标:Cohen’s d=第一组平均值-第二组平均值/标准差
相关度指标:R2=t2/t2+df
效应量APA报告格式:d=-0.95。
(二)相关配对检验
与单样本检验的不同点:
问题是什么:
1、零假设:特鲁普效应不存在,第一组平均值等于第二组平均值或者说第一组平均值-第二组平均值=0。备选假设:特鲁普效应存在,第一组平均值
2、判断抽样分布:判断出差值数据集(即第一组平均值-第二组平均值)的分布情况。
3、t检验:对差值数据集进行t检验。
置信区间:
对差值数据集进行平均值置信区间求取。
置信区间APA 格式:两个平均值差值的置信区间,95%置信水平CI=[-8.80,-8.67]
效应量:
相关配对检验效应量Cohen's d=(样本平均值-总体平均值)/样本标准差
(三)、双独立样本检验
问题:
1、零假设:A版本和B版本没有差别,A版本平均值等于B版本。备选假设:A版本和B版本有差别,二者平均值不相等。
2、判断抽样分布类型:两个数据集都要进行分布作图判断。案例中同为t分布。
3、案例中检验方向是双尾检验。判断标准:p<=a/2=0.025时,拒接零假设。
置信区间:
a=样本平均值-t_ci*标准误差
b=样本平均值+t_ci*标准误差
这里的样本平均值=样本平均值1-样本平均值2
标准误差:SE=两个样本综合标准误差。
置信区间APA格式:两个平均值差异的置信区间,95置信水平CI=[-2.762316,-2.677684]
效应量:
Cohen's d=(第一组平均值-第二组平均值)/标准差。标准差为合并标准差。