#
# Cut-and-Paste Code below into Window above and Run
#
# help(dse)
# help(SS)
#
# AXIS BAU Growth
#
#
merge.forecast <- function (fx,n=1) {
#
# Merges a forecast with the outputdata
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)
#
# Measurement Matrix
# RU1 IN1 CN1
#[1,] 0.514 0.601 0.612
#[2,] 0.855 -0.414 -0.311
#
# Fraction of Variance
#[1] 0.843 0.994 1.000
#
f <- matrix( c( 1.01460086, -0.03779872, 0.115936692,
-0.01948855, 0.96412537, 0.009885037,
0.00000000, 0.00000000, 1.000000000
),nrow=3,ncol=3, byrow=TRUE)
#
# To stabilize, uncomment the next line
# f[1,1] <- 0.98; f[2,2] <- 0.94
#
h <- eye(2,3)
k <- (f[,1:2,drop=FALSE])
AXIS <- SS(F=f,H=h,K=k,z0=c( 0.115936692, 0.009885037, 1.000000000),
output.names=c("AXIS1", "AXIS2"))
print(AXIS)
is.SS(AXIS)
stability(AXIS)
AXIS.data <- simulate(AXIS,sampleT=150,noise=matrix(0,150,2),start=1960)
#tfplot(AXIS.data)
AXIS.f <- forecast(l(AXIS,AXIS.data),horizon=150,start=1960)
tfplot(AXIS.f)
AXIS.fx <- merge.forecast(AXIS.f)
AIC(l(AXIS,AXIS.data))
shockDecomposition(toSSChol(AXIS))
#
#
# AXIS_US_W Input Model
#
f1 <- matrix( c( 0.4019768, -0.3374256, 1.737707,
-0.3795936, 0.5531931, 1.442896,
0.00000000, 0.00000000, 1.000000000
),nrow=3,ncol=3, byrow=TRUE)
g1 <- matrix(c(2.793952, -1.493413,
2.248613, -1.174908,
0.000000, 0.000000
),nrow=3,ncol=2, byrow=TRUE)
#
h1 <- eye(2,3)
k1 <- (f[,1:2,drop=FALSE])
AXIS_USW <- SS(F=f1,H=h1,K=k1,G=g1,z0=c( 2.363615, 1.947099, 1.000000000),
output.names=c("AXIS_US", "AXIS_W"))
print(AXIS_USW)
is.SS(AXIS_USW)
stability(AXIS_USW)
AXIS_USW.data <- simulate(AXIS_USW,sampleT=50,noise=matrix(0,50,2),start=1960,input=window(AXIS.fx,start=1960,end=2010))
#tfplot(AXIS_USW.data)
AXIS_USW.f <- forecast(l(AXIS_USW,AXIS_USW.data),conditioning.inputs=AXIS.fx)
tfplot(AXIS_USW.f )
shockDecomposition(SS(F=f1,H=h1,R=eye(2),Q=eye(3,2),z0=c( 2.363615, 1.947099, 1.000000000),output.names=c("AXIS_US", "AXIS_W")))
#
# Take out the Axis Input"
#
AXIS_USWx <- SS(F=f1,H=h1,K=k1,z0=c( 2.0, 1.947099, 1.000000000),
output.names=c("AXIS_US", "AXIS_W"))
print(AXIS_USWx)
is.SS(AXIS_USWx)
stability(AXIS_USWx)
AXIS_USWx.data <- simulate(AXIS_USWx,sampleT=50,noise=matrix(0,50,2),start=1960,horizon=150)
#tfplot(AXIS_USWx.data)
AXIS_USWx.f <- forecast(l(AXIS_USWx,AXIS_USWx.data),horizon=150)
tfplot(AXIS_USWx.f )
#