The local linear trend model posits a level
and slope
, each
evolving via a Gaussian random walk:
level[t] = level[t-1] + slope[t-1] + Normal(0., level_scale)
slope[t] = slope[t-1] + Normal(0., slope_scale)
sts_local_linear_trend(
observed_time_series = NULL,
level_scale_prior = NULL,
slope_scale_prior = NULL,
initial_level_prior = NULL,
initial_slope_prior = NULL,
name = NULL
)
an instance of StructuralTimeSeries
.
optional float
tensor
of shape
batch_shape + [T, 1]
(omitting the trailing unit dimension is also
supported when T > 1
), specifying an observed time series.
Any priors not explicitly set will be given default values according to
the scale of the observed time series (or batch of time series). May
optionally be an instance of sts_masked_time_series
, which includes
a mask tensor
to specify timesteps with missing observations.
Default value: NULL
.
optional tfp$distribution
instance specifying a prior
on the level_scale
parameter. If NULL
, a heuristic default prior is
constructed based on the provided observed_time_series
.
Default value: NULL
.
optional tfd$Distribution
instance specifying a prior
on the slope_scale
parameter. If NULL
, a heuristic default prior is
constructed based on the provided observed_time_series
. Default value: NULL
.
optional tfp$distribution
instance specifying a
prior on the initial level. If NULL
, a heuristic default prior is
constructed based on the provided observed_time_series
.
Default value: NULL
.
optional tfd$Distribution
instance specifying a
prior on the initial slope. If NULL
, a heuristic default prior is
constructed based on the provided observed_time_series
. Default value: NULL
.
the name of this model component. Default value: 'LocalLinearTrend'.
The latent state is the two-dimensional tuple [level, slope]
. At each
timestep we observe a noisy realization of the current level:
f[t] = level[t] + Normal(0., observation_noise_scale)
.
This model is appropriate for data where the trend direction and magnitude (latent
slope
) is consistent within short periods but may evolve over time.
Note that this model can produce very high uncertainty forecasts, as
uncertainty over the slope compounds quickly. If you expect your data to
have nonzero long-term trend, i.e. that slopes tend to revert to some mean,
then the SemiLocalLinearTrend
model may produce sharper forecasts.
For usage examples see sts_fit_with_hmc()
, sts_forecast()
, sts_decompose_by_component()
.
Other sts:
sts_additive_state_space_model()
,
sts_autoregressive_state_space_model()
,
sts_autoregressive()
,
sts_constrained_seasonal_state_space_model()
,
sts_dynamic_linear_regression_state_space_model()
,
sts_dynamic_linear_regression()
,
sts_linear_regression()
,
sts_local_level_state_space_model()
,
sts_local_level()
,
sts_local_linear_trend_state_space_model()
,
sts_seasonal_state_space_model()
,
sts_seasonal()
,
sts_semi_local_linear_trend_state_space_model()
,
sts_semi_local_linear_trend()
,
sts_smooth_seasonal_state_space_model()
,
sts_smooth_seasonal()
,
sts_sparse_linear_regression()
,
sts_sum()