Если p[x]<0.05
, вы можете предположить, что значения в столбце x
обычно не распространяются. Потому что при тесте нормальности нулевая гипотеза состоит в том, что популяция нормально распределена. При р <0,05 вероятность того, что мы примем эту гипотезу, составляет менее 5%, что является статистически низким. И наоборот, при p [i]> 0,5 данные распределяются нормально. Вы можете легко протестировать его с нормальным распределением:
import pandas as pd
from scipy import stats
df = pd.DataFrame(np.random.normal(0,1,2100).reshape(100,21)) # dataset (100x21)
k2, p = stats.normaltest(df)
print (p)
Выход составляет
[0.97228661 0.49017509 0.97373345 0.97404468 0.03498392 0.61963074
0.07712131 0.52632157 0.29887186 0.30822356 0.14416431 0.11015074
0.81773481 0.52919266 0.81859869 0.24855451 0.16817784 0.0117747
0.76860707 0.40384319 0.97038048]
, большинство из которых больше 0,05.
Для проверки многомерной нормальности , вы можете попробовать тест Хенце-Цирклера:
import pingouin as pg
normal, p = pg.multivariate_normality(df, alpha=.05)
, где .05 - значимое значение (вы можете изменить его, если хотите, оно не повлияет на полученное значение p).