如果你有一個隨機變量$ X $和一個函數$ f $,你可以定義$ y = f(X)$作爲一個新的隨機變量,其概率密度函數如下:如何在PyMC中實現一個隨機變量的函數,MCMC Metropolis可以對其進行採樣?
$ p(y )=(F^{ - 1})(Y)p(X)$。 詳情請參閱here。
現在我已經定義了一個隨機變量alpha,在下面的代碼中用指數分佈。我想添加到我的模型中,將日誌(alpha)作爲新的隨機變量。我應該如何在我的模型中實現它?
我已經付出了努力,但似乎它是錯誤的,並且在答案中指出的原因是我使用隨機修飾器而不是確定性修飾器。但是因爲後來我想在這個變量上應用MCMC Metropolis,我需要它是統計數據!爲了更清楚地說明,我想對日誌(alpha)應用高斯提議。所以我需要把一個隨機輸入交給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)
Logalpha是否應該是隨機變量'alpha'的'log'還是你打算它是一個自變量? – bogatron
我希望它能夠代表隨機變量alpha的日誌,但是我希望能夠對它進行採樣。 – Cupitor