Function generates data using GUM with Single Source of Error as a data generating process.
sim.gum(orders = c(1), lags = c(1), obs = 10, nsim = 1,
frequency = 1, measurement = NULL, transition = NULL,
persistence = NULL, initial = NULL, randomizer = c("rnorm", "rt",
"rlaplace", "rs"), probability = 1, ...)
List of the following values is returned:
model
- Name of GUM model.
measurement
- Matrix w.
transition
- Matrix F.
persistence
- Persistence vector. This is the place, where
smoothing parameters live.
initial
- Initial values of GUM in a form of matrix. If nsim>1
,
then this is an array.
data
- Time series vector (or matrix if nsim>1
) of the generated
series.
states
- Matrix (or array if nsim>1
) of states. States are in
columns, time is in rows.
residuals
- Error terms used in the simulation. Either vector or matrix,
depending on nsim
.
occurrence
- Values of occurrence variable. Once again, can be either
a vector or a matrix...
logLik
- Log-likelihood of the constructed model.
Order of the model. Specified as vector of number of states
with different lags. For example, orders=c(1,1)
means that there are
two states: one of the first lag type, the second of the second type.
Defines lags for the corresponding orders. If, for example,
orders=c(1,1)
and lags are defined as lags=c(1,12)
, then the
model will have two states: the first will have lag 1 and the second will
have lag 12. The length of lags
must correspond to the length of
orders
.
Number of observations in each generated time series.
Number of series to generate (number of simulations to do).
Frequency of generated data. In cases of seasonal models must be greater than 1.
Measurement vector \(w\). If NULL
, then
estimated.
Transition matrix \(F\). Can be provided as a vector.
Matrix will be formed using the default matrix(transition,nc,nc)
,
where nc
is the number of components in state vector. If NULL
,
then estimated.
Persistence vector \(g\), containing smoothing
parameters. If NULL
, then estimated.
Vector of initial values for state matrix. If NULL
,
then generated using advanced, sophisticated technique - uniform
distribution.
Type of random number generator function used for error
term. Defaults are: rnorm
, rt
, rlaplace
and rs
.
rlnorm
should be used for multiplicative models (e.g. ETS(M,N,N)).
But any function from Distributions will do the trick if the
appropriate parameters are passed. For example rpois
with
lambda=2
can be used as well, but might result in weird values.
Probability of occurrence, used for intermittent data generation. This can be a vector, implying that probability varies in time (in TSB or Croston style).
Additional parameters passed to the chosen randomizer. All the
parameters should be passed in the order they are used in chosen randomizer.
For example, passing just sd=0.5
to rnorm
function will lead
to the call rnorm(obs, mean=0.5, sd=1)
.
Ivan Svetunkov, ivan@svetunkov.ru
For the information about the function, see the vignette:
vignette("simulate","smooth")
Svetunkov I. (2015 - Inf) "smooth" package for R - series of posts about the underlying models and how to use them: https://forecasting.svetunkov.ru/en/tag/smooth/.
Svetunkov I. (2017). Statistical models underlying functions of 'smooth' package for R. Working Paper of Department of Management Science, Lancaster University 2017:1, 1-52.
sim.es, sim.ssarima,
sim.ces, gum, Distributions
# Create 120 observations from GUM(1[1]). Generate 100 time series of this kind.
x <- sim.gum(orders=c(1),lags=c(1),obs=120,nsim=100)
# Generate similar thing for seasonal series of GUM(1[1],1[4]])
x <- sim.gum(orders=c(1,1),lags=c(1,4),frequency=4,obs=80,nsim=100,transition=c(1,0,0.9,0.9))
# Estimate model and then generate 10 time series from it
ourModel <- gum(rnorm(100,100,5))
simulate(ourModel,nsim=10)
Run the code above in your browser using DataLab