java - sencilla - distribucion normal pdf
¿Qué java-library calcula la función de distribución normal estándar acumulativa? (5)
Para un proyecto tengo una especificación con fórmulas, tengo que implementarlo. En estas fórmulas existe una función de distribución normal estándar acumulativa, que toma un flotante y genera una probabilidad. La función está simbolizada por un Φ. ¿Existe una biblioteca Java que calcula esta función?
SuanShu, una biblioteca de análisis numérico de Java , calcula la distribución normal y muchas otras distribuciones estadísticas.
Si desea el código exacto, este parece ser la misma función que se utiliza en OpenOffice Calc (he hecho algunos cambios para que funcione en 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);
}
Lo encontré aquí: http://www.codeproject.com/Messages/2622967/Re-NORMSDIST-function.aspx
Puede utilizar la fórmula de la serie power, que solo ocupa unas 10 líneas de código ... consulte, por ejemplo, http://introcs.cs.princeton.edu/java/22library/Gaussian.java.html (la función Phi
)
Apache Commons - Math tiene lo que estás buscando.
Más específicamente, NormalDistribution
clase de NormalDistribution
.