ANOVA

變異數分析模型,包含用於使用線性 OLSModel 進行變異數分析的 anova_lm,以及用於重複測量變異數分析的 AnovaRM,適用於平衡數據的變異數分析。

範例

In [1]: import statsmodels.api as sm

In [2]: from statsmodels.formula.api import ols

In [3]: moore = sm.datasets.get_rdataset("Moore", "carData",
   ...:                                  cache=True) # load data
   ...: 

In [4]: data = moore.data

In [5]: data = data.rename(columns={"partner.status":
   ...:                             "partner_status"}) # make name pythonic
   ...: 

In [6]: moore_lm = ols('conformity ~ C(fcategory, Sum)*C(partner_status, Sum)',
   ...:                 data=data).fit()
   ...: 

In [7]: table = sm.stats.anova_lm(moore_lm, typ=2) # Type 2 ANOVA DataFrame

In [8]: print(table)
                                              sum_sq    df          F    PR(>F)
C(fcategory, Sum)                          11.614700   2.0   0.276958  0.759564
C(partner_status, Sum)                    212.213778   1.0  10.120692  0.002874
C(fcategory, Sum):C(partner_status, Sum)  175.488928   2.0   4.184623  0.022572
Residual                                  817.763961  39.0        NaN       NaN

關於 anova_lm 的更詳細範例可以在這裡找到

模組參考

anova_lm(*args, **kwargs)

一個或多個擬合線性模型的變異數表。

AnovaRM(data, depvar, subject[, within, ...])

使用最小平方法迴歸的重複測量變異數分析


上次更新:2024 年 10 月 03 日