检验多变量数据的正态性

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 检验的 Q-Q 图检验多变量正态性

 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...