我试着在一些数据上叠加一个正态分布。我已经对数据进行了二进制和绘图,我希望生成一个正态分布来进行比较。为此,我使用了jStat。
到目前为止,我已经能够生成正态分布,但我不知道如何将其“放大”到与实际数据相同的大小。
正态分布数据比实际数据小几个数量级,在图形上几乎是平坦的。
我的意思是:

这是一张关闭了蓝色的黑线的图。我假设这些是概率,而不是频率。

下面是我到目前为止用来生成正态分布的代码:
// Mean & Std dev for calculating normal pdf
var mean = jStat.mean(data);
var stdev = jStat.stdev(data);
// get min & max for defining range of values for normal
var min = jStat.min(data);
var max = jStat.max(data);
// binNum = number of bins
var normData = jStat.seq(min, max, binNum, (x) => {
return jStat.normal.pdf(x, mean, stdev);
});我已经尝试了乘以样本大小(以及其他东西),但都没有用。有没有一种方法可以将概率转换为频率或‘缩放’正态分布?
发布于 2017-03-22 19:31:11
我终于解决了这个问题。把它留给任何走这条路的人。
解决方案是将得到的正态分布值乘以比例因子binSize * sampleSize。
简单地说,得到的正态分布曲线下的面积是1(根据定义)。因子binSize * sampleSize将给出较大曲线下的总面积。因此,您可以缩放正态分布,以便面积相等。
我不确定这是最好的解释,但here是解决方案的一些指导。这是在excel中完成的,但它为我指明了正确的方向。
https://stackoverflow.com/questions/42914075
复制相似问题