######################################### # 第9章 状態空間モデルによる時系列の解析 ######################################### # # AR モデルによる長期予測 ## Example of prediction (AR model : m=15, k=1) # data(BLSALLFOOD) # BLS120 <- BLSALLFOOD[1:120] z1 <- arfit(BLS120, plot = FALSE) tau2 <- z1$sigma2 arcoef <- z1$arcoef # in case m = 15 m1 <- z1$maice.order f <- matrix(0.0e0, m1, m1) f[1, ] <- arcoef[1:m1] if (m1 != 1) for (i in 2:m1) f[i, i-1] <- 1 g <- c(1, rep(0.0e0, m1-1)) h <- c(1, rep(0.0e0, m1-1)) q <- tau2[m1+1] r <- 0.0e0 x0 <- rep(0.0e0, m1) v0 <- NULL s1 <- tsmooth(BLS120, f, g, h, q, r, x0, v0, filter.end = 120, predict.end = 156) s1 plot(s1, BLSALLFOOD) ###################################### # # AR(1) による長期予測 # BLS120 <- BLSALLFOOD[1:120] z1 <- arfit(BLS120, plot = FALSE, lag=1) tau2 <- z1$sigma2 arcoef <- z1$arcoef m1 <- z1$maice.order f <- matrix(0.0e0, m1, m1) f[1, ] <- arcoef[1:m1] if (m1 != 1) for (i in 2:m1) f[i, i-1] <- 1 g <- c(1, rep(0.0e0, m1-1)) h <- c(1, rep(0.0e0, m1-1)) q <- tau2[m1+1] r <- 0.0e0 x0 <- rep(0.0e0, m1) v0 <- NULL s1 <- tsmooth(BLS120, f, g, h, q, r, x0, v0, filter.end = 120, predict.end = 156) s1 plot(s1, BLSALLFOOD) # # AR次数 5 (下記のものに置き換える) # z1 <- arfit(BLSALLFOOD, plot=FALSE,lag=5) ############################################################### # # ARモデルによる欠測値の補間 # ## AR model (l=1, k=1)  AR次数は自動決定 # ## Example of interpolation of missing values (AR model : m=15, k=1) z2 <- arfit(BLSALLFOOD, plot = FALSE) tau2 <- z2$sigma2 arcoef <- z2$arcoef # in case m2 = 15 m2 <- z2$maice.order f <- matrix(0.0e0, m2, m2) f[1, ] <- arcoef[1:m2] if (m2 != 1) for (i in 2:m2) f[i, i-1] <- 1 g <- c(1, rep(0.0e0, m2-1)) h <- c(1, rep(0.0e0, m2-1)) q <- tau2[m2+1] r <- 0.0e0 x0 <- rep(0.0e0, m2) v0 <- NULL tsmooth(BLSALLFOOD, f, g, h, q, r, x0, v0, missed = c(41, 101), np = c(30, 20)) ######################### # # AR次数 1 (下記のものに置き換える) # z2 <- arfit(BLSALLFOOD, plot=FALSE,lag=1) # # AR次数 5 # z2 <- arfit(BLSALLFOOD, plot=FALSE,lag=5)