我正在使用MathNet库来计算一些统计数据,例如:中位数,最小值,最大值。我用这段代码计算了一些直方图数据:
var histogram = new Histogram(data, numberOfBuckets);
铲斗数是什么意思?这是一个可以获得的概率吗?如何将包含桶的histogram
的输出处理为绘制直方图?我认为这个输出特别适用于绘制图表,例如在zedgraph
。 histogram
中的桶包含桶的向量,如下所示:[1;1,4]=1
。
答案 0 :(得分:1)
numberOfBuckets参数说明应该分割多少个大小相等的间隔。然后直方图计算数据中落入每个桶的数量。
尝试:
var v = DenseVector.Create(10, i => i+1);
Console.WriteLine(new Histogram(v, 5));
也许你想要一个自然数的直方图,其中每个桶包含特定数字的出现次数(有些桶可能是空的)?然后将numberOfBuckets设置为max-min + 1。
答案 1 :(得分:0)
直方图类实现了一个索引器,使您可以访问内部存储区。因此,您可以遍历存储桶以提取每个存储桶的统计信息。
Histogram h = new Histogram(myRandomSamples, numBuckets);
//Get data from 5th histogram bucket
double lb = h[5].LowerBound; //get the bucket low bound
double ub = h[5].UpperBound; //get the bucket upper bound
double count = h[5].Count; //get number of samples in that histogram bucket