From 61c9bacb8051627a50cb9ad7013b14aba7b9a3a6 Mon Sep 17 00:00:00 2001 From: Dennis Eichhorn Date: Mon, 14 Aug 2023 16:39:53 +0000 Subject: [PATCH] fix cdf function + add icdf --- Math/Stochastic/Distribution/NormalDistribution.php | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Math/Stochastic/Distribution/NormalDistribution.php b/Math/Stochastic/Distribution/NormalDistribution.php index eee1a2d89..7cfabb853 100755 --- a/Math/Stochastic/Distribution/NormalDistribution.php +++ b/Math/Stochastic/Distribution/NormalDistribution.php @@ -101,7 +101,13 @@ final class NormalDistribution */ public static function getCdf(float $x, float $mu, float $sig) : float { - return 1 / 2 * (1 + Functions::getErf(($x - $mu) / ($sig * \sqrt(2)))); + return 0.5 * Functions::getErf(-($x - $mu) / ($sig * \sqrt(2))); + } + + // AKA Quantile function and sometimes PPF + public static function getICdf(float $x, float $mu, float $sig) : float + { + return $mu - $sig * \sqrt(2) * Functions::getInvErfc(2 * $x); } /**