實驗設計與數據處理(大數據分析B中也用到F分布,故總結一下,加深印象)第3課小結——實驗的方差分析(one-way analysis of variance)
概述
- 實驗結果\(S\)受多個因素\(A_i\)影響,但影響的程度各不相同,如何通過實驗數據來確定因素的影響程度呢?其函數關系為
- 方差
標准差的平方
,表征\(x_i\)與\(\bar{x}\)的偏離程度。
-
方差分析(ANalysis Of VAriance,簡稱
ANOVA
)
利用實驗數據與均值的偏離程度來判斷各因素對實驗結果影響顯著性
程度的方法。方差分析實質上是研究自變量
(因素)與因變量
(實驗結果)的相互關系 -
指標(experimental index)
衡量或考核實驗效果的參數 。
- 因素(experimental factor)
影響實驗指標的條件,可控因素
- 水平
因素的不同狀態或內容
單因素實驗的方差分析
單因素實驗方差分析基本問題
(1)目的:檢驗一個因素對實驗結果的影響是否顯著性
單因素實驗方差分析基本步驟
1)計算平均值
組內平均值(同一水平的平均值)
總平均值
2)計算離差平方和
- 總離差平方和\(SS_T\)(sum of squares for total)
表示了各實驗值與總平均值的偏差的平方和
反映了實驗結果之間存在的總差異
- 組間離差平方和 \(SS_A\) (sum of square for factor A)
反映了各組內平均值之間的差異程度
由於因素A不同水平的不同作用造成的
- 組內離差平方和$ SS_e $(sum of square for error)
反映了在各水平內,各實驗值之間的差異程度
由於隨機誤差的作用產生
- 三種離差平方和之間關系:
3)計算自由度(degree of freedom)
- 總自由度(\(SS_T\)對應的自由度):\(df_T=n-1\)
- 組間自由度(\(SS_A\)對應的自由度):\(df_A=r-1\)
- 組內自由度(\(SS_e\)對就的自由度):\(df_e=n-r\)
三者關系:\(df_T=df_A+df_e\)
4)計算平均平方
- 均方 = 離差平方和除以對應的自由度
式中,\(MA_A\)——組間均方,\(MS_e\)——組內均方/誤差的均方
5)F檢驗
-
服從自由度為\((df_A,df_e)\)的
F分布
(F distribution) -
對於給定的顯著性水平\(\alpha\),從
F分布表
查得臨界值\(F_{\alpha}(df_A,df_e)\) -
如果\(F_A > F_{\alpha}(df_A,df_e)\),則認為因素A對實驗結果
有顯著影響
,否則認為因素A對實驗結果沒有顯著影響
。
6)方差分析表
差異源 | \(SS\) | \(df\) | \(MS\) | \(F\) | 顯著性 |
---|---|---|---|---|---|
組間(因素A) | \(SS_A\) | \(r-1\) | \(MS_A=SS_A/(r-1)\) | \(MS_A/MS_e\) | |
組內(誤差) | \(SS_e\) | \(n-r\) | \(MS_e=SS_e/(n-r)\) | ||
總和 | \(SS_T\) | \(n-1\) |
- 若\(F_A > F_{0.01}(df_A,df_e)\),稱因素A對實驗結果有
非常顯著
的影響,用**
號表示; - 若\(F_{0.05}(df_A,df_e)<F_A<F_{0.01}(df_A,df_e)\),則因素A對實驗結果
有顯著
的影響,用*
號表示; - 若\(F_A < F_{0.05}(df_A,df_e)\),稱因素A對實驗結果的影響
不顯著
。
雙因素實驗的方差分析
- 討論兩個因素對實驗結果影響的顯著性,以稱
二元方差分析
雙因素無重復實驗的方差分析
雙因素無重復實驗
\(B_1\) | \(B_2\) | \(\cdots\) | \(B_s\) | |
---|---|---|---|---|
\(A_1\) | \(x_{11}\) | \(x_{12}\) | \(\cdots\) | \(x_{1s}\) |
\(A_2\) | \(x_{21}\) | \(x_{22}\) | \(\cdots\) | \(x_{2s}\) |
\(\cdots\) | \(\cdots\) | \(\cdots\) | \(\cdots\) | \(\cdots\) |
\(A_r\) | \(x_{r1}\) | \(x_{r2}\) | \(\cdots\) | \(x_{rs}\) |
1)計算平均值
總平均:
\(A_i\)水平時:
\(B_j\)水平時:
2)計算離差平方和
- 總離差平方和:
- 因素A引起離差平方和:
- 因素B引起的離差平方和:
- 誤差平方和:
3)計算自由度
\(SS_A\)的自由度 | \(SS_B\)的自由度 | \(SS_e\)的自由度 | \(SS_T\)的自由度 |
---|---|---|---|
\(df_A=r-1\) | \(df_B=s-1\) | \(df_e=(r-1)(s-f)\) | \(df_T=n-1=rs-1\) |
4)計算均方
A均方 | B均方 | e均方 |
---|---|---|
\(MS_A=\dfrac{SS_A}{df_A}=\dfrac{SS_A}{r-1}\) | \(MS_B=\dfrac{SS_B}{df_A}=\dfrac{SS_B}{s-1}\) | \(MS_e=\dfrac{SS_e}{df_e}=\dfrac{SS_e}{(r-1)(s-1)}\) |
5)F 檢驗
- \(F_A\)服從自由度為\((df_A,df_e)\)的F分布:\(F_A=\dfrac{MS_A}{MS_e}\)
- \(F_B\)服從自由度為\((df_B,df_e)\)的F分布:\(F_A=\dfrac{MS_B}{MS_e}\)
- 對於給定的的顯著性水平\(\alpha\),查F分布表:
- 如果\(F_A > F_{\alpha}(df_A,df_e)\),則認為因素A對實驗結果
有顯著影響
,否則認為因素A對實驗結果沒有顯著影響
。 - 如果\(F_B > F_{\alpha}(df_B,df_e)\),則認為因素A對實驗結果
有顯著影響
,否則認為因素A對實驗結果沒有顯著影響
。
6)無重復實驗雙因素方差分析表
差異源 | \(SS\) | \(df\) | \(MS\) | \(F\) | 顯著性 |
---|---|---|---|---|---|
因素A | \(SS_A\) | \(r-1\) | \(MS_A=SS_A/(r-1)\) | \(MS_A/MS_e\) | |
因素B | \(SS_B\) | \(s-1\) | \(MS_B=SS_B/(s-1)\) | \(MS_B/MS_e\) | |
誤差 | \(SS_e\) | \((r-1)(s-1)\) | \(MS_e=SS_e/((r-1)(s-1))\) | ||
總和 | \(SS_T\) | \(rs-1\) |
雙因素重復實驗基本問題
-
交互作用——因素間的聯全作用稱為交互作用
-
因素間沒有聯合作用——相互獨立,獨立效應
-
因素間有聯合作用——交互作用,交互效應
雙因素重復實驗方差分析基本步驟
1)計算平均值
- 組合水平\((A_i,B_i)\)上的\(c\)次實驗值的算術平均值
- \(A_i\)水平時所有實驗值的算術平均值:
- \(B_j\)水平時:
- 所有實驗的總平均值:
2)計算離差平方和
- 總離差平方和:
- \(SS_A\)為A引起的離差平方和:
- \(SS_B\)為B引起的離差平方和:
- \(SS_{A\times{B}}\)為\(A\times{B}\)引起的離差平方和:
- \(SS_e\)為誤差平方和:
3)計算自由度
\(SS_A\)的自由度 | \(SS_B\)的自由度 | \(SS_{A\times{B}}\)的自由度 | \(SS_e\)的自由度 | \(SS_T\)的自由度 |
---|---|---|---|---|
\(df_A=r-1\) | \(df_B=s-1\) | \(df_{A\times{B}}=(r-1)(n-1)\) | \(df_e=rs(c-1)\) | \(df_T=n-1=rsc-1\) |
4)計算均方
A均方 | B均方 | \(A\times{B}\)均方 | e均方 |
---|---|---|---|
\(MS_A=\dfrac{SS_A}{df_A}=\dfrac{SS_A}{r-1}\) | \(MS_B=\dfrac{SS_B}{df_A}=\dfrac{SS_B}{s-1}\) | \(MS_{A\times{B}}=\dfrac{SS_{A\times{B}}}{(r-1)(s-1)}\) | \(MS_e=\dfrac{SS_e}{df_e}=\dfrac{SS_e}{rs(c-1)}\) |
5)F 檢驗
- \(F_A\)服從自由度為\((df_A,df_e)\)的F分布:\(F_A=\dfrac{MS_A}{MS_e}\)
- \(F_B\)服從自由度為\((df_B,df_e)\)的F分布:\(F_A=\dfrac{MS_B}{MS_e}\)
- \(F_{A\times{B}}\)服從自由度為\((df_{A\times{B}},df_e)\)的F分布:\(F_A=\dfrac{MS_{A\times{B}}}{MS_e}\)
- 對於給定的的顯著性水平\(\alpha\),查F分布表:
- 如果\(F_A > F_{\alpha}(df_A,df_e)\),則認為因素A對實驗結果
有顯著影響
,否則認為因素A對實驗結果沒有顯著影響
。 - 如果\(F_B > F_{\alpha}(df_B,df_e)\),則認為因素B對實驗結果
有顯著影響
,否則認為因素B對實驗結果沒有顯著影響
。 - 如果\(F_{A\times{B}}> F_{\alpha}(df_{A\times{B}},df_e)\),則認為交互作用$$A\times{B}$$對實驗結果
有顯著影響
,否則認為因素\(A\times{B}\)對實驗結果沒有顯著影響
。
6)重復實驗雙因素方差分析表
差異源 | \(SS\) | \(df\) | \(MS\) | \(F\) | 顯著性 |
---|---|---|---|---|---|
因素A | \(SS_A\) | \(r-1\) | \(MS_A=SS_A/(r-1)\) | \(MS_A/MS_e\) | |
因素B | \(SS_B\) | \(s-1\) | \(MS_B=SS_B/(s-1)\) | \(MS_B/MS_e\) | |
交互作用 | \(SS_{A\times{B}}\) | \((r-1)(s-1)\) | \(MS_{A\times{B}}=\dfrac{SS_{A\times{B}}}{(r-1)(s-1)}\) | \(MS_{A\times{B}}/MS_e\) | |
誤差 | \(SS_e\) | \(rs(c-1)\) | \(MS_c=SS_e/(rs(c-1))\) | ||
總和 | \(SS_T\) | \(rsc-1\) |
R語言方差分析
R語言重復實驗方差分析
例:下表中給出了某種化式產品在3種濃度、4種溫度水平下得率的數據,試檢驗各因素及交互作用對產品得率的影響是否顯著。
濃度/% | 10℃ | 24℃ | 38℃ | 52℃ |
---|---|---|---|---|
2 | 14,11 | 11,11 | 13,9 | 10,12 |
4 | 9,7 | 10,8 | 7,11 | 6,10 |
6 | 5,11 | 13,14 | 12,13 | 14,10 |
我們令:A因素:濃度,B因素:溫度,由題可得,重復次數\(c=2\)
可以分析出如下表:
\((c_1,c_2)\) | \(B_1\) | \(B_2\) | \(B_3\) | \(B_4\) | |
---|---|---|---|---|---|
濃度/% | 10℃ | 24℃ | 38℃ | 52℃ | |
\(A_1\) | 2 | 14,11 | 11,11 | 13,9 | 10,12 |
\(A_2\) | 4 | 9,7 | 10,8 | 7,11 | 6,10 |
\(A_3\) | 6 | 5,11 | 13,14 | 12,13 | 14,10 |
接下來,我們在RStudio
(如果RStudio沒有安裝的,網上有大量的教程)中錄入我們的數據,代碼如下
X <- c(14,9,5,11,10,13,13,7,12,10,6,14,10,7,11,11,8,14,9,11,13,12,10,10)
chemistryProduct<-data.frame(X,A=gl(3,1,24),B=gl(4,3,24),c=gl(12,1,24))
chemistryProduct.aov<-aov(X~A*B,data = chemistryProduct)
summary(chemistryProduct.aov)
說明:對上述代碼的第1行和第2行簡單說明一下。
第1行中,X數據的輸入,是以列的方向輸入,先輸入第1次實驗的數據,輸入完成后再按第1次的順序輸入第2次實驗數據。第2行中,
A=gl(3,1,24)
,第一個數3
表示有3行,第二個數1
表示行方向只增加1,第三個數24
表示總共有24個數據。后面的同理。可以查看一下它的輸出如下,不難發現其中的輸入規律。可以在RStudio中查看chemistryProduct的數據結構,多試一下,自行體會一下其中的A,B,c的規律。
> chemistryProduct
X A B c
1 14 1 1 1
2 9 2 1 2
3 5 3 1 3
4 11 1 2 4
5 10 2 2 5
6 13 3 2 6
7 13 1 3 7
8 7 2 3 8
9 12 3 3 9
10 10 1 4 10
11 6 2 4 11
12 14 3 4 12
13 10 1 1 1
14 7 2 1 2
15 11 3 1 3
16 11 1 2 4
17 8 2 2 5
18 14 3 2 6
19 9 1 3 7
20 11 2 3 8
21 13 3 3 9
22 12 1 4 10
23 10 2 4 11
24 10 3 4 12
可以看到如下輸出結果:
Df Sum Sq Mean Sq F value Pr(>F)
A 2 44.33 22.167 4.092 0.0442 *
B 3 11.50 3.833 0.708 0.5657
A:B 6 27.00 4.500 0.831 0.5684
Residuals 12 65.00 5.417
---
Signif. codes:
0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
將實驗結果寫成上文所述的方差分析表,如下
差異源 | \(df\) | \(SS\) | \(MS\) | \(F\) | 顯著性 |
---|---|---|---|---|---|
因素A | 2 | 44.33 | 22.167 | 4.092 | * |
因素B | 3 | 11.50 | 3.833 | 0.708 | |
交互作用 | 6 | 27.00 | 4.500 | 0.831 | |
誤差 | 12 | 65.00 | 5.417 | ||
總和 |
由分析結果可知,因素A對產品得率有顯著性影響。