paddlets.models.forecasting.dl.deepar
基于论文 DeepAR: Probabilistic forecasting with autoregressive recurrent networks 实现。
- 升级特性
均值迭代预测:在预测阶段,除实现原文中的采样路径外,我们提供了另一个可选的解码方式,通过分布均值进行迭代预测。
- class DeepARModel(in_chunk_len: int, out_chunk_len: int, rnn_type_or_module: str = 'LSTM', fcn_out_config: ~typing.Optional[~typing.List[int]] = None, hidden_size: int = 128, num_layers_recurrent: int = 1, dropout: float = 0.0, skip_chunk_len: int = 0, sampling_stride: int = 1, likelihood_model: ~paddlets.models.forecasting.dl.distributions.likelihood.Likelihood = <paddlets.models.forecasting.dl.distributions.likelihood.GaussianLikelihood object>, num_samples: int = 101, loss_fn: ~typing.Callable[[...], ~paddle.Tensor] = <bound method GaussianLikelihood.loss of <paddlets.models.forecasting.dl.distributions.likelihood.GaussianLikelihood object>>, regression_mode: str = 'mean', output_mode: str = 'quantiles', optimizer_fn: ~typing.Callable[[...], ~paddle.optimizer.optimizer.Optimizer] = <class 'paddle.optimizer.adam.Adam'>, optimizer_params: ~typing.Dict[str, ~typing.Any] = {'learning_rate': 0.0001}, eval_quantiles: ~typing.List[float] = [0.1, 0.5, 0.9], eval_metrics: ~typing.List[~paddlets.metrics.base.Metric] = [<paddlets.metrics.metrics.QuantileLoss object>], callbacks: ~typing.List[~paddlets.models.common.callbacks.callbacks.Callback] = [], batch_size: int = 128, max_epochs: int = 10, verbose: int = 1, patience: int = 4, seed: int = 0)[源代码]
基类:
PaddleBaseModelImplDeepAR模型
- 参数
in_chunk_len (int) – 模型输入的时间序列长度。
out_chunk_len (int) – 模型输出的序列长度。
rnn_type (str) – 具体的RNN模型(”GRU” 或 “LSTM”)。
hidden_size (int) – RNN模型隐藏状态h大小。
num_layers_recurrent (int) – 循环网络的层数。
dropout (float) – dropout概率,除第一层外每层输入时的dropout概率。
skip_chunk_len (int) – 可选变量, 输入序列与输出序列之间跳过的序列长度,既不作为特征也不作为预测目标使用,默认值为0。
sampling_stride (int, optional) – 相邻两个样本的采样间隔。
likelihood_model (Likelihood) – 概率预测用到的分布似然函数。
num_samples (int) – 在评估和预测阶段的采样数量,用于计算分位数损失与生成预测结果。
loss_fn (Callable[..., paddle.Tensor]) – 对应于似然函数的概率预测损失函数。
regression_mode (str) – 用于迭代预测的回归方式,可选值有`mean`与`sampling`。
output_mode (str) – The mode of model output, quantiles and predictions are optional.
optimizer_fn (Callable, Optional) – 优化器算法。
optimizer_params (Dict, Optional) – 优化器参数。
eval_metrics (List[str], Optional) – 模型评估指标。
callbacks (List[Callback], Optional) – 自定义的callback函数。
batch_size (int, Optional) – 每个batch中的样本数量。
max_epochs (int, Optional) – 训练过程中最大迭代轮数。
verbose (int, Optional) – 模型日志模式。
patience (int, Optional) – 训练停止所需的效果不再提升的轮数。
seed (int, Optional) – 全局随机种子。