Пакет «переосмысление» - создание логнормального масштаба для гамма-распределения

Я создаю модель для прогнозирования возраста деревьев по их высоте с помощью пакета переосмысления. В моем наборе данных возраст имеет гамма-распределение. Чтобы учесть вероятность гаммы, я сделал эту модель, используя map():

 fit2<- map(
  alist(
    age ~ dgamma2(mu, scale),
    log(mu) <- b + m*height,
    b ~ dnorm(16.3759, 10),
    m ~ dnorm(10.9808, 10),
    scale ~ dexp(2)
  ),
  data = d
)

Однако меня беспокоит, что масштаб не распределен нормально, и поэтому я не могу использовать extract.samples() для выборки многомерного апостериорного анализа. Я считаю, что если я зарегистрирую параметр масштаба, он станет нормальным, и поэтому использование extract.samples() будет работать.

Как мне изменить приведенный выше код, чтобы сделать это? Я видел это в других примерах с dbetabinom(), но никогда с dgamma2().


person Johanna Jensen    schedule 22.02.2019    source источник
comment
Вы должны предоставить минимально воспроизводимый пример. Это должен быть минимальный, но полный и проверяемый пример. Ваш вопрос должен быть четким и конкретным.   -  person M--    schedule 21.10.2020


Ответы (1)


Параметр scale является положительным числом, поэтому использование экспоненциальных априорных значений, таких как dexp(2), гарантирует, что ваша модель выбирает соответствующие значения scale. Таким образом, ваша модель должна хорошо сэмплироваться, и у вас не должно возникнуть проблем с использованием extract.samples.

person James Robinson    schedule 21.10.2020