Ошибка в функции metrop из пакета mcmc: алгоритм останавливается из-за создания NA во время вычисления логарифмического правдоподобия
Я использую metrop
функция из пакета mcmc для оценки апостериорного распределения коэффициентов линейной регрессии (13 объясняющих переменных). Все предыдущие распределения коэффициентов представляют собой гаммы (форма и скорости были выбраны таким образом, чтобы распределение выглядело согласованным). Заднее логарифмическое правдоподобие в начальном состоянии конечно. Начальное состояние близко к средним гамма-распределениям.
Однако при запуске функции mcmc по крайней мере 9 раз из 10 я получаю следующее сообщение об ошибке:
Ошибка в system.time (out <-.Call ("metrop", func1, initial, nbatch, blen,:
logh: func вернул NA или NaN
К тому же:
Предупреждающее сообщение: в dnorm(y, среднее = pred, sd = ecart_type, log = T): произведено NaN
И когда алгоритм работает, коэффициент принятия очень слабый (~0,001).
Кто-нибудь знает в чем может быть проблема? Может ли это быть связано с тем, что поддержка функции предложения включает в себя отрицательные значения, что не согласуется с гамма-приорами?