# This example can be pasted into a script or copied into R to run. It
# takes a few minutes, but illustrates how the code can be used
data(IsraelPalestineConflict)
# Find the mode of an msbvar model
# Initial guess is based on random draw, so set seed.
set.seed(123)
xm <- msbvar(IsraelPalestineConflict, p=3, h=2,
lambda0=0.8, lambda1=0.15,
lambda3=1, lambda4=1, lambda5=0, mu5=0,
mu6=0, qm=12,
alpha.prior=matrix(c(10,5,5,9), 2, 2))
# Plot out the initial mode
plot(ts(xm$fp))
print(xm$Q)
# Now sample the posterior
N1 <- 1000
N2 <- 2000
# First, so this with random permutation sampling
x1 <- gibbs.msbvar(xm, N1=N1, N2=N2, permute=TRUE)
# Identify the regimes using clustering in plotregimeid()
plotregimeid(x1, type="all")
# Now re-estimate based on desired regime identification seen in the
# plots. Here we are using the intercept of the first equation, so
# Beta.idx=c(7,1).
x2 <- gibbs.msbvar(xm, N1=N1, N2=N2, permute=FALSE, Beta.idx=c(7,1))
# Plot regimes
plot.SS(x2)
# Summary of transition matrix
summary(x2$Q.sample)
# Plot of the variance elements
plot(x2$Sigma.sample)Run the code above in your browser using DataLab