我希望运行一个层次化的泊松模型来处理曲棍球目标倾向数据。以下是在bugs中设置的模型:
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 )此时我得到一个错误: Error in handleRes(res):NA
你知道我哪里错了吗...?
发布于 2017-05-10 05:03:41
我希望我能发表评论,但我没有足够的声誉。不管怎样,我编造了一些数据,并运行了你的模型的一个简化版本(即只播放了年龄和分钟)。我在OpenBUGS的图形用户界面版本中运行它,它不能工作。然后,我将您的系数的先验更改为dnorm(0,0.01),并进行了更新。所以我建议你改变一下前科。你所拥有的是非常非常模糊的。按照建议更改它们不会影响您的推理,并且您可能会让模型运行。
https://stackoverflow.com/questions/43784682
复制相似问题