Çok basit bir model deniyorum: Hassasiyeti bildiğimi varsaydığım bir Normal yerleştirmek ve sadece ortalamayı bulmak istiyorum. Aşağıdaki kod Normal'e uygun görünüyor. Ancak montajdan sonra, modelden örnek almak istiyorum, yani data
değişkenime benzer yeni veriler üretmek istiyorum . trace("mean")
Ortalama değişken için örnek almak için kullanabileceğimi biliyorum . Ancak modelin kendisinden nasıl yeni örnekler alabilirim?
Örneğin http://pymc-devs.github.io/pymc/database.html#accessing-sampled-data dokümanlarına baktım . Ayrıca madencilik felaketleri ve Olasılıksal Programlama defterlerinden birkaçı gibi birkaç örneğe de baktım ve hiçbiri bundan bahsetmedi. Ben (az ya da çok bir MCMC acemi) takılan modelden örneklemenin bütün mesele olmasını bekledim! Neyi kaçırıyorum?
from pymc import *
data = np.array([-1, 0, 4, 0, 2, -2, 1, 0, 0, 2, 1, -3, -1, 0, 0, 1, 0, 1])
mean = Uniform("mean", -4, 4)
precision = 2.0**-2
obs = Normal("obs", mean, precision, value=data, observed=True)
model = Model( {"mean": mean, "obs": obs})
mcmc = MCMC(model)
mcmc.sample(10000, 1000, 1)
# I can get samples for the "mean" variable
mean_samples = mcmc.trace("mean")[:]
hist(mean_samples)
# but how can I do the equivalent of mcmc.trace("obs")?