Statistics 测量二维正方形中点分布的均匀性

Statistics 测量二维正方形中点分布的均匀性,statistics,distribution,uniform,Statistics,Distribution,Uniform,我现在遇到了这个问题:我有一个二维正方形,里面有一组点,比如说,1000点。我需要一种方法来查看正方形内点的分布是否分散(或或多或少均匀分布),或者它们倾向于聚集在正方形内的某个点区域 需要数学/统计(非编程)方法来确定这一点。我在谷歌上搜索,找到了一些像“身体健康”,科尔莫戈罗夫。。。我只是想知道是否还有其他方法可以实现这一点。我需要这个做课堂论文 所以:输入:一个二维正方形和1000个点。 输出:是/否(是=均匀分布,否=聚集在某些点上) 任何想法都将不胜感激。 谢谢如果您的点是独立的,您可

我现在遇到了这个问题:我有一个二维正方形,里面有一组点,比如说,1000点。我需要一种方法来查看正方形内点的分布是否分散(或或多或少均匀分布),或者它们倾向于聚集在正方形内的某个点区域

需要数学/统计(非编程)方法来确定这一点。我在谷歌上搜索,找到了一些像“身体健康”,科尔莫戈罗夫。。。我只是想知道是否还有其他方法可以实现这一点。我需要这个做课堂论文

所以:输入:一个二维正方形和1000个点。 输出:是/否(是=均匀分布,否=聚集在某些点上)

任何想法都将不胜感激。
谢谢

如果您的点是独立的,您可以单独检查每个维度的分布。测试(两个分布之间距离的度量)是一个很好的测试。首先,让我们生成并绘制一些高斯分布点,这样您就可以看到如何使用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))

低p值和高KS统计(与均匀分布的距离)表明,几乎肯定不是来自0到1之间的均匀分布

>>> stats.kstest(StandardScaler().fit_transform(X[:,0]), 'norm')
KstestResult(statistic=0.028970945967462303, pvalue=0.36613946547024456)
但由于高p值和低KS距离,它们可能来自平均值为0、标准偏差为1的正态分布


然后对第二维度(Y)重复KS测试。

Hi!Stackoverflow实际上是用于编程问答,你可能会有更好的机会,或者可能会按照要求投票结束。我偶然发现了这一点,并想评论一下,对于任何可能正在寻找类似测试的人来说,单独测试多个假设是一个坏主意。看见理想情况下,在处理联合概率分布时,您应该使用同时测试所有维度的KS测试。@komodovaran。我的简单化方法只有在你确信你的维度是完全独立的情况下才是准确的,正如在开始的警告中提到的那样。变量(维度)依赖(联合)的程度将决定此分析作为统计度量的不准确程度。所以对于近似自变量,它是一个近似的统计度量。你的方法更准确。
>>> stats.kstest(StandardScaler().fit_transform(X[:,0]), 'norm')
KstestResult(statistic=0.028970945967462303, pvalue=0.36613946547024456)