J'ai un réseau gaussien bayésien linéaire paramétré et j'essaie de faire des prédictions sur le modèle en utilisant rjags
. Je peux le faire pour une observation mais je ne sais pas comment passer plusieurs observations. Voici un exempleGénérer des prédictions en utilisant JAGS
library(rjags)
library(coda)
modèle initial
mod <- textConnection("model {
mpg.hat <- (34.96055404 - 3.35082533* wt - 0.01772474* disp)
wt ~ dnorm(3.21725, 1/0.9784574^2)
disp ~ dnorm(230.7219, 1/123.9387^2)
mpg ~ dnorm(mpg.hat, 1/2.916555^2)
}")
# Evaluate and get prediction when wt=1 and disp is hidden
m <- jags.model(mod, n.chains = 1, n.adapt = 1000, data=list(wt=1, disp=NA))
update(m, 10000)
cs <- coda.samples(m, c("mpg", "wt", "disp"), 1e5)
summary(cs)
Cela fonctionne comme prévu, cependant, j'ai plusieurs lignes de données que je veux générer des prévisions pour. Si j'essaie d'étendre l'argument data=list(
pour inclure plus de lignes, une erreur se produit. Ainsi, après réexécutant le texte du modèle, et la commande suivante j'obtiens l'erreur
m <- jags.model(mod, n.chains = 1, n.adapt = 1000, data=list(wt=1:2, disp=1:2))
Erreur dans jags.model (mod, n.chains = 1, n.adapt = 1000, data = liste (poids = 1: 2,:
erreur dans le nœud dnorm (230,722, (a1/(a123.939^2)))
Longueur en décalage de Node setValue
Comment puis-je étendre ceci à plus d'observations?