R OpenBugs返回
我正在试着编写Makridakis和Hyndman书中的示例。 但在某些时候,我们使用了一个循环项,我不知道如何解决它 当我尝试>>>级别[i]-级别[i-1]时,模型停止运行。 事实上,当我把“帐篷”和“水平”联系起来时,它就不起作用了。我不理解为什么,因为我可以将“level”和“tent”联系起来,但不能反过来R OpenBugs返回,r,time-series,openbugs,R,Time Series,Openbugs,我正在试着编写Makridakis和Hyndman书中的示例。 但在某些时候,我们使用了一个循环项,我不知道如何解决它 当我尝试>>>级别[i]-级别[i-1]时,模型停止运行。 事实上,当我把“帐篷”和“水平”联系起来时,它就不起作用了。我不理解为什么,因为我可以将“level”和“tent”联系起来,但不能反过来 library(R2OpenBUGS) Dados <- c(362, 385, 432, 341, 382, 409, 498, 387,
library(R2OpenBUGS)
Dados <- c(362, 385, 432, 341,
382, 409, 498, 387,
473, 513, 582, 474,
544, 582, 681, 557,
628, 707, 773, 592,
627, 725, 854, 661)
anos <- c(2015,2015,2015,2015,
2016,2016,2016,2016,
2017,2017,2017,2017,
2018,2018,2018,2018,
2019,2019,2019,2019,
2020,2020,2020,2020)
meses <- c(1,2,3,4,
1,2,3,4,
1,2,3,4,
1,2,3,4,
1,2,3,4)
N <- 24
s <- 4
data <- list(N = N, dados = Dados, meses = meses, anos = anos, s=s)
model1 <- function()
{
for (i in 1:N)
{
y[i] <- Consumo[i]
y[i] ~ dnorm(mean[i],tau)
}
level[1] <- y[1]
tent[1] <- y[1]
mean[1] <- y[1]
for (i in 2:N)
{
level[i] <- (beta0*y[i])+((1-beta0)*(mean[i-1]+tent[i-1]))
tent[i] <- (beta1*(level[i]-level[i-1]))+((1-beta1)*tent[i-1])
mean[i] <- level[i]+tent[i]
}
beta0 ~ dnorm(3,20)
beta1 ~ dnorm(3,20)
tau ~ dgamma(1,1)
}
库(r2openbug)
护墙板