मैं एक बहुत ही सरल मॉडल की कोशिश कर रहा हूं: एक सामान्य फिटिंग करना जहां मैं मानता हूं कि मैं सटीक जानता हूं, और मैं सिर्फ इसका मतलब खोजना चाहता हूं। नीचे दिया गया कोड सामान्य रूप से सही ढंग से फिट होता है। लेकिन फिटिंग के बाद, मैं मॉडल से नमूना लेना चाहता हूं, अर्थात नया डेटा उत्पन्न करता हूं जो मेरे data
चर के समान है । मुझे पता है कि मैं trace("mean")
माध्य चर के लिए नमूने प्राप्त करने के लिए उपयोग कर सकता हूं । लेकिन मैं मॉडल से ही नए नमूने कैसे प्राप्त कर सकता हूं?
मैंने डॉक्स पर देखा है जैसे http://pymc-devs.github.io/pymc/database.html#accessing-sampled-data । मैंने काफी कुछ उदाहरणों पर भी ध्यान दिया है, उदाहरण के लिए, खनन आपदाएँ, और कई प्रोबायबिलिस्टिक प्रोग्रामिंग नोटबुक से, और किसी ने भी इसका उल्लेख नहीं किया है। मैं (कम या ज्यादा MCMC शुरुआती) उम्मीद करता था कि फिट किए गए मॉडल से नमूना पूरे बिंदु था! मैं क्या खो रहा हूँ?
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")?