Univariate Prophetverse forecaster with multiple likelihood options.
This forecaster implements a univariate model with support for different likelihoods. It differs from Facebook’s Prophet in several ways: - Logistic trend is parametrized differently, inferring capacity from data. - Arbitrary sktime transformers can be used (e.g., FourierFeatures or HolidayFeatures). - No default weekly or yearly seasonality; these must be provided via the feature_transformer. - Uses ‘changepoint_interval’ instead of ‘n_changepoints’ for selecting changepoints. - Allows for configuring distinct functions for each exogenous variable effect.
Parameters
Name
Type
Description
Default
trend
Union[str, BaseEffect]
Type of trend to use. Either “linear” (default) or “logistic”, or a custom effect object.
'linear'
exogenous_effects
Optional[List[BaseEffect]]
List of effect objects defining the exogenous effects.
None
default_effect
Optional[BaseEffect]
The default effect for variables without a specified effect.
None
feature_transformer
sktime transformer
Transformer object to generate additional features (e.g., Fourier terms).
None
noise_scale
float
Scale parameter for the observation noise. Must be greater than 0. (default: 0.05)
None
likelihood
str
The likelihood model to use. One of “normal”, “gamma”, or “negbinomial”. (default: “normal”)
'normal'
scale
optional
Scaling value inferred from the data.
None
rng_key
optional
A jax.random.PRNGKey instance, or None.
None
inference_engine
optional
An inference engine for running the model.
None
Raises
Name
Type
Description
ValueError
If noise_scale is not greater than 0 or an unsupported likelihood is provided.