Dies ist das erste Mal, dass ich JAGS nutze, und ich habe bei der Modellierung meiner Daten einige Fehler bekommen.JAGS-Fehler: "Auflösen nicht deklarierter Variablen" und "Ungültiges Vektorargument zu exp"
Hier ist eine kurze Beschreibung meiner Daten: Insgesamt n
Menschen (z. B. 2) jeweils gelöst m
Probleme (z. B. 6). Alle Probleme haben 3 Antworten mit jeweils einem bestimmten Wert V
.
Hier ist the graphic model (einige Variablennamen sind unterschiedlich: IG
und y
sind die gleichen wie V
und answer
sind; x
ist nicht in meinem Modell enthalten). Die Wahrscheinlichkeit, dass die Person i
jede Antwort für das Problem j
auswählt, folgt der "softmax Entscheidungsregel": exp(V[j,]/tau[i])/sum(exp(V[j,]/tau[i]))
Hier ist Tau das Geräusch in der Entscheidung mit einer Gamma-Verteilung: tao → 0, wählt eine Person die Antwort des höchsten Wertes; tao → ∞, wählt eine Person zufällig unter 3 Antworten.
Das ist meine Modelldatei model.txt
:
model{
# data
for(i in 1:n) # for each person
{
for (j in 1:m) # for each problem
{
# answer chosen
answer[i,j] ~ dcat(exp(V[j,]/tau[i])/sum(exp(V[j,]/tau[i])))
}
}
# priors
for (i in 1:n)
{
tau[i] ~ dgamma(0.001,0.001)
}
}
Hier ist mein R-Skript:
library(R2jags)
m <- 6 # number of problems
n <- 2 # number of people
V <- matrix(c(0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0)), nrow=m, ncol=3, byrow = T)
answer <- matrix(c(2,3,1,1,2,3,1,1,1,1,3,2), nrow=n, ncol=m, byrow = T)
data <- list("m", "n", "V", "answer")
myinits <- list(list(tau = rep(1,n)))
parameters <- c("tau")
samples <- jags(data, inits=myinits, parameters,
model.file ="model.txt", n.chains=1, n.iter=1000,
n.burnin=1, n.thin=1, DIC=T)
Nachdem das Skript in R ausgeführt wird, ich die Fehlermeldung unten bekam:
Compiling model graph Resolving undeclared variables Allocating nodes Deleting model
Error in jags.model(model.file, data = data, inits = init.values, n.chains = n.chains, : RUNTIME ERROR: Invalid vector argument to exp
Was könnte das Problem sein? Vielen Dank für deine Hilfe!
Es hat funktioniert! Vielen Dank für Ihre Antwort! (Ich wusste nicht, dass JAGS keine Vektoren potenzieren können!) – PsychGrad