分散テーブルの分析分析の結果をstatsmodels

入門

統計分析、集約・統合の結果の時に私たちは通常、複数の変数は、多くの時間と労力を必要とし、わずかなミスがあり、エラーが発生することがあります。結果を照合し、非常に便利な、それを要約する自動スクリプトを使用して、複数の変数のため、統計分析。
ここでIは、例示および説明の一例として、分散分析にstatsmodelsモジュール間のPythonを使用します。

分散分析の分析結果

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()

それはここで見られる表は、データの分散分析の結果であり、異なるデータは、同様の方法によってインデックス付けマップキーに読み出すことができます。

その後、分析試験結果

分散分析した後、グループにのみ効果が有意であるかどうかを判断することができますが、さらにポストホック検定によって決定される必要があるいくつかのグループの間で具体的な有意差。本明細書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

参照

分散分析(ANOVA)
statsmodels

おすすめ

転載: www.cnblogs.com/sangf/p/12149222.html