scipy
パラメータ付き分布の場合はrv_continuous
サーチ…
正の実数の負の2項
from scipy.stats import rv_continuous
import numpy
class Neg_exp(rv_continuous):
def _cdf(self, x, lamda):
return 1-numpy.exp(-lamda*x)
neg_exp = Neg_exp(name="Negative exponential", a=0)
print (neg_exp.pdf(0,.5))
print (neg_exp.pdf(5,.5))
print (neg_exp.cdf(5,.5))
print (neg_exp.stats(0.5))
print (neg_exp.rvs(0.5))
scipyはあなたが定義していない他の関数のパラメータと、あなたが定義した任意の関数呼び出しにおけるこれらのパラメータの順序を推定するので、_pdfまたは_cdfを定義することが不可欠です。この場合、分布パラメータλは1つだけである。ランダム変数値を表す変数は、最初に_pdfまたは_cdfの定義に現れます。
これらの関数のうちの1つだけを定義すると、scipyは他を数値で計算します。効率を上げるために、両方を定義します。同様に、最高の効率を得るために既知のパラメータに関して_statsを定義します。さもなければ、scipyは数値的な方法を使います。
ディストリビューションのサポートは、サブクラス化されるときではなく、クラスがインスタンス化されるときに定義されます(変数aはゼロに設定され、 bはデフォルトで無限大に設定されます)。クラスのインスタンスの1つが呼び出されたときにのみ、配布のパラメータが設定されることにも注意してください。最後の5行のコードと同様です。
Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow