2017-05-04 2 views
0

Je cherche à utiliser un modèle de poisson hiérarchique pour les données sur les objectifs de hockey. voici le modèle tel que défini dans les bogues:R Erreur de modèle OpenBugs

modelString <- "model { 

    for(i in 1:n_obs){ 

    hockey_goals[i] ~ dpois(p[i]) 


    log(p[i]) <- p_inter + p_age * age[i] + p_sv_pct * sv_pct[i] + p_team * team[i] + p_win_pct * win_pct[i] + log(n_mins[i]) 

    } 
    p_inter ~ dnorm(0,0.00001) 
    p_age ~ dnorm(0, 0.00001) 
    p_sv_pct ~ dnorm(0, 0.00001) 
    p_team ~ dnorm(0, 0.00001) 
    p_win_pct ~ dnorm(0, 0.00001) 

}" 

je puis compiler et charger les données:

season_goals <- data$GA 
n_mins <- data$MIN 
age <- data$Age 
sv_pct <- data$SV. 
team <- data$Tm 
win_pct <- data$W/data$GP 
data <- list(n_obs=length(season_goals),n_mins=n_mins,hockey_goals=season_goals,age=age, 
sv_pct=sv_pct,team=team,win_pct=win_pct) 

# Get the data into BUGS: 
modelData(bugsData(data)) 
#------------------------------------------------------------------------------ 
# INTIALIZE THE CHAINS. 

nchain = 1 
modelCompile(numChains=nchain) 
modelGenInits() 

#------------------------------------------------------------------------------ 
# RUN THE CHAINS. 
samplesSet(c("p_age","p_sv_pct","p_team","p_win_pct")) 
# R command defines a new variable that specifies an arbitrary chain length: 
chainLength = 10000 
# BRugs tells BUGS to generate a MCMC chain: 
modelUpdate(chainLength) 

À ce stade, je reçois une erreur: Erreur dans handleRes (res): NA

Des idées sur où je me suis trompé ...?

Répondre

0

J'aimerais pouvoir commenter mais je n'ai pas assez de réputation. Quoi qu'il en soit, j'ai inventé quelques données et j'ai exécuté une version simplifiée de votre modèle (c'est-à-dire avec seulement l'âge et les minutes jouées). Je l'ai couru dans la version GUI de OpenBUGS et cela n'a pas fonctionné. J'ai ensuite changé les priors sur vous coefficients à dnorm(0,0.01) et il mis à jour. Donc, je suggère de changer les prieurs. Ceux que vous avez sont très, très vagues. Les changer comme suggéré n'affectera pas votre inférence et vous pouvez faire fonctionner le modèle.