Verificando a normalidade de dados multivariados

Distribuições de Probabilidade Multivariadas em R

Surajit Ray

Professor, University of Glasgow

Por que verificar a normalidade?

  • Técnicas clássicas que assumem normalidade univariada/multivariada:
    • Regressão multivariada
    • Análise discriminante
    • Agrupamento baseado em modelo
    • Análise de componentes principais (PCA)
    • Análise multivariada de variância (MANOVA)
Distribuições de Probabilidade Multivariadas em R

Revisão: testes de normalidade univariada

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

  • Se os valores seguem a linha de referência, a distribuição é próxima da normal
Distribuições de Probabilidade Multivariadas em R

Revisão: testes de normalidade univariada

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

  • Se os valores seguem a linha de referência, a distribuição é próxima da normal

  • Desvio da linha pode indicar

    • caudas mais pesadas
    • assimetria
    • outliers
    • dados agrupados
Distribuições de Probabilidade Multivariadas em R

qqnorm de todas as variáveis

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

Distribuições de Probabilidade Multivariadas em R

Funções de teste de normalidade multivariada da biblioteca MVN

MVN versão 5.9

  • Testes de normalidade multivariada por

    • Mardia
    • Henze-Zirkler
    • Royston
  • Abordagens gráficas

    • Q-Q qui-quadrado
    • perspectiva
    • gráficos de contorno
Distribuições de Probabilidade Multivariadas em R

Funções de teste de normalidade multivariada da biblioteca MVN

  • Testes de normalidade multivariada por

    • Mardia $\checkmark$
    • Henze-Zirkler $\checkmark$
    • Royston
  • Abordagens gráficas

    • Q-Q qui-quadrado $\checkmark$
    • perspectiva
    • gráficos de contorno
Distribuições de Probabilidade Multivariadas em R

Usando o teste de Mardia para verificar normalidade multivariada

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
Distribuições de Probabilidade Multivariadas em R

Usando qqplot do teste de Mardia para verificar normalidade multivariada

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

Distribuições de Probabilidade Multivariadas em R

Usando o teste de Henze-Zirkler para verificar normalidade multivariada

mvn(iris_raw[, 1:4],mvnTest = "hz")
$multivariateNormality
           Test  HZ p value MVN
1 Henze-Zirkler 2.3       0  NO
Distribuições de Probabilidade Multivariadas em R

Testando normalidade multivariada por espécie

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

Distribuições de Probabilidade Multivariadas em R

Vamos usar os testes de normalidade multivariada!

Distribuições de Probabilidade Multivariadas em R

Preparing Video For Download...