ポイントが独立している場合は、各次元の分布を個別に確認できます。Kolmogorov-Smirnov検定 (2 つの分布間の距離の尺度) は、これに対する適切な検定です。最初に、いくつかのガウス分布のポイントを生成してプロットして、KS 検定 (統計) を使用して不均一な分布を検出する方法を確認します。
>>> import numpy as np
>>> from matplotlib.pyplot import plt
>>> X = np.random.gauss(1000, 2) # 1000 2-D points, normally distributed
>>> from sklearn.preprocessing import MinMaxScaler
>>> scaler = MinMaxScaler()
>>> X = scaler.fit_transform(X) # fit to default uniform dist range 0-1
>>> X
array([[ 0.46169481, 0.7444449 ],
[ 0.49408692, 0.5809512 ],
...,
[ 0.60877526, 0.59758908]])
>>> plt.scatter(*list(X))
>>> from scipy import stats
>>> from sklearn.preprocessing import StandardScaler, MinMaxScaler
>>> stats.kstest(MinMaxScaler().fit_transform(X[:,0]), 'uniform')
KstestResult(statistic=0.24738043186386116, pvalue=0.0)
低い p 値と高い KS 統計量 (一様分布からの距離) は、ほぼ確実に 0 と 1 の間の一様分布に由来しないことを示しています。
>>> stats.kstest(StandardScaler().fit_transform(X[:,0]), 'norm')
KstestResult(statistic=0.028970945967462303, pvalue=0.36613946547024456)
しかし、p 値が高く、KS 距離が低いため、それらはおそらく平均 0 と標準偏差 1 の正規分布に由来します。
次に、2 番目の次元 (Y) に対して KS-Tests を繰り返すだけです。