2017-05-04 83 views
0

我正在尋找運行層次泊松模型曲棍球目標趨勢數據。這裏是在錯誤建立模型:R 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) 

}" 

我然後編譯並加載數據:

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) 

在這一點上,我得到一個錯誤: 錯誤handleRes(RES):NA

關於我出錯的地方有什麼想法......?

回答

0

我希望我能評論,但我沒有足夠的聲望。無論如何,我編寫了一些數據並運行了您的模型的簡化版本(即只播放了年齡和分鐘數)。我在OpenBUGS的GUI版本中運行它,它不起作用。然後,我將你的係數的先驗值更改爲dnorm(0,0.01)並更新。 所以我建議改變先驗。你有的非常非常含糊。根據建議更改它們不會影響您的推論,並且您可能會讓模型運行。