卡方检验、T检验+F检验、方差分析、Z检验

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 检验,有三种常用场景:

  1. 单一样本t检验
  2. 配对样本t检验
  3. 两样本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≥F边界值表面各组数据之间存在明显差异,拒绝H0假设,接受H1假设。

如果我们证实了各组数据之间是存在明显差异的,这个时候就可以去拿各组的均值来进行比较,均值越大,可以说明策略效果越好。

点击查看:F值表

转载:https://blog.csdn.net/junhongzhang/article/details/99143064


Z检验

  • 检验一个样本平均数与一个己知的总体平均数的差异是否显著
  • 检验来自两个的两组样本平均数的差异性,从而判断它们各自代表的总体的差异是否显著

使用条件:

  1. 正态分布
  2. 总体标准差已知或者样本容量足够大(>30)

在讨论T检验之前,我们先回顾如何将普通正态分布转换成标准正态分布。这需要用到下面Z分数的计算公式:,其中:为数据总体中的第个数据;为总体均值;为总体标准差;

通过上面这个公式计算得到的数值称为Z分数。对于容量比较大(大于100)的数据集,如果其满足正态分布,那么根据上面公式求出数据集中每个数值的Z分数,由这些Z分数构成一个新的序列,这个序列就是Z分布序列。

有了Z分布,Z分数的计算公式不仅可以用作普通正态分布的标准化,还被用于判断均值差异显著性的Z检验,也就是下面的情况:

1、 总体标准差已知或样本容量大于30,比较两个样本的均值是否有显著性的差异,检验公式如下:

Z=\frac{\left(\bar{X}_{1}-\bar{X}_{2}\right)-\left(\mu_{2}-\mu_{2}\right)}{\sqrt{\frac{\sigma_{1}^{2}}{n_{1}}+\frac{\sigma_{2}^{2}}{n_{2}}}}=\frac{\left(\bar{X}_{1}-\bar{X}_{2}\right)-0}{\sqrt{\frac{\sigma_{1}^{2}}{n_{1}}+\frac{\sigma_{2}^{2}}{n_{2}}}} (总体标准差已知)

Z=\frac{\left(\bar{X}_{1}-\bar{X}_{2}\right)-\left(\mu_{2}-\mu_{2}\right)}{\sqrt{\frac{S_{1}^{2}}{n_{1}}+\frac{S_{2}^{2}}{n_{2}}}}=\frac{\left(\bar{X}_{1}-\bar{X}_{2}\right)-0}{\sqrt{\frac{S_{1}^{2}}{n_{1}}+\frac{S_{2}^{2}}{n_{2}}}} (总体标准差未知,样本容量大)

其中:、是两样本均值;、是两个样本的抽样总体的均值,检验时假设两个总体的均值相等,所以差为0;、是两个总体的标准差;、是两个样本的标准差;

2、 总体标准差已知或样本容量大于30,比较某个总体的均值与某个常数是否有显著性的差异,检验公式如下:

(总体标准差已知)

(总体标准差未知,样本容量大)

其中:为样本均值;为假设与样本均值无显著性差异的常数;为总体标准差;为样本标准差;

(注意:此图中若要使用T检验,还需满足其他T检验的使用条件)

(注意:此图中n=16,它有错误)


参考:
如何理解Z检验和T检验?
假设检验之z-检验,t-检验,卡方检验

你可能感兴趣的:(卡方检验、T检验+F检验、方差分析、Z检验)