目录
文章导航
一、假设检验的基本思想
假设检验的基本思想是基于小概率反证法思想。具体来说,它首先对总体的某项或某几项参数做出某种假设,然后基于样本数据计算统计量,并根据预先设定的显著性水平来判断这个假设是否成立。
在这个过程中,如果所假设的某种小概率事件在一次试验中发生了,那么就有理由怀疑原假设的真实性,从而拒绝原假设。这种推理方法类似于反证法,即先假设某命题成立,然后通过逻辑推理或实验证据来验证这个假设的正确性。
二、假设检验步骤
1、建立原假设和备择假设
这是假设检验的起始点。原假设(H0)通常是我们想要检验的假设,而备择假设(H1)则是当原假设被拒绝时所接受的假设。这两个假设是互斥的,且必须涵盖所有可能的结果。
2、确定显著性水平α
显著性水平是我们在做出决策时愿意承担的风险,也就是犯第一类错误(即原假设为真但被拒绝)的概率。它通常被设定为一个小的概率值,比如0.05或0.01。
3、选择检验统计量
这是假设检验的关键步骤,需要根据问题的性质选择合适的检验统计量。检验统计量是一个能够反映样本数据与原假设之间关系的随机变量。
4、根据确定的显著性水平α,查表求临界值
临界值是用来与原假设下的检验统计量进行比较的阈值。当检验统计量的值超过这个临界值时,我们就有理由拒绝原假设。
5、计算检验统计值
这是基于样本数据进行的计算,得出的检验统计值将用于与原假设下的临界值进行比较。
6、比较检验统计值与临界值,确定是否拒绝原假设
如果检验统计值的绝对值大于或等于临界值,那么我们拒绝原假设,接受备择假设;否则,我们接受原假设。
通过这六个步骤,我们可以利用假设检验方法对总体参数进行推断,并根据样本数据做出决策。需要注意的是,假设检验的结论并不是绝对的,而是基于一定概率的推断,因此在实际应用中需要谨慎对待。
三、假设检验的方法
1、Z检验
常用于总体正态分布、方差已知或独立大样本的平均数的显著性和差异的显著性检验,以及非正态分布的皮尔森积差相关系数和二列相关系数的显著性检验等情况。
2、t检验
又可分为单样本t检验、双样本t检验和配对样本t检验。单样本t检验用于比较一个样本的均值是否与已知的总体均值有显著差异;双样本t检验用于比较两个独立样本的均值是否有显著差异;配对样本t检验则用于比较两个相关样本的均值是否有显著差异。t检验常用于总体正态分布、总体方差未知或独立小样本的平均数的显著性检验,平均数差异显著性检验等情况。
3、χ2检验
χ2检验方法能够处理一个因素两项或多项分类的实际观察频数与理论频数分布是否相一致的问题。它常用于计数数据的检验、样本方差与总体方差的差异检验等情况。χ2检验在分析计数数据的时候,对计数数据总体的分布形态不做任何假设,是非参数检验方法的一种。
4、F检验
常用于独立样本的方差的差异显著性检验。F检验是通过比较两组数据的方差,以确定它们是否有显著性差异。
四、两类错误
1、α错误或拒真错误
当假设H0正确时,小概率事件也有可能发生,此时我们会拒绝假设H0。因而犯了“弃真”的错误,称此为第一类错误,犯第一类错误的概率恰好就是“小概率事件”发生的概率α,即
P{拒绝H0/H0为真}=α
2、β错误或取伪错误
当假设H0不正确,但一次抽样检验未发生不合理结果时,这时我们会接受H0,因而犯了“取伪”的错误,称此为第二类错误,记β为犯第二类错误的概率,即
P{接受H0/H0不真}=β
五、小试牛刀
1、背景
假设工厂生产质量标准中要求产品的某项缺陷的不合格品率P不能超过3%,现从一批产品中随机抽取50份产品进行检验,发现有2支不台格品,问此批产品能否放行?
2、思考步骤
1、建立原假设和备择假设:
原假设H0:不合格品率P ≤ 0.03(即这批产品的不合格品率不超过3%)。
备择假设H1:不合格品率P > 0.03(即这批产品的不合格品率超过3%)。
2、确定显著性水平α:
显著性水平α设为0.05,即我们愿意承担犯第一类错误的最大概率为5%。
3、选择检验统计量及其分布:
在这种情况下,我们通常会使用二项分布或近似正态分布进行检验。由于样本量较大(n=50),我们可以使用正态近似。
检验统计量通常为样本不合格品率的Z值。
4、计算检验统计量的值:
样本不合格品率p_hat = 2/50 = 0.04。
根据原假设,我们期望的不合格品率是0.03,因此,Z值可以通过以下公式计算:
Z = (p_hat - P0) / sqrt(P0 * (1 - P0) / n),其中P0是原假设中的不合格品率,n是样本大小。
5、确定临界值:
在α=0.05的显著性水平下,查找标准正态分布表或使用统计软件得到临界值。对于单侧检验,我们查找的是右侧临界值。
6、比较检验统计量的值和临界值:
如果Z值小于临界值,则接受原假设H0;如果Z值大于或等于临界值,则拒绝原假设H0。
2、代码实现
import numpy as np
from scipy import stats
# 参数设置
n = 50 # 样本大小
x = 2 # 不合格品数量
P0 = 0.03 # 原假设中的不合格品率
alpha = 0.05 # 显著性水平
# 计算样本不合格品率
p_hat = x / n
# 计算Z值
Z = (p_hat - P0) / np.sqrt(P0 * (1 - P0) / n)
# 使用scipy的norm.sf函数计算右侧尾部概率(即p值)
p_value = 1 - stats.norm.cdf(Z)
# 判断是否拒绝原假设
if p_value < alpha:
print(f"在α={alpha}的显著性水平下,Z值对应的p值小于α,因此拒绝原假设H0。")
print(f"这批产品的不合格品率超过了3%,不能放行。")
else:
print(f"在α={alpha}的显著性水平下,Z值对应的p值不小于α,因此接受原假设H0。")
print(f"这批产品的不合格品率没有超过3%,可以放行。")
# 输出Z值和p值
print(f"Z值为:{Z:.2f}")
print(f"p值为:{p_value:.4f}")
在α=0.05的显著性水平下,Z值对应的p值不小于α,因此接受原假设H0。
这批产品的不合格品率没有超过3%,可以放行。
Z值为:0.41
p值为:0.3392