1、卡方检验:
卡方检验是用途非常广的以卡方分布(深入浅出统计学有讲)为基础的一种假设检验方法,它属于非参数检验的范畴,主要是比较两个及两个以上样本率( 构成比)以及两个分类变量的关联性分析。
以运营为例:
- 卡方检验可以检验男性或者女性对线上买生鲜食品有没有区别;
- 不同城市级别的消费者对买SUV车有没有什么区别;
举例:两组大白鼠在不同致癌剂作用下的发癌率如下表,问两组发癌率有无差别?
处理 | 发癌数 | 未发癌数 | 合计 | 发癌率% |
---|---|---|---|---|
甲组 | 52 | 19 | 71 | 73.24 |
乙组 | 39 | 3 | 42 | 92.86 |
合计 | 91 | 22 | 113 | 80.33 |
(52 19 39 3) 这四个数据是整个表中的基本资料,其余数据均由此推算出来;这四格资料表就专称四格表(fourfold table),或称2行2列表(2×2 contingency table)。从该资料算出的两组发癌率分别为73.24%和92.86%,两者的差别可能是抽样误差所致,亦可能是两组发癌率(总体率)确有所不同。这里可通过卡方检验来区别其差异有无统计学意义,检验的基本公式为:
式中A为实际数,以上四格表的四个数据就是实际数。T为理论数,是根据检验假设推断出来的;即假设这两组的发癌率本无不同,差别仅是由抽样误差所致。这里可将两组合计发癌率作为理论上的发癌率,即 91/113=80.3%,以此为依据便可推算出四格表中相应的四格的理论数。以上表资料为例检验如下。
检验步骤:
1. 建立检验假设
H0:两组发癌率有差别
H1:两组发癌率无差别
α=0.05
2. 计算理论数(TRC),计算公式为: TRC=nR x nC/n
式中TRC是表示第R行C列格子的理论数,nR为理论数同行的合计数,nC为与理论数同列的合计数,n为总例数。
第1行1列: 71×91/113=57.18
第1行2列: 71×22/113=13.82
第2行1列: 42×91/113=33.82
第2行2列: 42×22/113=8.18
以推算结果,可与原四项实际数并列成下表:
处理 | 发癌数 | 未发癌数 | 合计 |
---|---|---|---|
甲组 | 52 ( 57.18 ) | 19 ( 13.82 ) | 71 |
乙组 | 39 ( 33.82 ) | 3 ( 8.18 ) | 42 |
合计 | 91 | 22 | 113 |
因为上表每行和每列合计数都是固定的,所以只要用TRC式求得其中一项理论数(例如T1.1=57.18),则其余三项理论数都可用同行或同列合计数相减,直接求出。
3. 计算卡方值按公式代入
卡 方
4. 查卡方值表求P值
在查表之前应知本题自由度。按卡方检验的自由度v=(行数-1)(列数-1),则该题的自由度v=(2-1)*(2-1)=1,查卡方界值表,找到,而本题卡方=6.48即卡方>,P<0.05,差异有显著统计学意义,按α=0.05水准,拒绝H0,可以认为两组发癌率有差别。
通过实例计算,读者对卡方的基本公式有如下理解:若各理论数与相应实际数相差越小,卡方值越小;如两者相同,则卡方值必为零,而卡方永远为正值。又因为每一对理论数和实际数都加入卡方值中,分组越多,即格子数越多,卡方值也会越大,因而每考虑卡方值大小的意义时同时要考虑到格子数。因此自由度大时,卡方的界值也相应增大。
2、t 检验:
T检验是用于两个样本(或样本与群体)平均值差异程度的检验方法。它是用T分布理论来推断差异发生的概率,从而判定两个平均数的差异是否显著。
T检验的适用条件:
- 计量资料
- 小样本(不是必须)
- 独立性、正态性或近似正态、方差齐性(两小样本所对应的两总体方差相等,一般用F检验)
- 当样本例数较小时,要求样本取自正态总体;(当样本数少于30时,需要检验满足正态分布,若数量较多,根据中心极限定律,样本会趋向正态分布)
为什么小样本用t检验?从抽样研究所得的样本均数特点来看,只要样本量>60,(无论总体是否服从正态分布)抽样研究的样本均数服从或者近似服从正态分布;而如果样本量较小(参考样本量<100),抽样分布随着样本量的减小,与正态分布的差别越来越大。此时需要用小样本理论来解释样本均数的分布——而t分布就是小样本理论的代表。因此,小样本的检验需要用到t检验。
T检验的用途:
(1)样本均数与群体均数的比较看差异是否显著;
(2)两样本均数的比较看差异是否显著。
t 检验,有三种常用场景:
- 单一样本t检验
- 配对样本t检验
- 两样本t检验
2.1:单一样本t检验:比较样本的情况和总体的情况有无差异
例如,现在已知广州市的平均身高,现在我在天河区随机抽取100个人,看看天河的100个人和广州的平均身高有无差异。
其应用条件需要满足:计量资料、小样本、正态分布
两小样本比较时还要求方差齐性,但因单样本t检验中不存在两个小样本,故无法检验方差齐性。
#scipy.stats.ttest_1samp()检验数据总体的平均数是否可能等于给定值
# (严格来说是否观察值来自于给定总体平均数的正态分布)
#它返回一个T统计值以及p值
import scipy.stats
t, pval = scipy.stats.ttest_1samp(iris['petal_legth'], popmean=4.0)
print(t, pval)
# P=0.0959 > 5%, 接受原假设,即花瓣长度为4.0。
2.2:配对样本t检验:比较样本某个状况前后的对比有无差异
例如,现在有10个糖尿病的病人,给他们都用同种控制糖尿病的药物,看看这组病人在用药前和用药后有无差异
注:每个病人用药前后各自配对成一对,所以叫配对样本
其应用条件需要满足:计量资料、配对设计、小样本、正态分布
from scipy.stats import ttest_rel
import pandas as pd
x = [20.5, 18.8, 19.8, 20.9, 21.5, 19.5, 21.0, 21.2]
y = [17.7, 20.3, 20.0, 18.8, 19.0, 20.1, 20.0, 19.1]
# 配对样本t检验
print(ttest_rel(x, y))
# Ttest_relResult(statistic=1.8001958337730648, pvalue=0.1148515300576627)
# 结论: 因为p值=0.1149>0.05, 故接受原假设, 认为在70℃时的平均断裂强力与80℃时的平均断裂强力间无显著差别
2.3:两样本t检验:比较两组样本有无差异
例如,现在有10男一组,10女一组,看看这不同性别的身高有无差异
其应用条件需要满足:计量资料、小样本、正态性之外,还需要方差齐性
如果方差齐,可进行两样本t检验,如果方差不齐,则需要其他的检验方法。
#取两个样本
iris_1 = iris[iris.petal_legth >= 2]
iris_2 = iris[iris.petal_legth < 2]
print(np.mean(iris_1['petal_legth']))
print(np.mean(iris_2['petal_legth']))
'''
H0: 两种鸢尾花花瓣长度一样
H1: 两种鸢尾花花瓣长度不一样
'''
import scipy.stats
t, pval = scipy.stats.ttest_ind(iris_1['petal_legth'],iris_2['petal_legth'])
print(t,pval)
'''
p<0.05,拒绝H0,认为两种鸢尾花花瓣长度不一样
'''
t 检验的步骤
t 检验的步骤也是三板斧:a.建立假设;b.验证检验;c.接受/拒绝假设
转载:
https://blog.csdn.net/qq_39306047/article/details/91397814
https://www.zhihu.com/topic/19622729/hot
3、F检验
F检验又叫方差齐性检验。在两样本t 检验中要用到F检验。
F检验法是英国统计学家Fisher提出的,主要通过比较两组数据的方差,以确定他们的精密度是否有显著性差异。至于两组数据之间是否存在系统误差,则在进行F检验并确定它们的精密度没有显著性差异之后,再进行t检验。
# F test的原理非常简单,所以不妨自己写
#先求出两个样本的方差的比值,再写出两个样本的自由度
#然后就去查F分布的概率累计函数,就可以得到p value了
from scipy.stats import f
F = np.var(a) / np.var(b)
df1 = len(a) - 1
df2 = len(b) - 1
p_value = 1 - 2 * abs(0.5 - f.cdf(F, df1, df2))
4、方差分析
方差分析就相当于是能够分析三组及以上数据的两样本t检验升级版,判断三组或者更多组数据是否存在不同。
方差分析有三个使用条件:
1.每组样本数据对应的总体应该服从正态分布;
2.每组样本数据对应的总体方差要相等,方差相等又叫方差齐性;
3.每组之间的值是相互独立的,就是A、B、C组的值不会相互影响。
3.1 方差分析流程
3.1.1 建立假设
H0:各组数据均值相等;
H1:各组数据均值不相等或不全等。
检验水准为0.05。
3.1.2 计算检验统计量F值
F值 = 组间方差/组内方差。我们主要是通过比较F值的大小来判断各组之间是否存在显著差异。
所谓的组间方差就是用来反映组与组之间的差异程度,组内方差就是用来反映各组内部数据的差异程度。
要来计算方差,我们需要先计算平方和。为了让大家能够更加理解,我们来举个例子来讲解各个指标怎么计算。
现在有两组数据:
第一组:80、85、96
第二组:110、125、130、145、160
第一组和第二组的总算术平均值为:
(80+85+96+110+125+130+145+160)/8 = 116.375。
第一组的算术平均值:(80+85+96)/3 = 87
第二组的算术平均值:(110+125+130+145+160)/5 = 134
组间平方和(SSA):
= 第一组平均值与总体平均值的平方和×第一组样本数+第二组平均值与总体平均值的平方和×第二组样本数
= (87-116.375)^2×3 + (134-116.375)^2×5 = 4141.875
组内平方和(SSE):
= 第一组平方和 + 第二组平方和
=(80-87)^2 +(85-87)^2 +(96-87)^2
+(110-134)^2 +(125-134)^2 +(130-134)^2 +(145-134)^2 +(160-134)^2
=134+1470=1604
总体平方和(SST):
=所有样本数据与总体平均值之间的平方和
=(80-116.375)^2 +(85-116.375)^2 +(96-116.375)^2
+(110-116.375)^2 +(125-116.375)^2 +(130-116.375)^2 +(145-116.375)^2 +(160-116.375)^2
=5745.875
通过以上数据,我们可以看出 SST = SSA + SSE
总平方和会有一个问题,就是随着数据量越大,这个值会越大,所以我们引入另外一个概念:均方。均方=平方和/自由度,其中自由度是样本数-1。
组间均方(MSA)= SSA/自由度 = 4141.875/(2-1) = 4141.875
组内均方(MSE)= SSE/自由度 = 1604/(8-2) = 267.333
MSA又称为组间方差,MSE称为组内方差。
F = MSA/MSE = 4141.875/267.333 = 15.4933
3.1.3 确定边界值并做出决策
此时我们就可以通过查F表,来获得置信度为95%时的F边界值:
如果F
如果我们证实了各组数据之间是存在明显差异的,这个时候就可以去拿各组的均值来进行比较,均值越大,可以说明策略效果越好。
点击查看:F值表
转载:https://blog.csdn.net/junhongzhang/article/details/99143064
Z检验
- 检验一个样本平均数与一个己知的总体平均数的差异是否显著
- 检验来自两个的两组样本平均数的差异性,从而判断它们各自代表的总体的差异是否显著
使用条件:
- 正态分布
- 总体标准差已知或者样本容量足够大(>30)
在讨论T检验之前,我们先回顾如何将普通正态分布转换成标准正态分布。这需要用到下面Z分数的计算公式:,其中:为数据总体中的第个数据;为总体均值;为总体标准差;
通过上面这个公式计算得到的数值称为Z分数。对于容量比较大(大于100)的数据集,如果其满足正态分布,那么根据上面公式求出数据集中每个数值的Z分数,由这些Z分数构成一个新的序列,这个序列就是Z分布序列。
有了Z分布,Z分数的计算公式不仅可以用作普通正态分布的标准化,还被用于判断均值差异显著性的Z检验,也就是下面的情况:
1、 总体标准差已知或样本容量大于30,比较两个样本的均值是否有显著性的差异,检验公式如下:
(总体标准差已知)
(总体标准差未知,样本容量大)
其中:、是两样本均值;、是两个样本的抽样总体的均值,检验时假设两个总体的均值相等,所以差为0;、是两个总体的标准差;、是两个样本的标准差;
2、 总体标准差已知或样本容量大于30,比较某个总体的均值与某个常数是否有显著性的差异,检验公式如下:
(总体标准差已知)
(总体标准差未知,样本容量大)
其中:为样本均值;为假设与样本均值无显著性差异的常数;为总体标准差;为样本标准差;
(注意:此图中若要使用T检验,还需满足其他T检验的使用条件)
(注意:此图中n=16,它有错误)
参考:
如何理解Z检验和T检验?
假设检验之z-检验,t-检验,卡方检验