Learn R Programming

bsts (version 0.6.1)

simulate.fake.mixed.frequency.data: Simulate fake mixed frequency data

Description

Simulate a fake data set that can be used to test mixed frequency code.

Usage

SimulateFakeMixedFrequencyData(nweeks,
                               xdim,
                               number.nonzero = xdim,
                               start.date = as.Date("2009-01-03"),
                               sigma.obs = 1.0,
                               sigma.slope = .5,
                               sigma.level = .5,
                               beta.sd = 10)

Arguments

nweeks
The number of weeks of data to simulate.
xdim
The dimension of the predictor variables to be simulated.
number.nonzero
The number nonzero coefficients. Must be less than or equal to xdim.
start.date
The date of the first simulated week.
sigma.obs
The residual standard deviation for the fine time scale model.
sigma.slope
The standard deviation of the slope component of the local linear trend model for the fine time scale data.
sigma.level
The standard deviation of the level component fo the local linear trend model for the fine time scale data.
beta.sd
The standard deviation of the regression coefficients to be simulated.

Value

  • Returns a list with the following components
  • coarse.targetA zoo time series containing the monthly values to be modeled.
  • fine.targetA zoo time series containing the weekly observations that aggregate to coarse.target.
  • predictorsA zoo matrix corresponding to fine.target containing the set of predictors variables to use in bsts.mixed prediction.
  • true.betaThe vector of "true" regression coefficients used to simulate fine.target.
  • true.sigma.obsThe residual standard deviation that was used to simulate fine.target.
  • true.sigma.slopeThe value of sigma.slope used to simulate fine.target.
  • true.sigma.levelThe value of sigma.level use to simulate fine.target.
  • true.trendThe combined contribution of the simulated latent state on fine.target, including regression effects.
  • true.stateA matrix containin the fine-scale state of the model being simulated. Columns represent time (weeks). Rows correspond to regression (a constant 1), the local linear trend level, the local linear trend slope, the values of fine.target, and the weekly partial aggregates of coarse.target.

Details

The simulation begins by simulating a local linear trend model for nweeks to get the trend component.

Next a nweeks by xdim matrix of predictor variables is simulated as IID normal(0, 1) deviates, and a xdim-vector of regression coefficients is simulated as IID normal(0, beta.sd). The product of the predictor matrix and regression coefficients is added to the output of the local linear trend model to get fine.target.

Finally, fine.target is aggregated to the month level to get coarse.target.

References

Harvey (1990), "Forecasting, structural time series, and the Kalman filter", Cambridge University Press.

Durbin and Koopman (2001), "Time series analysis by state space methods", Oxford University Press.

See Also

bsts.mixed, AddLocalLinearTrend,

Examples

Run this code
fake.data <- SimulateFakeMixedFrequencyData(nweeks = 100, xdim = 10)
  plot(fake.data$coarse.target)

Run the code above in your browser using DataLab