多変量データの正規性の確認

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
    • 透視図
    • 等高線プロット
Rによる多変量確率分布

MVN ライブラリの多変量正規性検定関数

  • 多変量正規性検定

    • Mardia $\checkmark$
    • Henze-Zirkler $\checkmark$
    • Royston
  • グラフィカルアプローチ

    • カイ二乗 Q-Q $\checkmark$
    • 透視図
    • 等高線プロット
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...