方差检验
公式
χ 2 = ( n − 1 ) s 2 σ 2 \chi^2 = \frac{(n-1)s^2}{\sigma^2} χ2=σ2(n−1)s2
例:
某厂商生产出一种新型的饮料装瓶机器,按设计要求,该机器装一瓶1000ml的音量误差上下不超过1ml。如果达到设计要求,表明机器的稳定性非常好。现从该机器装完的产品中随机抽取25瓶,分别进行测定(用样本观测值分别减1000ml),得到如下:
import pandas as pd
import numpy as np
import scipy as sp
from scipy import stats
data = pd.Series([0.3,-0.3,-1.3,-0.6,-0.5,-0.4,-1.5,0.7,0.7,1,-0.7,0.6,1,-1.5,-0.2,1.4,-0.9,-0.5,-0.2,-0.6,-0.6,1.3,0,-1.9,1.1])
试以a=0.05的显著性水平检验该机器的性能是否达到设计要求。
假设:
H 0 : σ 2 ≤ 1 H_0:\sigma^2 \leq 1 H0:σ2≤1
H 1 : σ 2 > 1 H_1:\sigma^2 >1 H1:σ2>1
单侧检验
# 由题可得出
n = len(data)
s_2 = data.var()
sigma_2 = 1
a = 0.05
#计算 χ 2 分 布 值 \chi^2分布值 χ2分布值
# 自由度
df = n-1
# 计算分布值
X2_a = stats.chi2.isf(a,df)
X2_a
36.415028501807306
计算统计量
X2 = (n-1)*s_2/sigma_2
X2
20.781599999999997
依据统计量决策
if abs(X2)<abs(X2_a):
print('不能拒绝H0,差异不显著')
if abs(X2)>abs(X2_a):
print('拒绝H0,接受H1')
不能拒绝H0,差异不显著
计算p值
p_value = stats.chi2.sf(X2,df)
p_value
0.6515734165453362
依据p值决策
if p_value > a :
print('不能拒绝H0,差异不显著')
if p_value < a :
print('拒绝H0,接受H1')
不能拒绝H0,差异不显著