Add a local linear trend model to a state specification. The local linear trend model assumes that both the mean and the slope of the trend follow random walks. The equation for the mean is $$\mu_{t+1} = \mu_t + \delta_t + \epsilon_t \qquad \epsilon_t \sim \mathcal{N}(0, \sigma_\mu).$$ The equation for the slope is $$\delta_{t+1} = \delta_t + \eta_t \qquad \eta_t \sim \mathcal{N}(0, \sigma_\delta).$$ The prior distribution is on the level standard deviation \(\sigma_\mu\) and the slope standard deviation \(\sigma_\delta\).

```
AddLocalLinearTrend(
state.specification = NULL,
y,
level.sigma.prior = NULL,
slope.sigma.prior = NULL,
initial.level.prior = NULL,
initial.slope.prior = NULL,
sdy,
initial.y)
```

state.specification

A list of state components that you wish to add to. If omitted, an empty list will be assumed.

y

The time series to be modeled, as a numeric vector.

level.sigma.prior

An object created by
`SdPrior`

describing the prior distribution for
the standard deviation of the level component.

slope.sigma.prior

An object created by
`SdPrior`

describing the prior distribution of
the standard deviation of the slope component.

initial.level.prior

An object created by
`NormalPrior`

describing the initial distribution
of the level portion of the initial state vector.

initial.slope.prior

An object created by
`NormalPrior`

describing the prior distribution
for the slope portion of the initial state vector.

sdy

The standard deviation of the series to be modeled. This
will be ignored if `y`

is provided, or if all the required
prior distributions are supplied directly.

initial.y

The initial value of the series being modeled. This will be
ignored if `y`

is provided, or if the priors for the initial
state are all provided directly.

Returns a list with the elements necessary to specify a local linear trend state model.

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.

# NOT RUN { data(AirPassengers) y <- log(AirPassengers) ss <- AddLocalLinearTrend(list(), y) ss <- AddSeasonal(ss, y, nseasons = 12) model <- bsts(y, state.specification = ss, niter = 500) pred <- predict(model, horizon = 12, burn = 100) plot(pred) # }