Интерпретация апостериорных распределений прогона MCMC с помощью pymc

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 и B.

Как вы можете видеть, A не должно быть ниже нуля, в моем предыдущем случае я установил для A и B значение Uniform, положительное значение и покрытие достаточного количества разумного пространства параметров. У меня вопрос:

Как правильно интерпретировать апостериорное распределение для A?

Принятие среднего значения кривой теперь даст значение, которое не находится на пике апостериорного распределения и, следовательно, не является действительно репрезентативным. Должен ли я просто продолжить выполнение дополнительных итераций? Или это лучшая оценка A, которую я получу, т. Е. От 0 до ~ 7?


person Magnus Persson    schedule 13.02.2015    source источник


Ответы (1)


Апостериорное распределение суммирует апостериорную неопределенность параметра, обусловленную набором данных, с которым вы подходите к модели, и, конечно же, самой структурой модели. Из апостериорного анализа вы можете извлечь меру центральной тенденции (среднего или медианного) и апостериорного вероятного интервала, которые можно получить из соответствующих квантилей апостериорного анализа.

person Chris Fonnesbeck    schedule 04.03.2015