プログラミングしている Python アプリケーションで確率関数と累積密度関数を使用する必要があります。SciPy は両方を提供しますが、これら 2 つの関数だけでは依存関係が大きすぎるようです。PDF は、SciPy がなくても簡単に実装できるようです。(ドキュメントから:)
ノルムの確率密度関数は次のとおりです。
norm.pdf(x) = exp(-x**2/2)/sqrt(2*pi)
SciPyを使わずにCDFも取得する方法はありますか?
プログラミングしている Python アプリケーションで確率関数と累積密度関数を使用する必要があります。SciPy は両方を提供しますが、これら 2 つの関数だけでは依存関係が大きすぎるようです。PDF は、SciPy がなくても簡単に実装できるようです。(ドキュメントから:)
ノルムの確率密度関数は次のとおりです。
norm.pdf(x) = exp(-x**2/2)/sqrt(2*pi)
SciPyを使わずにCDFも取得する方法はありますか?
この投稿を参照してください。
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))
「エラー関数」を探しています。 math モジュール を参照してください。初等関数による閉形式表現はありません。
math.erf(x)
Python 2.7 で導入されたことに注意してください。以前のバージョンを使用している場合は、概算で計算する必要があります。