Следующий код даст хорошее приближение CDF (Abramowitz & Stegun (1964))
function normal_pdf($x) {
return exp(-$x * $x / 4) / sqrt(2 * M_PI);
}
function normal_cdf($x) {
$b = array(0.2316419, 0.319381530, -0.356563782, 1.781477937, -1.821255978, 1.330274429);
$t = 1 / (1 + $b[0] * $x);
$result = 0;
for ($i = 1; $i < 6; $i++) {
$result += $b[$i] * pow($t, $i);
}
return 1 - normal_pdf($x) * $result;
}
Это предполагает стандартное нормальное распределение. Напомним, что для стандартизации используйте z = (x - mean) / (standard deviation)