Як виконувати багатовимірні тести нормальності в python
Якщо ми хочемо перевірити, чи є одна змінна нормально розподіленою чи ні, ми можемо створити a Графік QQ для візуалізації розподілу або ми можемо виконати формальний статистичний тест, як-от тест Андерсона Дарлінга або тест Жарке-Бера .
Однак, коли ми хочемо перевірити, чи кілька змінних нормально розподілені як група, нам потрібно виконати багатовимірний тест на нормальність .
У цьому посібнику пояснюється, як виконати багатовимірний тест нормальності Хенце-Цірклера для певного набору даних у Python.
Пов’язане: якщо ми хочемо визначити викиди в багатовимірному контексті, ми можемо використати відстань Махаланобіса .
Приклад: багатовимірний тест нормальності Хенце-Цірклера в Python
Багатовимірний тест нормальності Генце-Цірклера визначає, чи відповідає група змінних багатовимірному нормальному розподілу. Нульова та альтернативна гіпотези тесту такі:
H 0 (нульовий): Змінні мають багатовимірний нормальний розподіл.
H a (альтернатива): Змінні не відповідають багатовимірному нормальному розподілу.
Щоб виконати цей тест у Python, ми можемо використати функцію multivariate_normality() із бібліотеки penguin.
Спочатку нам потрібно встановити penguin:
pip install penguin
Далі ми можемо імпортувати функцію multivariate_normality() і використовувати її для виконання багатовимірного тесту на нормальність для даного набору даних:
#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)
Результати тесту такі:
- Статистика тесту Гц: 0,59569
- p-значення: 0,64618
Оскільки p-значення тесту не менше, ніж наше вказане значення альфа 0,05, ми не можемо відхилити нульову гіпотезу. Можна припустити, що набір даних відповідає багатовимірному нормальному розподілу.
За темою: дізнайтеся, як тест Генце-Цірклера використовується в реальних медичних програмах у цій дослідницькій статті .