假设检验适用于(数据样本较小时)
方差检验适用于(数据样本较大时)
import numpy as np import scipy.stats as ss #生成一20个数的标准正态分布 norm_dist = ss.norm.rvs(size=20) #检测norm_dist是否是正态分布,使用的方法是基于峰度和偏度的 print(ss.normaltest(norm_dist)) #结果:NormaltestResult(statistic=0.2025598777545946, pvalue=0.9036800223028876) #第一个是统计值,第二个值是p值
(1)P分布检验常用于比较两种样本是否一致(例如:临床医疗上药物是否有效);
(2)独立分布t检验用于检测两组值的均值是都有比较大的差异性
print(ss.ttest_ind(ss.norm.rvs(size=10),ss.norm.rvs(size=20)))
#结果:Ttest_indResult(statistic=-0.575484958550556, pvalue=0.5695598474341583)
由于p值大于0.05(假定),可以接受该假设
(3)卡方检验常常用于确定两因素件是否有比较强的联系
import scipy.stats as ss
print(ss.chi2_contingency([[15,95],[85,5]]))
#结果:(126.08080808080808, 2.9521414005078985e-29, 1, array([[55., 55.],[45., 45.]]))
#第一个值为卡方值,第二个值为P值,第三个值为自由度,第四个为与原数据数组同维度的对应理论值
由于p值小于0.05(假定),拒绝该假设
(4)F检验常用于方差分析
检测统计量F,做假设检验【F满足自由度(m-1,n-m)的F分布】
SST:总变差平方和
SSM:平均平方和(组间平方和)
SSE:残差平方和(组内平方和)
print(ss.f_oneway([49,50,39,40,43],[28,32,30,26,34,],[38,40,45,42,48]))
#结果:F_onewayResult(statistic=17.619417475728156, pvalue=0.0002687153079821641)
(5)使用qq图来对比一个分布是否属于一个已知的分布
方法:看散点图的是否在x,y轴的角平分线上
from statsmodels.graphics.api import qqplot import matplotlib.pyplot as plt qqplot(ss.norm.rvs(size=100)) plt.show()
原文:https://www.cnblogs.com/Cheryol/p/11421346.html