檢查多變量資料的常態性

R 的多變量機率分配

Surajit Ray

Professor, University of Glasgow

為何要檢查常態性?

  • 假設單變量/多變量常態的經典統計技巧:
    • 多變量迴歸
    • 鑑別分析
    • 以模型為基礎的分群
    • 主成分分析(PCA)
    • 多變量變異數分析(MANOVA)
R 的多變量機率分配

複習:單變量常態性檢定

qqnorm(iris_raw[, 1])
qqline(iris_raw[, 1])

  • 若點落在參考線上,分佈接近常態
R 的多變量機率分配

複習:單變量常態性檢定

qqnorm(iris_raw[, 1])
qqline(iris_raw[, 1])

  • 若點落在參考線上,分佈接近常態

  • 偏離直線可能表示

    • 尾端較重
    • 偏態
    • 離群值
    • 叢聚資料
R 的多變量機率分配

所有變數的 qqnorm 圖

mvn(iris_raw[, 1:4], univariatePlot = "qqplot")

R 的多變量機率分配

MVN 函式庫的多變量常態檢定函式

MVN 版本 5.9

  • 多變量常態性檢定({{1}})

    • Mardia
    • Henze-Zirkler
    • Royston
  • 圖形化方法

    • 卡方 Q-Q
    • 3D 透視圖
    • 等高線圖
R 的多變量機率分配

MVN 函式庫的多變量常態檢定函式

  • 多變量常態性檢定

    • Mardia $\checkmark$
    • Henze-Zirkler $\checkmark$
    • Royston
  • 圖形化方法

    • 卡方 Q-Q $\checkmark$
    • 3D 透視圖
    • 等高線圖
R 的多變量機率分配

使用 Mardia 檢定多變量常態性

mvn(iris_raw[, 1:4],mvnTest = "mardia")
$multivariateNormality 
             Test          Statistic              p value Result
1 Mardia Skewness   67.4305087780629 4.75799820400705e-07     NO
2 Mardia Kurtosis -0.230112114480775    0.818004651478188    YES
3             MVN               <NA>                 <NA>     NO
R 的多變量機率分配

用 Mardia 檢定的 qqplot 檢查多變量常態性

 mvn(iris_raw[, 1:4],mvnTest = "mardia", multivariatePlot = "qq")

R 的多變量機率分配

使用 Henze-Zirkler 檢定多變量常態性

mvn(iris_raw[, 1:4],mvnTest = "hz")
$multivariateNormality
           Test  HZ p value MVN
1 Henze-Zirkler 2.3       0  NO
R 的多變量機率分配

依品種檢定多變量常態性

mvn(iris[iris$Species  == "setosa", 1:4], 
     mvnTest = "mardia",
     multivariatePlot = "qq")
$multivariateNormality
             Test        Statistic           p value Result
1 Mardia Skewness 25.6643445196298 0.177185884467652    YES
2 Mardia Kurtosis 1.29499223711605 0.195322907441935    YES
3             MVN             <NA>              <NA>    YES

R 的多變量機率分配

來實作多變量常態性的檢定!

R 的多變量機率分配

Preparing Video For Download...