實驗的方差分析(R語言)
實驗設計與資料處理(大資料分析B中也用到F分佈,故總結一下,加深印象)第3課小結——實驗的方差分析(one-way analysis of variance),文章出自:ofollow,noindex" target="_blank">https://www.cnblogs.com/endlesscoding/p/9830572.html,未經博主同意,請勿轉載,謝謝合作 。
概述
-
實驗結果\(S\) 受多個因素\(A_i\) 影響,但影響的程度各不相同,如何通過實驗資料來確定因素的影響程度呢?其函式關係為
\[ S=f(A_1,A_2,\cdots,A_n) \tag{1} \]
-
方差
標準差的平方
,表徵\(x_i\)
與\(\bar{x}\)
的偏離程度
。
-
方差分析(ANalysis Of VAriance,簡稱
ANOVA
)利用實驗資料與均值的偏離程度 來判斷各因素對實驗結果影響
顯著性
程度的方法。 方差分析實質上是研究自變數
(因素)與因變數
(實驗結果)的相互關係 -
指標(experimental index)
衡量或考核實驗效果的引數 。
- 因素(experimental factor)
影響實驗指標的條件,可控因素
- 水平
因素的不同狀態或內容
單因素實驗的方差分析
單因素實驗方差分析基本問題
(1)目的:檢驗一個因素對實驗結果的影響是否顯著性
單因素實驗方差分析基本步驟
1)計算平均值
組內平均值(同一水平的平均值)
\[ \overline{x_i}=\frac{1}{n_i}\sum_{j=1}^{n_i}{x_{ij}} \tag{2} \]
總平均值
\[ \overline {x_i}=\frac{1}{n}\sum_{i=1}^{r}\sum_{j=1}^{n_i}{x_{ij}} \tag{3} \]
2)計算離差平方和
-
總離差平方和\(SS_T\) (sum of squares for total)
\[ SS_T = \sum_{i=1}^{r}{\sum_{j=1}^{n_i}({x_{ij}-\overline{x}})^2} \tag{4} \]
表示了各實驗值與總平均值的偏差的平方和
反映了實驗結果之間存在的總差異
-
組間離差平方和\(SS_A\) (sum of square for factor A)
\[ SS_A = \sum_{i=1}^{r}{\sum_{j=1}^{n_i}({\overline{x_{i}}-\overline{x}})^2} =\sum_{i=1}^{r}n_i({\overline{x_{i}}-\overline{x}})^2 \tag{5} \]
反映了各組內平均值之間的差異程度 由於因素A不同水平的不同作用造成的
-
組內離差平方和$ SS_e $(sum of square for error)
\[ SS_T = \sum_{i=1}^{r}{\sum_{j=1}^{n_i}({x_{ij}-\overline{x}_i})^2} \tag{6} \]
反映了在各水平內,各實驗值之間的差異程度 由於隨機誤差的作用產生
-
三種離差平方和之間關係:
\[ SS_T = SS_A + SS_e \tag{7} \]
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)計算平均平方
-
均方 = 離差平方和除以對應的自由度
\[ MS_A = SS_A/df_A \quad \quad MS_e = SS_e / df_e \]
式中,\(MA_A\) ——組間均方,\(MS_e\) ——組內均方/誤差的均方
5)F檢驗
\[ F_A = \frac{組間均方}{組內均方}=\frac{MS_A}{MS_e} \tag{8} \]
-
服從自由度為\((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)計算平均值
總平均:
\[ \overline{x} = \frac{1}{rs}\sum_{i=1}^{r}{\sum_{j=1}^{s}x_{ij}} \tag{9} \]
\(A_i\) 水平時:
\[ \overline{x}_{i\cdot} = \frac{1}{s}\sum_{j=1}^{s}x_{ij} \tag{10} \]
\(B_j\) 水平時:
\[ \overline{x}_{{\cdot}j}= \frac{1}{r}\sum_{i=1}^{s}x_{ij} \tag{11} \]
2)計算離差平方和
- 總離差平方和:
\[ \overline{x} =\sum_{i=1}^{r}{\sum_{j=1}^{s}{(x_{ij}-\overline{x})^2}} \tag{12} \]
- 因素A引起離差平方和:
\[ \overline{x} =\sum_{i=1}^{r}{\sum_{j=1}^{s}{(x_{i{\cdot}}-\overline{x})^2}}=s\sum_{j=1}^{r}{(x_{i{\cdot}}-\overline{x})^2} \tag{13} \]
- 因素B引起的離差平方和:
\[ \overline{x} =\sum_{i=1}^{r}{\sum_{j=1}^{s}{(x_{{\cdot}j}-\overline{x})^2}}=r\sum_{j=1}^{s}{(x_{{\cdot}j}-\overline{x})^2} \tag{14} \]
- 誤差平方和:
\[ \overline{x} =\sum_{i=1}^{r}{\sum_{j=1}^{s}{(x_{ij}-x_{i{\cdot}}-x_{{\cdot}j}-\overline{x})^2}} \tag{15} \]
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_{\alpha}(df_A,df_e) \quad \quad F_{\alpha}(df_B,df_e) \]
-
如果\(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\) 次實驗值的算術平均值
\[ \overline{x}_{ij{\cdot}}=\frac{1}{c}\sum_{k=1}^{c}{x_{ijk}},i=1,2,\cdots,r;j=1,2,\cdots,s \tag{16} \]
-
\(A_i\) 水平時所有實驗值的算術平均值:
\[ \overline{x}_{i\cdot\cdot} = \frac{1}{sc}\sum_{j=1}^{s}x_{ijk} = \frac{1}{s}\sum_{j=1}^{s}x_{ijk},i=1,2,\cdots,r \tag{17} \]
-
\(B_j\) 水平時:
\[ \overline{x}_{i\cdot\cdot} = \frac{1}{rc}\sum_{j=1}^{s}x_{ijk} = \frac{1}{r}\sum_{j=1}^{r}x_{ij\cdot},j=1,2,\cdots,s \tag{18} \]
- 所有實驗的總平均值:
\[ \overline{x} = \frac{1}{rsc} \sum_{i=1}^{r}\sum_{j=1}^{s}\sum_{k=1}^{c}x_{ijk} \tag{19} \]
2)計算離差平方和
-
總離差平方和:
\[ SS_T=\frac{1}{rsc}\sum_{i=1}^{r}\sum_{j=1}^{s}\sum_{k=1}^{c}{(x_{ijk}-\overline{x})^2} = SS_A+SS_B+SS_{A\times{B}}+SS_e \tag{20} \]
-
\(SS_A\) 為A引起的離差平方和:
\[ SS_A = sc\sum_{i=1}^{r}{(\overline{x}_{i\cdot\cdot}-\overline{x})^2} \]
-
\(SS_B\) 為B引起的離差平方和:
\[ SS_B = rc\sum_{j=1}^{s}{(\overline{x}_{\cdot{j}\cdot}-\overline{x})^2} \]
-
\(SS_{A\times{B}}\) 為\(A\times{B}\) 引起的離差平方和:
\[ SS_{A\times{B}} = c\sum_{i=1}^{r}\sum_{j=1}{s}{(\overline{x}_{ij\cdot}-\overline{x}_{i\cdot\cdot}-\overline{x}_{\cdot{j}\cdot}+\overline{x})^2} \]
-
\(SS_e\) 為誤差平方和:
\[ \overline{x} = \sum_{i=1}^{r}\sum_{j=1}^{s}\sum_{k=1}^{c}{(x_{ijk}-\overline{x}_{ij\cdot})^2} \]
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_{\alpha}(df_A,df_e) \quad \quad F_{\alpha}(df_B,df_e) \quad \quad F_{\alpha}(df_{A\times{B}},df_e) \]
-
如果\(F_A > F_{\alpha}(df_A,df_e)\)
,則認為因素A對實驗結果
有顯著影響
,否則認為因素A對實驗結果沒有顯著影響
。 -
如果\(F_B > F_{\alpha}(df_B,df_e)\)
,則認為因素A對實驗結果
有顯著影響
,否則認為因素A對實驗結果沒有顯著影響
。 -
如果\(F_{A\times{B}}> F_{\alpha}(df_{A\times{B}},df_e)\) ,則認為互動作用{A\times{B}對實驗結果
有顯著影響
,否則認為因素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_{A\times{B}}\) | \((r-1)(s-1)\) | \(MS_{A\times{B}}=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\)
接下來,我們在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)
如果對上面第2行 程式碼有所疑問,可以在RStudio中檢視chemistryProduct的資料結構,多試一下,自行體會一下其中的A,B,c的規律。
> chemistryProduct X A Bc 114 1 11 29 2 12 35 3 13 411 1 24 510 2 25 613 3 26 713 1 37 87 2 38 912 3 39 10 10 1 4 10 116 2 4 11 12 14 3 4 12 13 10 1 11 147 2 12 15 11 3 13 16 11 1 24 178 2 25 18 14 3 26 199 1 37 20 11 2 38 21 13 3 39 22 12 1 4 10 23 10 2 4 11 24 10 3 4 12
可以看到如下輸出結果:
Df Sum Sq Mean Sq F value Pr(>F) A244.3322.1674.092 0.0442 * B311.503.8330.708 0.5657 A:B627.004.5000.831 0.5684 Residuals1265.005.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對產品得率有顯著性影響。