確率変数 $X$ と関数 $f$ がある場合、次のように、確率密度関数を使用して新しい確率変数として $y=f(X)$ を定義できます。
$p(y)=(f^{-1})'(y)p(x)$. 詳しくはこちらをご覧ください。
これで、次のコードで指数分布を使用してランダム変数アルファを定義しました。モデルに log(alpha) を新しい確率変数として追加したいと考えています。モデルにどのように実装すればよいですか?
私はすでに努力しましたが、それは間違っているようで、回答で指摘されている理由は、決定論的デコレーターではなく確率的デコレーターを使用したという事実です。しかし、後でこの変数に MCMC Metropolis を適用したいので、統計が必要です! もっと明確にするために、対数(アルファ)にガウス提案を適用したいと思います。したがって、Metropolis 関数に確率的入力を渡す必要があります。
だからこれは私のモデルです:
import numpy as np
import pymc
lambd=1;
__all__=['alpha']
alpha=pymc.Exponential('alpha', beta=lambd)
@pymc.stochastic(plot=False)
def logalpha(value=0,c=alpha):
return np.log(c)