pymc
отлично! Он действительно открыл мой мир для MCMC, так что спасибо за его кодирование.
В настоящее время я использую pymc
для оценки некоторых параметров и доверительных интервалов путем подгонки функции к наблюдениям. Для большинства наборов наблюдений апостериорные распределения (pymc.Matplot.plot(MCMCrun)
) параметров имеют красивую форму, гауссову, а наилучшая оценка и неопределенность определенного параметра (в данном случае параметр a
) происходит из:
param_estimate = MCMCrun.a.stats()['mean']
param_estimate = MCMCrun.a.stats()['standard deviation']
и доверительный интервал от
lower,upper = scipy.stats.mstats.mquantiles(MCMCrun.a.trace(), [0.025, 0.975])
Однако в некоторых случаях апостериорные распределения выглядят как
Как вы можете видеть, A не должно быть ниже нуля, в моем предыдущем случае я установил для A и B значение Uniform, положительное значение и покрытие достаточного количества разумного пространства параметров. У меня вопрос:
Как правильно интерпретировать апостериорное распределение для A?
Принятие среднего значения кривой теперь даст значение, которое не находится на пике апостериорного распределения и, следовательно, не является действительно репрезентативным. Должен ли я просто продолжить выполнение дополнительных итераций? Или это лучшая оценка A, которую я получу, т. Е. От 0 до ~ 7?