使用jStat Javascript

时间:2017-03-20 21:14:56

标签: javascript statistics jstat

我正在尝试在某些数据上叠加正态分布。我已经分箱并绘制了数据,我想生成一个正态分布进行比较。我正在使用jStat

到目前为止,我已经能够生成正态分布,但我无法弄清楚如何将其“缩放”到与实际数据相同的大小。

正态分布数据比实际数据小几个数量级,并且在图表上显示几乎平坦。

这就是我的意思:

Comparison plot. I want to superimpose the curves

这是黑色线条与蓝色关闭的情节。我认为这些是概率而不是频率。

enter image description here

以下是我目前使用的代码,用于生成正态分布:

// 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);
});

我尝试过乘以样本大小(除其他外),但无济于事。有没有办法将概率转换为频率或“缩放”正态分布?

1 个答案:

答案 0 :(得分:0)

我终于解决了这个问题。离开这条道路的任何人都留在这里。

解决方案是将得到的正态分布值乘以比例因子binSize * sampleSize

简单来说,得到的正态分布曲线下的面积是1(根据定义)。因子span将为您提供较大曲线下的总面积。因此,您可以缩放正态分布,使区域相等。

我不确定这是最好的解释,但here是解决方案的一些指导。它是在excel中完成的,但它指出了我正确的方向。

相关问题