目錄
一元方差分析
一元單因素方差分析
一元多因素方差分析
協方差分析
場景:5種不同畫素的數位相機(單因素)對銷量(研究的因變數)是否有顯著差異
g = dc_sales['pixel'].unique()
args =
for i in list(g):
# 將pixel變數轉化為分類變數並為其值掛標籤dc_sales['pixel']=dc_sales['pixel'].astype('category')
dc_sales['pixel'].cat.categories=['500畫素以下','500-600萬畫素','600-800萬畫素','800-1000萬畫素','1000萬畫素以上']
dc_sales['pixel'].cat.set_categories=['500畫素以下','500-600萬畫素','600-800萬畫素','800-1000萬畫素','1000萬畫素以上']
若方差齊性檢驗不滿足1、檢查某些特殊表現的觀測值,剔除
2、使用無方差齊性的多重比較方法
3、資料變換(log/正態)
4、非引數檢驗
#1.方差齊性檢驗
stats.levene(*args)【p越大越滿足方差齊性】
#2.f檢驗
stats.f_oneway(*args)
#2.2 更詳細的結果
from statsmodels.formula.api import ols
dc_sales_anova=sm.stats.anova_lm(ols('sales ~ c(pixel)',dc_sales).fit())
print dc_sales_anova
>> df sum_sq mean_sq f pr(>f)
>>c(pixcel) 4 10472 2618 19 1.5e-08
>>residual 35 4682 133 nan nan
組間離差平方和(ssa)=10472,組內離差平方和(sse)=4682
組間方差=10472/4,組內方差=4682/35
多重比較檢驗
f檢驗只能回答多組之間的均值不同,但不不能說是哪幾組不同
通過2組配對比較,可以看哪幾組均值存在差異
# 對5種不同畫素兩兩對比,10個結果,看meandiff和p值即可
# 當然多重檢驗會有問題,這裡有多重檢驗校正之類的
因素單獨對因變數產生的影響為主效應,因素之間共同對因變數產生的影響稱為互動作用
多因素方差分析假定因素和因變數之間的關係是線性關係
# 只考慮主效應
formula = 'space ~ c(education)+c(unit)+c(income)+c(type)'
house_anova = sm.stats.anova_lm(ols(formula,data=house).fit(),typ=3)
#typ=3代表作方差分析type3型檢驗
print house_anova
>> sum_sq df f pr(>f)
intercept 28663 1 89 1.5e-19
c(eudcation) 1519 3 1.58 1.9e-01
c(unit) 886 5 0.55 7.3e-01
c(income) 10545 4 8.25 1.99e-06
c(type) 9604 10 3 1.09e-03
residual 143477 449 nan nan
這個結果與直接ols很像,但是不一樣哦,比如income有四個型別,ols的結果會把這四個型別的每個p值等等也會顯現出來~
# 有互動效應
formula = 'space ~ c(income)*c(type)'
house_anova_inter=sm.stats.anova_lm(ols(formula,data=house).fit())
將方差分析與回歸分析結合【個人覺得協方差分析=廣義線性回歸】
方差分析:乙個或幾個因子(分類變數) 對y(連續變數)的影響
回歸分析:乙個或幾個變數(連續變數) 對y(連續變數)的影響
將那些難以控制的因素當作協變數,在排除協變數影響的條件下,分析可控因素對因變數的影響
注意:協變數往往是連續型變數
因變數=因素主效應+因素互動效應+協變數+隨機誤差
formula='sales~points+c(market)*c(warranty)'
sale_points_anova_cov=sm.stats.anova_lm(ols(formula,data=sale_points).fit())
注意理解這裡排除points,其實在ols中的結果每一條都是固定其他不變,這一條的單獨影響,所以協方差分析和ols如出一轍 雙因素方差分析 多因素方差分析
在前面我們講過簡單的單因素方差分析,這一篇我們講講雙因素方差分析以及多因素方差分析,雙因素方差分析是最簡單的多因素方差分析。單因素分析就是只考慮乙個因素會對要比較的均值產生影響,而多因素分析是有多個因素會對均值產生影響。需要注意的是乙個因素可能會有不同的水平值,即不同的取值。比如要判斷某一款藥對某種...
Python 多因素方差分析
在實際應用中,乙個實驗的指標往往受到多個因素的影響。例如飲料的銷量有可能受到銷售地區或者飲料顏色的影響。在方差分析中,若把飲料的顏色看做影響銷量的因素a,把銷售地區看做影響因素b。同時對因素a和因素b進行分析,就稱為雙因素方差分析。a b c a1 b1 20 a1 b2 22 a1 b3 24 a...
方差分析anova
參考 方差分析 analysis of variance,簡稱anova 方差分析 anova 又稱 變異數分析 或 f檢驗 是r.a.fister發明的,用於兩個及兩個以上樣本均數差別的顯著性檢驗。由於各種因素的影響,研究所得的資料呈現波動狀。造成波動的原因可分成兩類,一是不可控的隨機因素,另一是...