如果为p[x]<0.05
,则可以假定列x
中的值不是正态分布的。因为使用正态检验,零假设是总体呈正态分布。在p 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。
要测试多元正态性,可以尝试Henze-Zirkler检验:
import pingouin as pg
normal,p = pg.multivariate_normality(df,alpha=.05)
其中.05是有效值(您可以根据需要更改它,它不会影响您获得的p值。)
本文链接:https://www.f2er.com/2637276.html