2、自變量X是一種離散數(shù)據(jù),自變量Y是一種連續(xù)數(shù)據(jù)(x可以是多種類型),如果數(shù)據(jù)正態(tài)分布,方差應齊次。
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
方差分析可以用來推斷一個或多個因素在其狀態(tài)變化時,其因素水平或交互作用是否會對實驗指標產(chǎn)生顯著影響。主要分為單因素方差分析、多因素無重復方差分析和多因素重復方差分析。
做數(shù)理統(tǒng)計課后題,發(fā)現(xiàn)方差分析計算比較麻煩,想用Python調包實現(xiàn)。但是發(fā)現(xiàn)大多教程對參數(shù)的講解不是很清楚,在此做記錄。
主要用到的庫是pandas和statsmodels。簡要流程是,先用pandas庫的DataFrame數(shù)據(jù)結構來構造輸入數(shù)據(jù)格式。然后用statsmodels庫中的ols函數(shù)得到最小二乘線性回歸模型。最后用statsmodels庫中的anova_lm函數(shù)進行方差分析。
到此這篇關于python方差檢驗的含義及用法的文章就介紹到這了,更多相關python方差檢驗是什么意思內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!