import pandas as pd
import numpy as np
from statsmodels.formula.api import ols
from statsmodels.stats.anova import anova_lm
data = pd.DataFrame([[1, 1, 32],
[1, 2, 35],
[1, 3, 35.5],
[1, 4, 38.5],
[2, 1, 33.5],
[2, 2, 36.5],
[2, 3, 38],
[2, 4, 39.5],
[3, 1, 36],
[3, 2, 37.5],
[3, 3, 39.5],
[3, 4, 43]],
columns=['x1', 'x2', 'y'])
# 多因素無重復試驗,不計算交互作用的影響
model = ols('y~C(x1) + C(x2)', data=data[['x1', 'x2', 'y']]).fit()
anovat = anova_lm(model)
anovat
方差分析可以用來推斷一個或多個因素在其狀態變化時,其因素水平或交互作用是否會對實驗指標產生顯著影響。主要分為單因素方差分析、多因素無重復方差分析和多因素重復方差分析。
主要用到的庫是pandas和statsmodels。簡要流程是,先用pandas庫的DataFrame數據結構來構造輸入數據格式。然后用statsmodels庫中的ols函數得到最小二乘線性回歸模型。最后用statsmodels庫中的anova_lm函數進行方差分析。
到此這篇關于python方差檢驗的含義及用法的文章就介紹到這了,更多相關python方差檢驗是什么意思內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!