欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python方差分析

程序员文章站 2024-01-19 15:31:58
...

一元方差分析

一元单因素方差分析

场景:5种不同像素的数码相机(单因素)对销量(研究的因变量)是否有显著差异

G = dc_sales['pixel'].unique()
args = []
for I in list(G):
    args.append(dc_sales[dc_sales['pixel']==I]['sales'])
#1.方差齐性检验
stats.levene(*args)【p越大越满足方差齐性】
#2.f检验
stats.f_oneway(*args)
#2.2 更详细的结果
from statsmodels.formula.api import ols
dc_sales_anova=sm.stats.anova_lm(ols('sales ~ C(pixel)',dc_sales).fit())
print dc_sales_anova
>>              df      sum_sq     mean_sq       F     pr(>F)
>>C(pixcel)     4       10472       2618        19    1.5e-08
>>Residual      35      4682        133         NaN    NaN

组间离差平方和(SSA)=10472,组内离差平方和(SSE)=4682

组间方差=10472/4,组内方差=4682/35

多重比较检验

from statsmodels.stats.multicomp import pairwise_tukeyhsd
ds_sales_anova_post=pairwise_tukeyhsd(dc_sales['sales'],dc_sales['pixel'].alpha=0.5)
dc_sales_anova_post.summary()
# 对5种不同像素两两对比,10个结果,看meandiff和P值即可
# 当然多重检验会有问题,这里有多重检验校正之类的

 一元多因素方差分析