# Cut-and-Paste Code Below
#
# DE19 Model W Input
#
merge.forecast <- function (fx,n=1) {
x <- splice(fx$pred,fx$forecast[[n]])
colnames(x) <- seriesNames(fx$data$output)
return(x)
}
AIC <- function(model) {informationTestsCalculations(model)[3]}
require(dse)
require(matlab)
#
# W19 BAU Model
#
# Measurement Matrix (Growth), (Q-N), X+Q-N-XREAL), (X+Q - XREAL-N), (N+Q-XREAL)
#
# Q N XREAL X
#[1,] 0.491 0.504 0.508 0.497
#[2,] 0.746 -0.344 0.158 -0.548
#[3,] 0.346 -0.492 -0.475 0.642
#
#[4,] 0.289 0.621 -0.701 -0.199
#
# Fraction of Variance
#[1] 0.959 0.991 0.999 1.000
f <- matrix( c(1.017250893, -0.020318992, 0.05992186, 0.077760753,
0.017524849, 0.990743759, 0.04984382, -0.002539976,
-0.004654088 ,-0.009242275, 1.04850016, -0.004339670,
0.00000000, 0.0000000, 0.0000000, 1.0000000000
),byrow=TRUE,nrow=4,ncol=4)
#
# To Stabilize Model, Uncomment Next Line
# f[1,1] <- 0.8054080; f[2,2] <- 0.78419528; f[3,3] <- 0.90340048
#
h <- eye(3,4)
k <- (f[,1:3,drop=FALSE])
W19 <- SS(F=f,H=h,K=k,z0=c(0.077760753, -0.002539976, -0.004339670, 1.0000000000),
output.names=c("W1","W2","W3"))
stability(m <- SS(F=f[1:3,1:3,drop=FALSE],Q=eye(3),R=eye(3),H=eye(3)))
W19.data <- simulate(W19,sampleT=100,noise=matrix(0,100,3),start=1800)
W19.f <- forecast(m1<-l(W19,W19.data),horizon=100)
W19.fx <- merge.forecast(W19.f)
#
# DE19 W input
#
# Measurement Matrix (Growth), (Q-U-HOURS-L+XREAL+X), (Q+HOURS+L-N-U-X)
#
# Q N U HOURS XREAL X L
#[1,] 0.376 0.388 0.372 0.377 0.378 0.373 0.382
#[2,] 0.409 -0.112 -0.466 -0.408 0.394 0.457 -0.270
#[3,] 0.386 -0.237 -0.553 0.252 -0.138 -0.288 0.569
#
# Fraction of Variance
#[1] 0.944 0.995 0.999 1.000 1.000 1.000 1.000
#
f <- matrix( c(0.8300617, -0.29328251, -0.04494436, 0.067200145,
-0.2584547, 0.80819961, 0.11307130, -0.021565758,
0.1529749, 0.04157157, 0.93105371, 0.008174919,
0.00000000, 0.000000000, 0.00000000, 1.00000000
),byrow=TRUE,nrow=4,ncol=4)
#
# To Eliminate Feedback Effects, Uncomment Net Line
# f[1,2] <- f[2,1] <- 0
#
g <- matrix(c(0.1996681, 0.24516375, 0.08854465,
0.2863709 , 0.20489232, 0.02798465,
-0.1628984, -0.07189779, 0.03953764,
0.000000000, 0.00000000, 0.00000000
),byrow=TRUE,nrow=4,ncol=3)
h <- eye(3,4)
k <- (f[,1:3,drop=FALSE])
DE19 <- SS(F=f,H=h,K=k,G=g,z0=c(-0.1498229, -0.5198287, 0.3479083, 1.0000000000),
output.names=c("DE1","DE2","DE3"))
print(DE19)
is.SS(DE19)
stability(m <- SS(F=f[1:3,1:3,drop=FALSE],Q=eye(3,3),R=eye(3),H=eye(3)))
# tfplot(simulate(DE19,sampleT=100))
DE19.data <- simulate(DE19,sampleT=100,noise=matrix(0,100,3),input=W19.fx)
DE19.f <- forecast(m1<-l(DE19,DE19.data),conditioning.inputs=W19.fx)
tfplot(DE19.f)
AIC(m1)