『统计学』第五部分:方差分析和F检验
第四部分的卡方檢驗是研究類別變量之間的關系,而這一部分的方差分析則是研究類別型自變量與數值型因變量之間的關系,它在形式上是比較多個總體的均值是否相等。
從形式上看,方差分析與之前的t檢驗或z檢驗區別不大,都是檢驗均值是否相等,但在比較多個均值時,t檢驗需要做多次兩兩比較的假設檢驗,而方差分析只需要一次,并且方差分析中是將所有的樣本信息結合在一起,增加了分析的可靠性。
下面我們仍舊從三個問題出發來研究一下方差分析:
- 方差分析到底是啥?
- 方差分析從哪里來?
- 方差分析要到哪里去?(有什么用?)
這里并不打算按照這個順序來分析這三個問題,因為很多理論都是為了解決某些實際問題而提出的,理論只是對解決方法的高度概括,從實際問題出發,反而可以更好地理解為什么要研究這些理論。下面將從以下幾個方面來回答這些問題:
- 1、為什么要做方差分析?(方差分析有什么用?)
- 2、方差分析到底是啥?從哪里來的?
- 3、方差分析的基本假定
- 4、單因素方差分析
1、為什么要做方差分析?
這里舉個實際的例子來引出方差分析,這樣會對方差分析具體在做什么有更深的印象:
為了研究客戶滿意度是否與行業有關,消費者協會對各個行業抽樣了數量不等的公司,分別統計了各個公司的被投訴次數:
那么基于以上的數據,你是否可以判斷客戶的投訴次數與行業有關。
問題其實比較清晰,就是比較這四個行業之間被投訴的均值是否相等,這里的行業就是類別型自變量,被投訴次數就是數值型因變量。所以方差分析要研究的就是行業對被投訴次數是否有顯著影響。
2、方差分析到底是啥?從哪里來的?
方差分析的思想來自于誤差的分解,對于來自同一個分布的數據,抽樣帶來的誤差其實只有隨機誤差,即隨機抽樣抽到的不同值與均值之間的差距,以上面這個例子為例,我們可以把各個行業內部的抽樣數據認為是來自同一個分布,即零售業不同企業有不同的被投訴次數,他們之間的不同可以認為只是隨機誤差,也被稱為組內誤差(SSE)。
不同行業之間誤差被稱為組間誤差(SSA),如果被投訴次數與行業無關,可以認為不同行業的抽樣也是來自于同一總體分布的抽樣,那么此時誤差只有隨機誤差。而如果不同行業的抽樣并不是來自同一總體分布,意味著被投訴次數與行業有關,那么此時組間誤差包括隨機誤差和系統誤差,這個系統誤差就是由于行業這個因素帶來。
綜合以上,我們可以將總體誤差(SST)分為組間誤差和組內誤差。
當我們檢驗不同行業的均值是否相等時,其實就是檢驗組間誤差是不是過大,包含了一定量的系統誤差。
3、方差分析的基本假定
有三個基本假定:
每個總體都應服從正態分布;
每個總體的方差必須相同;
觀測值是獨立的;
其中第三點一般都滿足,前兩點需要借助樣本值做一些檢驗的工作;
4、單因素方差分析(F檢驗)
如果只涉及一個類別的自變量的方差分析,則稱其為單因素方差分析,最上面的例子就是一個單因素方差分析。
首先提出假設:
H0=μ1=μ2=...=μkH_0 = \mu_1 = \mu_2 = ... = \mu_kH0?=μ1?=μ2?=...=μk?
H1=μi(i=1...k)H_1 = \mu_i (i = 1...k)H1?=μi?(i=1...k)不全相等
構造統計量:
1) 計算個樣本的均值
即計算各個行業的均值:
2) 計算總均值
即計算總體均值:
這里:
X ̄ ̄=57+66+...+77+5823=47.87\overline {\overline X} = {57 + 66 + ... + 77 + 58 \over 23} = 47.87X=2357+66+...+77+58?=47.87
X ̄1=49X ̄2=48,X ̄3=35,X ̄4=59\overline X_1 = 49 \overline X_2 = 48, \overline X_3 = 35, \overline X_4 = 59X1?=49X2?=48,X3?=35,X4?=59
求這四個平均值的平均值同樣得到47.87。
所以,總均值可以看成所有數據點的均值,或每組均值的均值。
3) 計算各誤差平方和
- 總平方和:
SST=∑i=1k∑j=1ni(xij?x ̄ ̄)2=(57?47.869)2+...+(58?47.47.869)2=4164.608SST = \sum^k_{i=1}\sum^{n_i}_{j=1}(x_{ij} - \overline {\overline x})^2 = (57 - 47.869)^2 + ... + (58 - 47.47.869)^2 = 4164.608SST=i=1∑k?j=1∑ni??(xij??x)2=(57?47.869)2+...+(58?47.47.869)2=4164.608
- 組間平方和:
SSA=∑i=1k(x ̄i?x ̄ ̄)2=7?(49?47.869)2+...+5?(59?47.869)2=1456.608SSA = \sum^k_{i=1}(\overline x_{i} - \overline {\overline x})^2 = 7*(49 - 47.869)^2 + ... + 5*(59 - 47.869)^2 = 1456.608SSA=i=1∑k?(xi??x)2=7?(49?47.869)2+...+5?(59?47.869)2=1456.608
- 組內平方差:
SSE=∑i=1k∑j=1ni(xij?x ̄i)2=(57?49)2+...+(58?59)2=2708SSE = \sum^k_{i=1}\sum^{n_i}_{j=1}(x_{ij} - \overline x_i)^2 = (57 - 49)^2 + ... + (58 - 59)^2 = 2708SSE=i=1∑k?j=1∑ni??(xij??xi?)2=(57?49)2+...+(58?59)2=2708
并且:SST=SSA+SSESST = SSA + SSESST=SSA+SSE
4) 計算統計量
SST的自由度為n-1,n為觀測值的個數;
SSA的自由度為k-1,k為因素水平的個數;
SSE的自由度為n-k。
| SST= 4164.608 | 22 | n - 1 |
| SSA = 1456.608 | 3 | k - 1 |
| SSE = 2708 | 19 | n - k |
故:
總平方和 = 組內平方和 + 組間平方和
我們其實是要比較SSA與SSE,因為我們確認SSE,即組內誤差來自隨機誤差,那我們就以SSE為基準,去比較SSA,若二者相差不大,則認為組間誤差也僅僅是隨機誤差而沒有系統誤差,而由于二者之間的數量級不一樣(自由度),難以直接比較,所以我們可以比較二者的均方誤差:
組間均方誤差:MSA=SSAk?1MSA = {SSA \over k-1}MSA=k?1SSA? 服從 χ2(k?1)\chi^2(k-1)χ2(k?1)
組內均方誤差: MSE=SSEn?kMSE = {SSE \over n-k}MSE=n?kSSE? 服從 χ2(n?k)\chi^2(n-k)χ2(n?k)
于是,我們構造FFF統計量:F=MSAMSE~F(k?1,n?k)F = {MSA \over MSE} \sim F(k-1, n-k)F=MSEMSA?~F(k?1,n?k)
計算可得統計量的值為:
F=3.406F = 3.406F=3.406
這里定義的統計量叫F統計量,它服從F分布,這里可以認為它是兩個χ2\chi^2χ2分布之比,兩者的自由度可以相等,也可以不等。
  \;
