最佳铲斗尺寸和铲斗数量

时间:2012-06-05 06:30:08

标签: algorithm data-structures dataset statistics bucket

很抱歉这篇文章与编码无关,但更多的是数据结构和算法。 我有大量的数据,每个都有不同的频率。近似的数字图似乎是贝尔曲线。我现在想要在最精确描述范围频率的范围内显示数据。 例如整个数据范围总数没有。频率但这个范围或桶尺寸不精确并且可以更精确(例如,如果某些数据更集中在特定频率区域,我们可能会建立一个数据量更小但频率更密切相关的存储桶。)
关于某些算法的任何帮助。 我想到了与二进制搜索相关的算法。 任何想法的人。

2 个答案:

答案 0 :(得分:4)

我不确定我是否关注,但似乎你正在寻找k bean,对于每两个bean,数据落入一个bean的概率是相同的,因为它在另一个bean中。

根据您的说明,您的数据似乎是normally分发的,或T-distributed

可以评估数据的均值和标准差,让提取的S.D.是s,平均值为u

评估平均值和S.D.的标准公式。来自样本的是 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,......你有你的豆子:( -infinity,a],(a,b),(a,c],......


(1)评估方差:http://en.wikipedia.org/wiki/Variance#Population_variance_and_sample_variance
(2)这个变量的实际分布实际上是t分布,因为方差是未知的 - 并从数据中提取。但是 - 足够大n - t分布衰减为正态分布。

答案 1 :(得分:-1)

首先计算所有索引,然后减去重复值,这将为您提供最佳的桶数。但是在很小的水平上