我正在寻找一种在 Javascript 中计算累积分布函数的方法。有没有实现这个的类?你有想法让这个工作吗?它不需要 100% 准确,但我需要对值有一个很好的了解。
http://en.wikipedia.org/wiki/Cumulative_distribution_function
最佳答案
在 Is there an easily available implementation of erf() for Python? 的帮助下,我能够编写自己的函数以及来自维基百科的知识。
计算并非 100% 正确,因为它只是一个近似值。
function normalcdf(mean, sigma, to)
{
var z = (to-mean)/Math.sqrt(2*sigma*sigma);
var t = 1/(1+0.3275911*Math.abs(z));
var a1 = 0.254829592;
var a2 = -0.284496736;
var a3 = 1.421413741;
var a4 = -1.453152027;
var a5 = 1.061405429;
var erf = 1-(((((a5*t + a4)*t) + a3)*t + a2)*t + a1)*t*Math.exp(-z*z);
var sign = 1;
if(z < 0)
{
sign = -1;
}
return (1/2)*(1+sign*erf);
}
normalcdf(30, 25, 1.4241); //-> 0.12651187738346226
//wolframalpha.com 0.12651200000000000
关于javascript - Javascript 中的累积分布函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5259421/