R: Compare bsts models

compare.bsts.models {bsts} | R Documentation

## Compare bsts models

### Description

Produce a set of line plots showing the cumulative absolute one step ahead prediction errors for different models. This plot not only shows which model is doing the best job predicting the data, it highlights regions of the data where the predictions are particularly good or bad.

### Usage

    CompareBstsModels(model.list,
                      burn = SuggestBurn(.1, model.list[[1]]),
                      filename = "",
                      colors = NULL,
                      lwd = 2,
                      xlab = "Time",
                      main = "",
                      grid = TRUE,
                      cutpoint = NULL)

### Arguments

`model.list` | A list of `bsts` models.
`burn` | The number of initial MCMC iterations to remove from each model as burn-in.
`filename` | A string. If non-empty string then a pdf of the plot will be saved in the specified file.
`colors` | A vector of colors to use for the different lines in the plot. If `NULL` then the `rainbow` pallette will be used.
`lwd` | The width of the lines to be drawn.
`xlab` | Label for the horizontal axis.
`main` | Main title for the plot.
`grid` | Logical. Should gridlines be drawn in the background?
`cutpoint` | Either `NULL`, or an integer giving the observation number used to define a holdout sample. Prediction errors occurring after the cutpoint will be true out of sample errors. If `NULL` then all prediction errors are "in sample". See the discussion in `bsts.prediction.errors`.

### Value

Invisibly returns the matrix of cumulative one-step ahead prediction errors (the lines in the top panel of the plot). Each row in the matrix corresponds to a model in model.list.

### Author(s)

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

### Examples

      data(AirPassengers)
      y <- log(AirPassengers)
      ss <- AddLocalLinearTrend(list(), y)
      trend.only <- bsts(y, ss, niter = 250)

      ss <- AddSeasonal(ss, y, nseasons = 12)
      trend.and.seasonal <- bsts(y, ss, niter = 250)

      CompareBstsModels(list(trend = trend.only,
                             "trend and seasonal" = trend.and.seasonal))

      CompareBstsModels(list(trend = trend.only,
                             "trend and seasonal" = trend.and.seasonal),
                              cutpoint = 100)

[Package bsts version 0.9.6 Index]