Como realizar testes de normalidade multivariada em python
Quando queremos testar se uma única variável é normalmente distribuída ou não, podemos criar um Gráfico QQ para visualizar a distribuição ou podemos realizar um teste estatístico formal como um teste de Anderson Darling ou um teste de Jarque-Bera .
No entanto, quando queremos testar se múltiplas variáveis são normalmente distribuídas como um grupo, precisamos realizar um teste de normalidade multivariada .
Este tutorial explica como realizar o teste de normalidade multivariada Henze-Zirkler para um determinado conjunto de dados em Python.
Relacionado: Se quisermos identificar valores discrepantes em um contexto multivariado, podemos usar a distância de Mahalanobis .
Exemplo: teste de normalidade multivariada Henze-Zirkler em Python
O teste de normalidade multivariada de Henze-Zirkler determina se um grupo de variáveis segue ou não uma distribuição normal multivariada. As hipóteses nula e alternativa do teste são as seguintes:
H 0 (nulo): As variáveis seguem uma distribuição normal multivariada.
Ha (alternativa): As variáveis não seguem distribuição normal multivariada.
Para realizar este teste em Python podemos usar a função multivariate_normality() da biblioteca penguin.
Primeiro, precisamos instalar o pinguim:
pip install penguin
A seguir, podemos importar a função multivariate_normality() e usá-la para realizar um teste de normalidade multivariada para um determinado conjunto de dados:
#import necessary packages from penguin import multivariate_normality import pandas as pd import numpy as np #create a dataset with three variables x1, x2, and x3 df = pd.DataFrame({'x1':np.random.normal(size= 50 ), 'x2': np.random.normal(size= 50 ), 'x3': np.random.normal(size= 50 )}) #perform the Henze-Zirkler Multivariate Normality Test multivariate_normality(df, alpha= .05 ) HZResults(hz=0.5956866563391165, pval=0.6461804077893423, normal=True)
Os resultados do teste são os seguintes:
- Estatística de teste Hz: 0,59569
- Valor p: 0,64618
Como o valor p do teste não é inferior ao nosso valor alfa especificado de 0,05, não conseguimos rejeitar a hipótese nula. Pode-se presumir que o conjunto de dados segue uma distribuição normal multivariada.
Relacionado: Aprenda como o teste Henze-Zirkler é usado em aplicações médicas do mundo real neste artigo de pesquisa .