码迷,mamicode.com
首页 > 其他好文 > 详细

statsmodels中方差分析表结果解析

时间:2020-01-04 16:04:01      阅读:652      评论:0      收藏:0      [点我收藏+]

标签:十分   img   不同   taf   xls   需要   因此   检验   from   

引言

通常我们在对多个变量进行统计分析的时候,结果的汇总和整理需要耗费大量的时间和精力,稍有不慎还有可能出现错误。因此在对多个变量统计分析的时候,使用自动化的脚本对结果进行整理和汇总就十分的方便了。
这里笔者使用Python当中的statsmodels模块,以方差分析为例进行演示和说明。

方差分析结果解析

import pandas as pd
df = pd.read_excel(r'20200104_test.xlsx', header=0, index_col=0)
df.head()

技术图片

import statsmodels.formula.api as smf
import statsmodels.api as sm

formula = f'A~C(Group)'
model = smf.ols(formula=formula, data=df).fit()
table = sm.stats.anova_lm(model, typ=3)
table

技术图片

f = table['F']['C(Group)']
p = table['PR(>F)']['C(Group)']
resDf = pd.DataFrame()
resDf = resDf.append({'F': f, 'P': p, 'Formula': formula}, ignore_index=True)
resDf.head()

技术图片

可以看到,这里table是方差分析的结果数据,可以通过类似map键值索引的方式去读取不同的数据。

事后检验结果解析

方差分析后,只能对组效应是否显著进行判断,但具体是哪几个组之间存在显著差异还需要进一步通过事后检验来确定。这里使用TukeyHSD检验。

from statsmodels.stats.multicomp import pairwise_tukeyhsd
from statsmodels.stats.multicomp import MultiComparison

mc = MultiComparison(df['A'], df['Group'])
mc_results = mc.tukeyhsd()
print(mc_results)

技术图片

meandiff = mc_results._results_table[1][2].data
meandiff

技术图片

参考

Analysis of Variance (ANOVA)
statsmodels

statsmodels中方差分析表结果解析

标签:十分   img   不同   taf   xls   需要   因此   检验   from   

原文地址:https://www.cnblogs.com/sangf/p/12149222.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!