R: Simulate fake mixed frequency data

simulate.fake.mixed.frequency.data {bsts} | R Documentation

## 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.

### 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`.

### Value

Returns a list with the following components

`coarse.target` | A `zoo` time series containing the monthly values to be modeled.
`fine.target` | A `zoo` time series containing the weekly observations that aggregate to `coarse.target`.
`predictors` | A `zoo` matrix corresponding to `fine.target` containing the set of predictors variables to use in `bsts.mixed` prediction.
`true.beta` | The vector of "true" regression coefficients used to simulate `fine.target`.
`true.sigma.obs` | The residual standard deviation that was used to simulate `fine.target`.
`true.sigma.slope` | The value of `sigma.slope` used to simulate `fine.target`.
`true.sigma.level` | The value of `sigma.level` use to simulate `fine.target`.
`true.trend` | The combined contribution of the simulated latent state on `fine.target`, including regression effects.
`true.state` | A 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`.

### Author(s)

Steven L. Scott steve.the.bayesian@gmail.com

### 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

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

[Package bsts version 0.9.6 Index]