哪个java库计算累积标准正态分布函数?
-
22-07-2019 - |
题
对于一个项目,我有一个带有公式的规范,我必须实施。在这些公式中存在累积标准正态分布函数,它采用浮点数并输出概率。该函数用 Φ 表示。是否存在计算此函数的 Java 库?
其他提示
Apache Commons - 数学 有您正在寻找的东西。
更具体地说,请查看 NormalDistribution
班级。
如果你想确切的代码,这一次似乎在OpenOffice的Calc中使用相同的功能(我做了一些改变它在Java工作):
// returns the cumulative normal distribution function (CNDF)
// for a standard normal: N(0,1)
double CNDF(double x)
{
int neg = (x < 0d) ? 1 : 0;
if ( neg == 1)
x *= -1d;
double k = (1d / ( 1d + 0.2316419 * x));
double y = (((( 1.330274429 * k - 1.821255978) * k + 1.781477937) *
k - 0.356563782) * k + 0.319381530) * k;
y = 1.0 - 0.398942280401 * Math.exp(-0.5 * x * x) * y;
return (1d - neg) * y + neg * (1d - y);
}
这里发现: http://www.codeproject.com/消息/ 2622967 /重新NORMSDIST-function.aspx
SuanShu,一个Java数值分析库时,计算正态分布和许多其他的统计分布。
您可以使用幂级数公式,它只占用大约 10 行代码......参见例如 http://introcs.cs.princeton.edu/java/22library/Gaussian.java.html (功能 Phi
)
不隶属于 StackOverflow