問題
在我們接觸過的許多統計檢驗中,都假設了總體的同方差性,這樣的假設在統計研究中相當重要。那麼在R中,我們該如何檢驗樣本變量之間的方差齊性(同方差性)呢?
指南
檢驗數據方差齊性的方法有很多,本節将主要介紹以下三種:
Bartlett檢驗 - 如果我們的數據服從正态分布,那麼這種方法将是最為适用的。對于正态分布的數據,這種檢驗極為靈敏;而當數據為非正态分布時,使用該方法則很容易導緻假陽性誤判。
Levene檢驗 - 相較于Bartlett檢驗,這一方法更為穩健。這一方法被封裝于car程序包中。
Fligner-Killeen檢驗 - 這是一個非參數的檢驗方法,完全不依賴于對分布的假設。
對于上述所有的檢驗,我們的原假設都為“變量的總體方差全部相同”;備擇假設則為“至少有兩個變量的總體方差時不同的”。
示例數據:
下面的例子中我們用到了InsectSprays數據集和ToothGrowth數據集。其中,InsectSprays數據集中隻有一個自變量,而在ToothGrowth數據集則有兩個自變量。
繪制數據集的簡單箱線圖:
大緻一看,我們會直觀地認為兩個數據集中的數據都是異方差的,接下來,我們需要用适合的方法來實際地去檢驗它。
Bartlett檢驗
對于單一自變量:
對于有多個自變量的情況,我們需要運用interaction()函數來将多個自變量折疊為一個單一的變量用于表示不同變量因素之間的組合。如果不這麼做的話,檢驗的自由度将會發生錯誤,進而導緻我們得到錯誤的p值。
Levene檢驗
leveneTest函數包含于car程序包中。 對于單一的自變量:
多個自變量的情況,在這種方法中我們無需使用interaction函數:
Fligner-Killeen檢驗
對于單一的自變量:
fligner.test函數與bartlett.test函數有着相同的缺點,在存在多個自變量時,檢驗前我們必須要使用interaction()函數将多個變量折疊為單一的變量:
更多内容請關注"Datartisan數據工匠"微信公衆号。
,
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!