抱歉,这篇文章与编码无关,而与数据结构和算法有关。我有大量数据,每个数据都有不同的频率。近似的图形图似乎是贝尔曲线。我现在想在最准确地描述范围频率的范围内显示数据。例如,整个数据范围的总数没有。频率,但这个范围或桶的大小并不精确,可能会更精确。(例如,如果一些数据更集中在特定的频率区域,我们可能会建立一个数据量较小但具有更密切相关频率的桶。)
有关某些算法的任何帮助。我想到了一种与二进制搜索相关的算法。任何想法的人。
问问题
3237 次
2 回答
4
不确定我是否在关注,但您似乎正在寻找k
bean,对于每两个 bean,数据落在一个 bean 中的概率与它在另一个 bean 中的概率相同。
根据您的描述,您的数据似乎是正态分布的,或T-distributed。
可以评估数据的均值和标准差,令提取的 SD 为s
,均值为u
。
用于评估样本平均值和 SD 的标准公式是1:
u = (x1 + x2 + ... + xn) / n (simple average)
s^2 = Sigma((xi - u)^2)/(n-1)
鉴于此信息,您可以评估数据的分布,即N(u,s^2)
. 鉴于此信息,您可以创建一个随机变量:X~N(u,s^2)
2
现在剩下的就是找到 a,b,... 如下(假设有 10 个桶,这显然可以根据需要进行修改):
P(X<a) = 0.1
P(X<b) = 0.2
P(X<c) = 0.3
...
找到 a,b,c,... 之后,您就有了 bean: (-infinity,a], (a,b], (a,c], ...
(1) 评估方差:http
://en.wikipedia.org/wiki/Variance#Population_variance_and_sample_variance (2) 这个变量的实际分布实际上是 t 分布,因为方差是未知的 - 并且是从数据中提取的。但是 - 对于足够大的n
情况 - t 分布衰减为正态分布。
于 2012-06-05T07:02:10.617 回答
-1
首先计算所有索引,然后减去重复值,这将为您提供最佳桶数。但在小水平
于 2017-05-23T19:20:37.520 回答