F統計量是組間平方和除以其自由度k-1,也被稱為組間均方誤差(MSA),然后除以組內平方和除以其自由度n-k:
F=MSAMSE=SSAk?1SSEn?kF = {MSA \over MSE} = {{SSA \over k-1} \over {SSE \over n-k}}F=MSEMSA?=n?kSSE?k?1SSA??
如果分子比分母大很多,那就說明波動大多數來自于各組之間,較少來自于各組之內,這時我們應該相信,總體均值之間存在差異,如果這個數字很大,那就意味著零假設成立的概率較低;
如果這個數字很小,分母更大,那就意味著組內波動比組間波動在總波動中占比更多,這意味著差異可能只是隨機產生的,這就更難拒絕零假設。
對于這個問題,α=0.05,n1=3,n2=19\alpha = 0.05, n_1 = 3, n_2 = 19α=0.05,n1?=3,n2?=19,從下面的F分布表中可以讀出臨界F值:
這里從F分布統計表中讀出的臨界F值是:
Fc=F0.05(3,19)=3.13F_c = F_{0.05}(3, 19) = 3.13Fc?=F0.05?(3,19)=3.13
因為F=3.406>Fc=3.13F = 3.406 > F_c = 3.13F=3.406>Fc?=3.13,所以,在零假設前提下,得到觀測值的概率非常低,因此我們拒絕零假設,相信很有可能總體均值存在差異。
參考文獻:
[1] 方差分析
[2] 統計 可汗學院
總結
以上是生活随笔為你收集整理的『统计学』第五部分:方差分析和F检验的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LINUX -SELL编程
- 下一篇: 【测评】抗原乳化方法学评测:去离子水乳化