python数据分析----卡方检验,T检验,F检验,K-S检验

python数据分析----卡方检验,T检验,F检验,K-S检验_第1张图片

卡方检验

卡方检验是一种用途很广的计数资料的假设检验方法。它属于非参数检验的范畴,主要是比较两个及两个以上样本率( 构成比)以及两个分类变量的关联性分析。其根本思想就是在于比较理论频数和实际频数的吻合程度或拟合优度问题。

卡方检验的用途:

1、检验某个连续变量的分布是否与某种理论分布相一致。例如是否符合正态分布,均匀分布,Poisson分布
2、检验某个分类变量的各类的概率是否等于指定概率
3、检验某两个分类变量是否 相互独立
4、检测两种方法的检测结果是否一致
5、检测控制某种或某几种的变量后,另外两个分类变量是否相互独立。

数据类型

连续

正太分布的检验

基本假设H0是:观察频数与期望频数没有差别。

norm_quantiles = [0,.05,0.1,1-0.1,1-0.05,1]
X1 = stats.norm(0.1, 1) # 标准差一样
X1_sample = X1.rvs(n) # 生成第 1 组数据
crit = stats.norm.ppf(norm_quantiles,0.1,1)#对应的x轴的值
frequent = np.histogram(X1_sample,bins=crit)#区间统计频率
plt.hist(X1_sample,bins=crit)
nprob = np.diff(norm_quantiles) #区间占比率
#生成数据的频率与实际的理论频率进行卡方检验
stats.chisquare(frequent[0],nprob*X1_sample.size)
Power_divergenceResult(statistic=3.3112499999999847, pvalue=0.5071517715019188)

  1. 离散型卡方检验使用的条件(检验某两个分类变量是否相互独立):

    四格表卡方检验用于进行两个率或两个构成比的比较。
    要求样本含量应大于40且每个格子中的理论频数不应小于5。
    当样本含量大于40但理论频数有小于5的情况时卡方值需要校正,当样本含量小于40时只能用确切概率法计算概率。
    (1)所有的理论数T≥5并且总样本量n≥40,用Pearson卡方进行检验。
    (2)如果理论数T<5但T≥1,并且总样本量n≥40,用连续性校正的卡方进行检验。
    (3)如果有理论数T<1或n<40,则用Fisher’s检验。

想对两个或两个以上因子彼此之间是否相互独立做检验时,就要用到卡方检验
独立性检验中,H0:AB无关(没有差别),H1:AB有关系

testarray = np.array([[10,10,20],[20,20,20]])
ss.chi2_contingency(testarray) ## chi2_contingency(矩阵)
(2.7777777777777777, 0.24935220877729622, 2, array([[12., 12., 16.],
[18., 18., 24.]]))
p=0.2>0.05不能拒绝原假设,两者无关

T分布

1 一是正态性、二是方差齐性。
2 单一T检验:数据的均值与一个数据有误差异。
3配对T检验:一组数据在处理前后有误差异。(有米有服药前后的差异性)
4独立样本t检验:用来看两组数据的平均值有无差异性。
a = list(range(10))
b = list(range(10))
ss.ttest_ind(a,b)
Ttest_indResult(statistic=0.0, pvalue=1.0)
由于p=1,那么不能拒绝原假设,二者数据无显著的差异。

F检验

F检验又叫方差齐性检验。在两样本t检验中要用到F检验。
F检验法是英国统计学家Fisher提出的,主要通过比较两组数据的方差 S^2,以确定他们的精密度是否有显著性差异。至于两组数据之间是否存在系统误差,则在进行F检验并确定它们的精密度没有显著性差异之后,再进行t 检验。

agr1 = list(range(10))
agr2 = list(range(10))
agr3 = list(range(10))
ss.f_oneway(agr1,agr2,agr3)
F_onewayResult(statistic=0.0, pvalue=1.0)pvalue=0.0003294409907454654)
p>0.05:不能拒绝原假设,方差具有齐次性。

你可能感兴趣的:(python数据分析----卡方检验,T检验,F检验,K-S检验)