Я хотел бы рассчитать предельную вероятность модели с данным набором данных, чтобы сравнить ее с другой, благодаря байесовскому коэффициенту.
Я использовал PyMC 2, чтобы получить почтовые распределения каждого параметра для каждой модели.
Вот принцип (я использовал MCMC):
## PRIOR
myPar = pymc.Normal( name='Parameter', mu=0.3, tau=1/0.2**2, value=0.3)
## LOG LIKELIHOOD
@pymc.stochastic(observed=True)
def mesLL(myPar = myPar, value = Obs):
loglike = 0.0
for i in range(len(value)):
myMean = model(myPar)
myStd2 = sigMes**2
loglike += pymc.normal_like(value[i], mu = myMean, tau = 1./myStd2)
return loglike
## SAMPLER
np.random.seed(123456)
pymc.numpy.random.seed(123456)
#
ModBayes = pymc.Model([myPar,mesLL])
sampler = pymc.MCMC(ModBayes)
sampler.use_step_method(pymc.AdaptiveMetropolis, [myPar])
sampler.sample(iter = 10000, burn = 4000, thin = 3)
Теперь я надеваюНе знаю, как реализовать предельную вероятность.
Заранее спасибо.