library("GAS")
## Simulate GAS process
set.seed(123)
################################
# UNIVARIATE #
################################
# norm
iT = 1e4
help(UniUnmapParameters)
A = matrix(c(0.1,0.0,
0.0,0.4),2)
B = matrix(c(0.9,0.0,
0.0,0.95),2)
Kappa = (diag(2) - B) %*% UniUnmapParameters(c(0, 0.1), "norm")
help(UniGASSim)
Sim = UniGASSim(fit = NULL, iT, Kappa, A, B, Dist = "norm", ScalingType = "Identity")
# snorm
iT = 1e3
A = matrix(c(0.0 , 0.0 , 0.0 ,
0.0 , 0.1 , 0.0 ,
0.0 , 0.0 , 0.0),3,byrow = T)
B = matrix(c(0.7 , 0.0 , 0.0 ,
0.0 , 0.98, 0.0 ,
0.0 , 0.0 , 0.97),3,byrow = T)
Kappa = (diag(3) - B) %*% UniUnmapParameters(c(0, 0.1, 1.1), "snorm")
Sim = UniGASSim(fit = NULL, iT, Kappa, A, B, Dist = "snorm", ScalingType = "Identity")
# plot(Sim)
# std
iT = 1e3
A = matrix(c(0.001 , 0.0 , 0.0 ,
0.0 , 0.01 , 0.0 ,
0.0 , 0.0 , 0.04),3,byrow = T)
B = matrix(c(0.7 , 0.0 , 0.0 ,
0.0 , 0.98, 0.0 ,
0.0 , 0.0 , 0.97),3,byrow = T)
Kappa = (diag(3) - B) %*% UniUnmapParameters(c(0, 0.1, 8), "std")
Sim = UniGASSim(fit = NULL, iT, Kappa, A, B, Dist = "std", ScalingType = "Identity")
# plot(Sim)
# sstd
iT = 1e3
A = matrix(c(0.0 , 0.0 , 0.0 , 0.0,
0.0 , 0.1 , 0.0 , 0.0,
0.0 , 0.0 , 0.00, 0.0,
0.0 , 0.0 , 0.00, 0.0),4,byrow = T)
B = matrix(c(0.0 , 0.0 , 0.0 , 0.0,
0.0 , 0.98, 0.0 , 0.0,
0.0 , 0.0 , 0.00, 0.0,
0.0 , 0.0 , 0.00, 0.0),4,byrow = T)
Kappa = (diag(4) - B) %*% UniUnmapParameters(c(0, 0.1, 1.1, 8), "sstd")
Sim = UniGASSim(fit = NULL, iT, Kappa, A, B, Dist = "sstd", ScalingType = "Identity")
# poi
iT = 1e4
A = matrix(c(0.05), 1)
B = matrix(c(0.94), 1)
Kappa = (1 - B) * log(5)
Sim = UniGASSim(fit = NULL, iT, Kappa, A, B, Dist = "poi", ScalingType = "Identity")
# plot(Sim)
# beta
iT = 1e4
A = matrix(c(0.1, 0.0,
0.0, 0.4), 2) * 0.01
B = matrix(c(0.98, 0.0,
0.0, 0.99), 2)
Kappa = (diag(2) - B) %*% c(log(0.1), log(0.4))
Sim = UniGASSim(fit = NULL, iT, Kappa, A, B, Dist = "beta", ScalingType = "Identity")
# negative binomial
iT = 1e4
A = matrix(c(7.5, 0.0,
0.0, 0.0), 2)
B = matrix(c(0.99, 0.0,
0.0, 0.0), 2)
Kappa = (diag(2) - B) %*% c(log(0.8/0.2), log(2))
Sim = UniGASSim(fit = NULL, iT, Kappa, A, B, Dist = "negbin", ScalingType = "Inv")
# plot(Sim)
################################
# MULTIVARIATE #
################################
# Simulate from a GAS process with Multivariate Student-t conditional distribution, time-varying locations, scales, correlations and fixed shape parameter.
library(GAS)
set.seed(786)
iT = 1000 # number of observations to simulate
N = 3 # trivariate series
Dist = "mvt" # conditional Multivariate Studen-t distribution
# build unconditional vector of reparametrised parameters
Mu = c(0.1,0.2,0.3) # vector of location parameters (this is not transformed)
Phi = c(1.0, 1.2, 0.3) # vector of scale parameters for the firs, second and third variables.
Rho = c(0.1,0.2,0.3) # This represents vec(R), where R is the correlation matrix.
# Note that is up to the user to ensure that vec(R) implies a proper correlation matrix
Theta = c(Mu, Phi, Rho, 7) # vector of parameters such that the degrees of freedom are 7.
A = matrix(0, length(Theta), length(Theta))
diag(A) = c(0, 0, 0, 0.05, 0.01, 0.09, 0.01, 0.04, 0.07, 0) # update scales and correlations, do not update locations and shape parameters
B = matrix(0, length(Theta), length(Theta))
diag(B) = c(0, 0, 0, 0.7, 0.7, 0.5, 0.94, 0.97, 0.92, 0) # update scales and correlations, do not update locations and shape parameters
Kappa = (diag(length(Theta)) - B) %*% MultiUnmapParameters(Theta, Dist, N)
help(MultiGASSim)
Sim = MultiGASSim(fit = NULL, iT, N, Kappa, A, B, Dist, ScalingType = "Identity")
Sim
# plot(Sim)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.