Множественная линейная регрессия JAGS с y [i] гаммой (байесовская) - PullRequest
0 голосов
/ 12 ноября 2018

У меня есть вопрос об этой модели в JAGS, я хочу сделать байесовскую линейную регрессию с ay [i], которая следует не нормальному распределению, а гамме.

Модель такая:

"model {
 Priors:
a ~ dnorm(0, 0.0001) # mean, precision = N(0, 10^4)
b ~ dnorm(0, 0.0001)
shape ~ dunif(0, 100)

 # Likelihood data model:
 for (i in 1:N) {
linear_predictor[i] <- a + b * x[i]
# dgamma(shape, rate) in JAGS:
y[i] ~ dgamma(shape, shape / exp(linear_predictor[i]))
 }
 }
 "

Что я должен изменить, чтобы этот код можно было использовать для множественной линейной регрессии с этими данными?

 dataListGamma = list(
   x = x,
   y = y,
   Nx = dim(x)[2],
   Ntotal = dim(x)[1]
 )

Я получаю эту ошибку: Ошибка в узле (shape / (exp (linear_predictor)[1331]))) как это возможно?я не могу понять, если я запускаю это снова, это изменяет значение, которое делает проблему

1 Ответ

0 голосов
/ 12 ноября 2018

Примерно так (создание b вектора с одинаковыми независимыми априорными значениями для каждого элемента и построение линейного предиктора с циклом for) должно работать:

model {
# Priors:
a ~ dnorm(0, 0.0001) # mean, precision = N(0, 10^4)
for (j in 1:Nx)
    b[i] ~ dnorm(0, 0.0001)
}
shape ~ dunif(0, 100)

 # Likelihood data model:
 linear_predictor[i] <- a
 for (i in 1:Ntotal) {
    for (j in 1:Nx) {
       linear_predictor[i] <- linear_predictor[i] + b[j]*N[i][j]
    }
    y[i] ~ dgamma(shape, shape / exp(linear_predictor[i]))
  }
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...