1

プログラミングしている Python アプリケーションで確率関数と累積密度関数を使用する必要があります。SciPy は両方を提供しますが、これら 2 つの関数だけでは依存関係が大きすぎるようです。PDF は、SciPy がなくても簡単に実装できるようです。(ドキュメントから:)

ノルムの確率密度関数は次のとおりです。

norm.pdf(x) = exp(-x**2/2)/sqrt(2*pi)

SciPyを使わずにCDFも取得する方法はありますか?

4

2 に答える 2

4

この投稿を参照してください。

from math import *
def erfcc(x):
    """Complementary error function."""
    z = abs(x)
    t = 1. / (1. + 0.5*z)
    r = t * exp(-z*z-1.26551223+t*(1.00002368+t*(.37409196+
        t*(.09678418+t*(-.18628806+t*(.27886807+
        t*(-1.13520398+t*(1.48851587+t*(-.82215223+
        t*.17087277)))))))))
    if (x >= 0.):
        return r
    else:
        return 2. - r

def ncdf(x):
    return 1. - 0.5*erfcc(x/(2**0.5))
于 2012-04-24T17:15:27.043 に答える
3

「エラー関数」を探しています。 math モジュール を参照してください。初等関数による閉形式表現はありません。

math.erf(x)Python 2.7 で導入されたことに注意してください。以前のバージョンを使用している場合は、概算で計算する必要があります。

于 2012-04-24T17:11:00.340 に答える