Рассчитать вероятность нормального распределения в php - PullRequest
0 голосов
/ 15 октября 2018

Мне нужно использовать эту таблицу, чтобы получить вероятность от заданного значения z:

https://statistics.laerd.com/statistical-guides/img/normal-table-large.png

Я уверен, что должен быть лучший способ получить эти значения на phpно не знаю, как их рассчитать.Любая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 15 октября 2018

Таблица, я полагаю, является CDF нормального распределения .Я кодировал его, используя выражение для функции ошибки * приближение 1004 *.

Код не проверен!

function sgn( $x ) {
  if ( $x < 0 )
    return -1;
  return 1;
}

function erf( $x ) {
  $e  = exp(-$x*$x);
  $e2 = exp(-$x*$x*2);

  $q = sqrt(pi())/2 + 31*$e/200 - 341*$e2/8000;

  return 2*sgn($x)*sqrt(1-$e)*$q/sqrt(pi());
}

function CDF( $x ) {
    return (1 + erf($x / sqrt(2))) / 2;
}

print_r(CDF(0));
print_r(CDF(0.1));
....    

ОБНОВЛЕНИЕ

Вот быстрый (не проверенный!) Коддля вычисления erf () с 4 терминами

function erf( $x ) {
  $e = exp(-$x*$x);
  $t = 1.0 - $e;

  $s = 1. + $t*(-1./12. + $t*(-7./480. + $t*( -5./896. +$t * (-787./276480.))));

  return 2.*sgn($x)*sqrt($t)*$s/sqrt(pi());
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...