首页 > 解决方案 > Julia:如何使直方图对于两个大小相等的向量具有相同数量的 bin?

问题描述

我想计算多个向量中的出现频率,并希望得到的 bin 数量在向量之间保持一致,以便更容易计算它们之间的 wasserstein 距离。

以下代码显示直方图给出了不同大小的 bin。

using StatsBase

for i in 1:10
    h = fit(Histogram,randn(1000), nbins=10); println(size(h.weights))
end

如何使箱数一致?

标签: juliahistogram

解决方案


在运行中保持完全一致的一种方法是提供更多的垃圾箱数量;为了完全一致,我们还提供了他们的确切位置。使用 Julia 的 StatsBase,您可以通过提供“边”(bin 边界)来做到这一点。i这是一个 bin 从to运行的演示i+1

julia> fit(Histogram, randn(1000), -5:5)
Histogram{Int64, 1, Tuple{UnitRange{Int64}}}
edges:
  -5:5
weights: [0, 2, 23, 139, 319, 355, 143, 18, 1, 0]
closed: left
isdensity: false

推荐阅读