DeepARForecaster
chronax.forecaster.DeepARForecaster
High-level fit/predict API wrapping DeepAR_EncDec.
__init__(self, h, hidden_size=64, dropout_rate=0.1, min_sigma=0.02, seed=0)
| Parameter | Type | Default | Description |
|---|---|---|---|
h |
int |
- | Forecast horizon. |
hidden_size |
int |
64 |
LSTM hidden dimension. |
dropout_rate |
float |
0.1 |
Dropout probability. |
min_sigma |
float |
0.02 |
Minimum σ floor. |
seed |
int |
0 |
Master random seed. |
fit(self, y_series, x_futr_list=None, x_stat_list=None, input_size=168, num_steps=1000, batch_size=32, learning_rate=0.001, weight_decay=1e-05, verbose=True) -> DeepARForecaster
Fit DeepAR to a collection of time series.
| Parameter | Type | Default | Description |
|---|---|---|---|
y_series |
List[jnp.ndarray] |
- | List of 1-D JAX arrays (one per series). |
x_futr_list |
Optional[List[Optional[jnp.ndarray]]] |
None |
Future exogenous per series [T+h, F] or None. |
x_stat_list |
Optional[List[Optional[jnp.ndarray]]] |
None |
Static features per series [S] or None. |
input_size |
int |
168 |
History window length. |
num_steps |
int |
1000 |
Training steps. |
batch_size |
int |
32 |
Ignored (single-series batches currently). |
learning_rate |
float |
1e-3 |
Learning rate. |
weight_decay |
float |
1e-5 |
AdamW weight-decay. |
verbose |
bool |
True |
Print progress. |
Returns: Self (the fitted forecaster).
predict(self, y_series, x_futr_hist=None, x_futr=None, x_stat=None, num_samples=100, seed=0) -> jnp.ndarray
Monte Carlo sample paths.
| Parameter | Type | Default | Description |
|---|---|---|---|
y_series |
jnp.ndarray |
- | Historical series [T]. |
x_futr_hist |
Optional[jnp.ndarray] |
None |
(undocumented) |
x_futr |
Optional[jnp.ndarray] |
None |
Future exogenous for the forecast horizon [h, F] or None. |
x_stat |
Optional[jnp.ndarray] |
None |
Static features [S] or None. |
num_samples |
int |
100 |
Number of MC paths. |
seed |
int |
0 |
Random seed. |
Returns: jnp.ndarray (Sample paths [num_samples, h]).
quantile(self, y_series, x_futr_hist=None, x_futr=None, x_stat=None, quantiles=(0.1, 0.5, 0.9), num_samples=1000, seed=0) -> Dict[float, jnp.ndarray]
Compute quantile forecasts.
| Parameter | Type | Default | Description |
|---|---|---|---|
y_series |
jnp.ndarray |
- | (undocumented) |
x_futr_hist |
Optional[jnp.ndarray] |
None |
(undocumented) |
x_futr |
Optional[jnp.ndarray] |
None |
(undocumented) |
x_stat |
Optional[jnp.ndarray] |
None |
(undocumented) |
quantiles |
Tuple[float, ...] |
(0.1, 0.5, 0.9) |
(undocumented) |
num_samples |
int |
1000 |
(undocumented) |
seed |
int |
0 |
(undocumented) |
Returns: Dict[float, jnp.ndarray] (Dict mapping quantile level → [h] array).
forecast(self, y_series, x_futr_hist=None, x_futr=None, x_stat=None) -> Dict[str, jnp.ndarray]
Point forecast (median) with 10/90 uncertainty intervals.
| Parameter | Type | Default | Description |
|---|---|---|---|
y_series |
jnp.ndarray |
- | (undocumented) |
x_futr_hist |
Optional[jnp.ndarray] |
None |
(undocumented) |
x_futr |
Optional[jnp.ndarray] |
None |
(undocumented) |
x_stat |
Optional[jnp.ndarray] |
None |
(undocumented) |
Returns: Dict[str, jnp.ndarray] (Dict with keys median, lower, upper, each [h]).