An autoregressive (AR) model posits a latent level whose value at each step
is a noisy linear combination of previous steps:
level[t+1] = (sum(coefficients * levels[t:t-order:-1]) + Normal(0., level_scale))
sts_autoregressive(
observed_time_series = NULL,
order,
coefficients_prior = NULL,
level_scale_prior = NULL,
initial_state_prior = NULL,
coefficient_constraining_bijector = 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.
scalar positive integer specifying the number of past
timesteps to regress on.
optional Distribution instance specifying a
prior on the coefficients parameter. If NULL, a default standard
normal (tfd_multivariate_normal_diag(scale_diag = tf$ones(list(order)))) prior
is used. Default value: NULL.
optional 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 Distribution instance specifying a
prior on the initial state, corresponding to the values of the process
at a set of size order of imagined timesteps before the initial step.
If NULL, a heuristic default prior is constructed based on the
provided observed_time_series. Default value: NULL.
optional Bijector instance
representing a constraining mapping for the autoregressive coefficients.
For example, tfb_tanh() constrains the coefficients to lie in
(-1, 1), while tfb_softplus() constrains them to be positive, and
tfb_identity() implies no constraint. If NULL, the default behavior
constrains the coefficients to lie in (-1, 1) using a tanh bijector.
Default value: NULL.
the name of this model component. Default value: 'Autoregressive'.
The latent state is levels[t:t-order:-1]. We observe a noisy realization of
the current level: f[t] = level[t] + Normal(0., observation_noise_scale) at
each timestep.
If coefficients=[1.], the AR process is a simple random walk, equivalent to
a LocalLevel model. However, a random walk's variance increases with time,
while many AR processes (in particular, any first-order process with
abs(coefficient) < 1) are stationary, i.e., they maintain a constant
variance over time. This makes AR processes useful models of uncertainty.
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_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_local_linear_trend(),
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()