Python中的阈值直方图 - 强制每个bin至少有N个对象

时间:2015-10-05 17:38:04

标签: python numpy histogram threshold binning

在使用Numpy.histogram或matplotlib.pyplot.hist创建的典型直方图中,容器具有统一的宽度或用户指定他/她自己的bin边缘。关于最佳箱宽的选择有很多 - 比如sqrt(样本量)。

有时,存在零件中有零件的箱子 - 例如,在柱状图的极端情况下。如果想要寻找相关性,这可能是一种痛苦 - 例如,如果要检查每个箱中的物体数量是否随着x轴上的数量增加而增加。 (想象一下直方图,其中几乎所有其他bin都有0个对象,或者直方图,其中第一个和最后一个bin实际上有0个对象 - 这两种情况都会导致数据的可视化不佳,并且更难以看到任何潜在的相关性。 )

在这种情况下,对分箱施加阈值以使每个箱包含至少 N个对象可能是有益的。当然,箱宽可能不再一致。

是否有一种简单的方法(即内置函数)来创建这样一个" thresholded-histogram"在Python中,使用Numpy,Scipy还是matplotlib?或者至少分割一个单调的数字数组,使每个子数组包含至少N个数字?

此外,这样的分级算法被认为是最佳的(因为得到的直方图可以让您更清晰地显示数据的位置),或者是次优的(因为您正在操纵分档,而不是只是按原样显示数据?

0 个答案:

没有答案