下面是生成两个变量rvs1,rvs2并且服从标准正太分布,再求出平方和x2,通过直方图显示x2,可以看到整体分布服从卡方分布。
from scipy import stats
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sbn
np.random.seed(123)
rvs1 = stats.norm.rvs(loc=0,scale=1,size=100)
rvs2 = stats.norm.rvs(loc=0,scale=1,size=100)
x2 = rvs1*rvs1+rvs2*rvs2
fig = plt.figure(1)
plt.clf()
sbn.histplot(x2 ,color='r',bins=10,kde=True)
fig.savefig('mlp_pictures/fig.png')
总体方差检验:
上个章节我们讲了t检验,t检验主要是检验总体的均值,这节主要讲卡方检验,卡方检验主要检验总体方差。例如,在质量检验中,质量标准可以通过不同的标准来衡量,有些属于均值标准,如质量、尺寸、强度等。有些属于方差标准,如尺寸的方差、质量的方差、强度的方差,方差可以反应质量的稳定性,方差越大说明质量波动越大,方差越小说明质量比较稳定。
测试代码:
import pandas as pd
import numpy as np
from scipy import stats
observe=np.array([18,20,42,10])
expect=np.array([25.33,12.66,34.66,17.33])
chi_squared_stat = ((observe-expect)**2/expect).sum()
print(chi_squared_stat)
crit = stats.chi2.ppf(q=0.95,df=1)
print(crit)
P_value = 1-stats.chi2.cdf(x=chi_squared_stat,df=1)
print(P_value)