正态分布、卡方分布、t分布和F分布的实例及相关检验解析

1 正态分布与Z检验

1.1 理论

Z检验的目的是为了验证:已知一个总体服从均值\mu,方差\sigma的正态分布,现在有一些样本,这些样本所代表的总体的均值是否为\mu

则构建一个统计量Z,

Z=\frac{\bar{X}-\mu}{\sigma/\sqrt{n}} (1)

式中,\bar{X}为样本均值,\mu为总体均值,\sigma为总体方差,n为样本数量。

若零假设(null hypothesis)成立,即:样本所代表的总体的均值为\mu,则Z服从N(0, 1)。换一种说法就是统计量Z落在下图所示的标准正态分布概率密度函数的大概率区间,也就是白色区域所对应的横轴范围。

 若Z落在阴影范围所对应的横轴区域,则假设不成立,阴影范围的选取与给定的显著性水平有关。

1.2 应用

工厂老板宣称生产的零件符合正态分布N(\mu, \sigma),质检部门抽检了100个样本,那么这些样本所代表的全部零件的均值,是否跟老板所说的正态分布均值一致。这个问题就可以通过Z检验验证,计算样本均值,将样本均值和样本数量代入式(1),看Z值落在横轴的什么区域,白色区域检验合格,黑色区域检验不合格。

2 卡方分布和卡方检验

2.1 自由度的概念

在讲卡方分布前,先要理解样本的自由度。举例说明:一个列表中有10个数字,我告诉你,这10个数字你可以随便写,那么这个列表中10个数字都是“自由的”,有10个自由度。如果我告诉你,这个列表的平均值是5,那么你前9个值你可以随便写,第10个数是固定的,因为必须满足我给定的平均值,这样一来,这个列表的自由度就是9了。

上面是一维的情况,如果推广到二维,看下面这个例子。

化妆 不化妆 总数
100
100
总数 90 110

你调查了男生、女生各100人的化妆情况,上面四个空着的格子里,你只能随便写一个,剩下的三个必须根据总数来计算,所以这个例子中,四个空着的格子是4个样本,但是只有一个样本是“自由”的,所以自由度为1。自由度的计算公式:(行数 – 1)*(列数 – 1)

 更加详细的自由度解释,参见这边文章:用可视化思维解读统计自由度 – 简书

2.2 卡方分布

卡方分布定义如下

 2.3 卡方检验

卡方检验的目的是为了验证。两个事物之间是否有关系,还是拿自由度那里提到的男女化妆比例的例子来讲。现在想研究男女性别和是否化妆,这两件事是否相关。

假定不相关(这个就是零假设),也就是说,化妆和不化妆的人群中,男女所占的比例是相同的。在零假设中,样本的标准值就是下面这样:

化妆 不化妆 总数
45 55 100
45 55 100
总数 90 110

 随机抽样的样本结果如下

化妆 不化妆 总数
X1 X2 100
X3 X4 100
总数 90 110

 X1、X2、X3、X4为4个抽样样本,其数值分别为5、95、85、15。

构建如下式所示的一个统计量

\chi^{2}=\sum_{i=1}^{k}\frac{(X_{i}-T_{i})^{2}}{T_{i}}  (2)

式中,X_{i} 表示第i个样本,T_{i} 表示第i个样本所对应的零假设值,k为样本数量

如果零假设成立,这个统计量服从自由度为n的卡方分布,化妆问题中,自由度为1,即自由度为1的卡方分布。

把样本数据代入式(2),发现其值落在了卡方分布的概率密度函数的小概率区间(与Z检验的原理类似),所以拒绝原假设。

2.4 卡方检验与卡方分布的关系

有读者看到这里会有疑问,为什么式(2)所构建的统计量服从卡方分布?

因为X_{i} 服从正态分布,\frac{X_{i}-T_i}{\sqrt{T_{i}}}也服从正态分布(正态分布的样本减去常数再除一个常数还服从正态分布),所以那个统计量就服从卡方分布啦,就是卡方分布的定义嘛!

这里再说明一个问题,为什么X_{i} 是服从正态分布的?

原假设中男性化妆和不化妆啊的概率为50%,那么100个男性中化妆的男性数量就满足正态分布了,就像扔硬币的正反面,下面的python代码直观给出了图像

import random
import matplotlib.pyplot as plt
import pandas as pd


plt.rcParams['font.sans-serif'] = ['SimHei']  # 防止中文标签乱码,还有通过导入字体文件的方法
plt.rcParams['axes.unicode_minus'] = False


def toss():
    # 1正面朝上
    return random.randint(0, 1)


def toss_100_times():
    # 掷100次硬币正面朝上的次数
    times = 0
    for i in range(100):
        times += toss()

    return times


if __name__ == "__main__":
    result = []
    for i in range(1000):
        result.append(toss_100_times())

    count = pd.value_counts(result)
    count = pd.DataFrame(count)
    count = count.sort_index(ascending=True)

    labels = list(count.index)
    data = list(count.iloc[:, 0])

    plt.bar(range(len(data)), data)
    plt.xticks(range(len(data)), labels)
    plt.xlabel("100次投掷中正面朝上的硬币数")
    plt.ylabel("频次")
    plt.show()

    print("done")

 

3 t分布和t检验

3.1 t分布

 3.2 t检验

t检验一方面可以理解为Z检验的扩展。Z检验中,要求总体方差已知,但是现实中往往未知。这种情况下,通过样本方差,来构造符合t分布的统计量,如式(3)所示,进行t检验。

t=\frac{\bar{x}-\mu}{s/\sqrt{n}}

式中,\bar{x}为样本均值,\mu为总体均值,s为样本方差,n为样本数量。

为什么这个统计量符合t分布的定义?

  详细的证明参见t分布是干什么用,t分布与t检验有什么不同,t检验到底在检验什么东西? – 知乎

 t检验还有配对t检验、两样本t检验,这里不详述了。

4 F分布与F检验

4.1 F分布

4.2 F检验

物联沃分享整理
物联沃-IOTWORD物联网 » 正态分布、卡方分布、t分布和F分布的实例及相关检验解析

发表评论