TorchForecastingModel 的似然函数

似然模型包含以概率方式训练和使用 Darts 神经网络模型所需的所有逻辑。这本质上意味着根据分布参数计算适当的训练损失并从分布中采样。

默认情况下,所有版本都将使用其负对数似然作为损失函数进行训练(因此在训练模型时执行最大似然估计)。然而,大多数似然函数也可选地支持指定与时间无关的关于分布参数的“先验”信念。在这种情况下,将 KL 散度项添加到损失中,以便将其正则化到指定的先验分布方向。(请注意,这在技术上并非纯粹的贝叶斯方法,因为先验是实际的参数值,而不是分布)。参数 prior_strength 控制“先验”正则化对损失的强度。

一些分布(如 GaussianLikelihoodPoissonLikelihood)是单变量的,在这种情况下,它们独立地建模多元序列的每个分量。其他一些分布(如 DirichletLikelihood)是多变量的,在这种情况下,它们将联合建模多元时间序列的所有分量。

单变量似然函数对于可选的先验参数接受标量或类数组值。如果提供标量,它将用作序列所有分量的先验。如果提供类数组,则第 i 个值将用作序列第 i 个分量的先验。在指定先验时,多变量似然函数需要类数组对象。

用于训练的目标序列必须始终位于分布的支持范围内,否则在训练期间将引发错误。您可以参考各个似然函数的文档来查看支持范围。同样,先验参数也必须位于一些预定义的域中。

class darts.utils.likelihood_models.torch.BernoulliLikelihood(prior_p=None, prior_strength=1.0)

基类:TorchLikelihood

伯努利分布。

https://en.wikipedia.org/wiki/Bernoulli_distribution

  • 单变量离散分布。

  • 支持范围:\( \{0, 1\} \)

  • 参数:概率 \( p \in (0, 1) \)

参数
  • prior_p – 先验伯努利分布的概率 \( p \)(默认值:None)

  • prior_strength – 先验引起的损失正则化强度

属性

num_parameters

返回单个目标值的分布参数数量。

parameter_names

返回似然参数名称。

type

返回似然类型。

方法

component_names(input_series)

为似然函数的参数生成名称。

compute_loss(model_output, target, sample_weight)

model_output 计算损失,其中 model_output 表示给定概率分布对 target 中每个真实值的参数,以及 target 本身。

predict_likelihood_parameters(model_output)

返回从原始模型输出中提取的分布参数作为单个 Tensor。

sample(model_output)

根据似然分布和预测参数进行采样。

component_names(input_series)

为似然函数的参数生成名称。

返回类型

list[str]

compute_loss(model_output, target, sample_weight)

model_output 计算损失,其中 model_output 表示给定概率分布对 target 中每个真实值的参数,以及 target 本身。

property num_parameters: int

返回单个目标值的分布参数数量。

返回类型

int

property parameter_names: list[str]

返回似然参数名称。

返回类型

list[str]

predict_likelihood_parameters(model_output)

返回从原始模型输出中提取的分布参数作为单个 Tensor。

返回类型

Tensor

sample(model_output)

根据似然分布和预测参数进行采样。

返回类型

Tensor

property type: LikelihoodType

返回似然类型。

返回类型

LikelihoodType

class darts.utils.likelihood_models.torch.BetaLikelihood(prior_alpha=None, prior_beta=None, prior_strength=1.0)

基类:TorchLikelihood

Beta 分布。

https://en.wikipedia.org/wiki/Beta_distribution

  • 单变量连续分布。

  • 支持范围:开区间 \( (0,1) \)

  • 参数:形状参数 \( \alpha > 0 \)\( \beta > 0 \)

参数
  • prior_alpha – 先验 Beta 分布的形状参数 \( \alpha \),严格为正(默认值:None)

  • prior_beta – 先验 Beta 分布的形状参数 \( \beta \),严格为正(默认值:None)

  • prior_strength – 先验引起的损失正则化强度

属性

num_parameters

返回单个目标值的分布参数数量。

parameter_names

返回似然参数名称。

type

返回似然类型。

方法

component_names(input_series)

为似然函数的参数生成名称。

compute_loss(model_output, target, sample_weight)

model_output 计算损失,其中 model_output 表示给定概率分布对 target 中每个真实值的参数,以及 target 本身。

predict_likelihood_parameters(model_output)

返回从原始模型输出中提取的分布参数作为单个 Tensor。

sample(model_output)

根据似然分布和预测参数进行采样。

component_names(input_series)

为似然函数的参数生成名称。

返回类型

list[str]

compute_loss(model_output, target, sample_weight)

model_output 计算损失,其中 model_output 表示给定概率分布对 target 中每个真实值的参数,以及 target 本身。

property num_parameters: int

返回单个目标值的分布参数数量。

返回类型

int

property parameter_names: list[str]

返回似然参数名称。

返回类型

list[str]

predict_likelihood_parameters(model_output)

返回从原始模型输出中提取的分布参数作为单个 Tensor。

返回类型

Tensor

sample(model_output)

根据似然分布和预测参数进行采样。

返回类型

Tensor

property type: LikelihoodType

返回似然类型。

返回类型

LikelihoodType

class darts.utils.likelihood_models.torch.CauchyLikelihood(prior_xzero=None, prior_gamma=None, prior_strength=1.0)

基类:TorchLikelihood

Cauchy 分布。

https://en.wikipedia.org/wiki/Cauchy_distribution

  • 单变量连续分布。

  • 支持范围:\( \mathbb{R} \)

  • 参数:位置 \( x_0 \in \mathbb{R} \),尺度 \( \gamma > 0 \)

由于其厚尾,这种分布通常更难估计,效果可能有所不同。另请注意,它通常需要较大的 num_samples 值才能进行预测采样。

参数
  • prior_xzero – 先验 Cauchy 分布的位置参数 \( x_0 \)(默认值:None)

  • prior_gamma – 先验 Cauchy 分布的尺度参数 \( \gamma \),严格为正(默认值:None)

  • prior_strength – 先验引起的损失正则化强度

属性

num_parameters

返回单个目标值的分布参数数量。

parameter_names

返回似然参数名称。

type

返回似然类型。

方法

component_names(input_series)

为似然函数的参数生成名称。

compute_loss(model_output, target, sample_weight)

model_output 计算损失,其中 model_output 表示给定概率分布对 target 中每个真实值的参数,以及 target 本身。

predict_likelihood_parameters(model_output)

返回从原始模型输出中提取的分布参数作为单个 Tensor。

sample(model_output)

根据似然分布和预测参数进行采样。

component_names(input_series)

为似然函数的参数生成名称。

返回类型

list[str]

compute_loss(model_output, target, sample_weight)

model_output 计算损失,其中 model_output 表示给定概率分布对 target 中每个真实值的参数,以及 target 本身。

property num_parameters: int

返回单个目标值的分布参数数量。

返回类型

int

property parameter_names: list[str]

返回似然参数名称。

返回类型

list[str]

predict_likelihood_parameters(model_output)

返回从原始模型输出中提取的分布参数作为单个 Tensor。

返回类型

Tensor

sample(model_output)

根据似然分布和预测参数进行采样。

返回类型

Tensor

property type: LikelihoodType

返回似然类型。

返回类型

LikelihoodType

class darts.utils.likelihood_models.torch.ContinuousBernoulliLikelihood(prior_lambda=None, prior_strength=1.0)

基类:TorchLikelihood

连续伯努利分布。

https://en.wikipedia.org/wiki/Continuous_Bernoulli_distribution

  • 单变量连续分布。

  • 支持范围:开区间 \( (0, 1) \)

  • 参数:形状 \( \lambda \in (0,1) \)

参数
  • prior_lambda – 先验连续伯努利分布的形状 \( \lambda \)(默认值:None)

  • prior_strength – 先验引起的损失正则化强度

属性

num_parameters

返回单个目标值的分布参数数量。

parameter_names

返回似然参数名称。

type

返回似然类型。

方法

component_names(input_series)

为似然函数的参数生成名称。

compute_loss(model_output, target, sample_weight)

model_output 计算损失,其中 model_output 表示给定概率分布对 target 中每个真实值的参数,以及 target 本身。

predict_likelihood_parameters(model_output)

返回从原始模型输出中提取的分布参数作为单个 Tensor。

sample(model_output)

根据似然分布和预测参数进行采样。

component_names(input_series)

为似然函数的参数生成名称。

返回类型

list[str]

compute_loss(model_output, target, sample_weight)

model_output 计算损失,其中 model_output 表示给定概率分布对 target 中每个真实值的参数,以及 target 本身。

property num_parameters: int

返回单个目标值的分布参数数量。

返回类型

int

property parameter_names: list[str]

返回似然参数名称。

返回类型

list[str]

predict_likelihood_parameters(model_output)

返回从原始模型输出中提取的分布参数作为单个 Tensor。

返回类型

Tensor

sample(model_output)

根据似然分布和预测参数进行采样。

返回类型

Tensor

property type: LikelihoodType

返回似然类型。

返回类型

LikelihoodType

class darts.utils.likelihood_models.torch.DirichletLikelihood(prior_alphas=None, prior_strength=1.0)

基类:TorchLikelihood

Dirichlet 分布。

https://en.wikipedia.org/wiki/Dirichlet_distribution

  • 多变量连续分布,联合建模时间序列的所有分量。

  • 支持范围:对于维度为 \( K \) 的序列,是 \( K \) 维单纯形,即 \( x_1, ..., x_K \text{ 且 } x_i \in (0,1),\; \sum_i^K{x_i}=1 \)

  • 参数:浓度 \( \alpha_1, ..., \alpha_K \)\( \alpha_i > 0 \)

参数
  • prior_alphas – 先验 Dirichlet 分布的浓度参数 \( \alpha \)

  • prior_strength – 先验引起的损失正则化强度

属性

num_parameters

返回单个目标值的分布参数数量。

parameter_names

返回似然参数名称。

type

返回似然类型。

方法

component_names(input_series)

为似然函数的参数生成名称。

compute_loss(model_output, target, sample_weight)

model_output 计算损失,其中 model_output 表示给定概率分布对 target 中每个真实值的参数,以及 target 本身。

predict_likelihood_parameters(model_output)

返回从原始模型输出中提取的分布参数作为单个 Tensor。

sample(model_output)

根据似然分布和预测参数进行采样。

component_names(input_series)

为似然函数的参数生成名称。

返回类型

list[str]

compute_loss(model_output, target, sample_weight)

model_output 计算损失,其中 model_output 表示给定概率分布对 target 中每个真实值的参数,以及 target 本身。

property num_parameters: int

返回单个目标值的分布参数数量。

返回类型

int

property parameter_names: list[str]

返回似然参数名称。

返回类型

list[str]

predict_likelihood_parameters(model_output)

返回从原始模型输出中提取的分布参数作为单个 Tensor。

返回类型

Tensor

sample(model_output)

根据似然分布和预测参数进行采样。

返回类型

Tensor

property type: LikelihoodType

返回似然类型。

返回类型

LikelihoodType

class darts.utils.likelihood_models.torch.ExponentialLikelihood(prior_lambda=None, prior_strength=1.0)

基类:TorchLikelihood

指数分布。

https://en.wikipedia.org/wiki/Exponential_distribution

  • 单变量连续分布。

  • 支持范围:\( \mathbb{R}_{>0} \)

  • 参数:速率 \( \lambda > 0 \)

参数
  • prior_lambda – 先验指数分布的速率 \( \lambda \)(默认值:None)。

  • prior_strength – 先验引起的损失正则化强度

属性

num_parameters

返回单个目标值的分布参数数量。

parameter_names

返回似然参数名称。

type

返回似然类型。

方法

component_names(input_series)

为似然函数的参数生成名称。

compute_loss(model_output, target, sample_weight)

model_output 计算损失,其中 model_output 表示给定概率分布对 target 中每个真实值的参数,以及 target 本身。

predict_likelihood_parameters(model_output)

返回从原始模型输出中提取的分布参数作为单个 Tensor。

sample(model_output)

根据似然分布和预测参数进行采样。

component_names(input_series)

为似然函数的参数生成名称。

返回类型

list[str]

compute_loss(model_output, target, sample_weight)

model_output 计算损失,其中 model_output 表示给定概率分布对 target 中每个真实值的参数,以及 target 本身。

property num_parameters: int

返回单个目标值的分布参数数量。

返回类型

int

property parameter_names: list[str]

返回似然参数名称。

返回类型

list[str]

predict_likelihood_parameters(model_output)

返回从原始模型输出中提取的分布参数作为单个 Tensor。

返回类型

Tensor

sample(model_output)

根据似然分布和预测参数进行采样。

返回类型

Tensor

property type: LikelihoodType

返回似然类型。

返回类型

LikelihoodType

class darts.utils.likelihood_models.torch.GammaLikelihood(prior_alpha=None, prior_beta=None, prior_strength=1.0)

基类:TorchLikelihood

Gamma 分布。

https://en.wikipedia.org/wiki/Gamma_distribution

  • 单变量连续分布

  • 支持范围:\( \mathbb{R}_{>0} \)

  • 参数:形状 \( \alpha > 0 \) 和 速率 \( \beta > 0 \)

参数
  • prior_alpha – 先验 Gamma 分布的形状 \( \alpha \)(默认值:None)。

  • prior_beta – 先验 Gamma 分布的速率 \( \beta \)(默认值:None)。

  • prior_strength – 先验引起的损失正则化强度

属性

num_parameters

返回单个目标值的分布参数数量。

parameter_names

返回似然参数名称。

type

返回似然类型。

方法

component_names(input_series)

为似然函数的参数生成名称。

compute_loss(model_output, target, sample_weight)

model_output 计算损失,其中 model_output 表示给定概率分布对 target 中每个真实值的参数,以及 target 本身。

predict_likelihood_parameters(model_output)

返回从原始模型输出中提取的分布参数作为单个 Tensor。

sample(model_output)

根据似然分布和预测参数进行采样。

component_names(input_series)

为似然函数的参数生成名称。

返回类型

list[str]

compute_loss(model_output, target, sample_weight)

model_output 计算损失,其中 model_output 表示给定概率分布对 target 中每个真实值的参数,以及 target 本身。

property num_parameters: int

返回单个目标值的分布参数数量。

返回类型

int

property parameter_names: list[str]

返回似然参数名称。

返回类型

list[str]

predict_likelihood_parameters(model_output)

返回从原始模型输出中提取的分布参数作为单个 Tensor。

返回类型

Tensor

sample(model_output)

根据似然分布和预测参数进行采样。

返回类型

Tensor

property type: LikelihoodType

返回似然类型。

返回类型

LikelihoodType

class darts.utils.likelihood_models.torch.GaussianLikelihood(prior_mu=None, prior_sigma=None, prior_strength=1.0, beta_nll=0.0)

基类:TorchLikelihood

单变量高斯分布。

https://en.wikipedia.org/wiki/Normal_distribution

代替纯粹的负对数似然 (NLL) 损失,使用的损失函数是 \( \beta \)-NLL 损失 [1],由 beta_nll 在 (0, 1) 范围内参数化。对于 beta_nll=0,它等同于 NLL,但是更大的 beta_nll 值可以减轻 NLL 在训练期间导致 poorly fit 区域有效欠采样的问题。beta_nll=1 提供与 MSE 损失相同的均值梯度。

  • 单变量连续分布。

  • 支持范围:\( \mathbb{R} \)

  • 参数:均值 \( \mu \in \mathbb{R} \),标准差 \( \sigma > 0 \)

参数
  • prior_mu – 先验高斯分布的均值(默认值:None)。

  • prior_sigma – 先验高斯分布的标准差(或尺度)(默认值:None)

  • prior_strength – 先验引起的损失正则化强度

  • beta_nll\( \beta \)-NLL 损失 [1] 的参数 \( 0 \leq \beta \leq 1 \)。默认值:0。(等同于 NLL)

参考文献

1(1,2)

Seitzer et al., “On the Pitfalls of Heteroscedastic Uncertainty Estimation with Probabilistic Neural Networks” https://arxiv.org/abs/2203.09168

属性

num_parameters

返回单个目标值的分布参数数量。

parameter_names

返回似然参数名称。

type

返回似然类型。

方法

component_names(input_series)

为似然函数的参数生成名称。

compute_loss(model_output, target, sample_weight)

model_output 计算损失,其中 model_output 表示给定概率分布对 target 中每个真实值的参数,以及 target 本身。

predict_likelihood_parameters(model_output)

返回从原始模型输出中提取的分布参数作为单个 Tensor。

sample(model_output)

根据似然分布和预测参数进行采样。

component_names(input_series)

为似然函数的参数生成名称。

返回类型

list[str]

compute_loss(model_output, target, sample_weight)

model_output 计算损失,其中 model_output 表示给定概率分布对 target 中每个真实值的参数,以及 target 本身。

property num_parameters: int

返回单个目标值的分布参数数量。

返回类型

int

property parameter_names: list[str]

返回似然参数名称。

返回类型

list[str]

predict_likelihood_parameters(model_output)

返回从原始模型输出中提取的分布参数作为单个 Tensor。

返回类型

Tensor

sample(model_output)

根据似然分布和预测参数进行采样。

返回类型

Tensor

property type: LikelihoodType

返回似然类型。

返回类型

LikelihoodType

class darts.utils.likelihood_models.torch.GeometricLikelihood(prior_p=None, prior_strength=1.0)

基类:TorchLikelihood

几何分布。

https://en.wikipedia.org/wiki/Geometric_distribution

  • 单变量离散分布

  • 支持范围:\( \mathbb{N}_0 \)(包含 0 的自然数)。

  • 参数:成功概率 \( p \in (0, 1) \)

参数
  • prior_p – 先验几何分布的成功概率 \( p \)(默认值:None)

  • prior_strength – 先验引起的损失正则化强度

属性

num_parameters

返回单个目标值的分布参数数量。

parameter_names

返回似然参数名称。

type

返回似然类型。

方法

component_names(input_series)

为似然函数的参数生成名称。

compute_loss(model_output, target, sample_weight)

model_output 计算损失,其中 model_output 表示给定概率分布对 target 中每个真实值的参数,以及 target 本身。

predict_likelihood_parameters(model_output)

返回从原始模型输出中提取的分布参数作为单个 Tensor。

sample(model_output)

根据似然分布和预测参数进行采样。

component_names(input_series)

为似然函数的参数生成名称。

返回类型

list[str]

compute_loss(model_output, target, sample_weight)

model_output 计算损失,其中 model_output 表示给定概率分布对 target 中每个真实值的参数,以及 target 本身。

property num_parameters: int

返回单个目标值的分布参数数量。

返回类型

int

property parameter_names: list[str]

返回似然参数名称。

返回类型

list[str]

predict_likelihood_parameters(model_output)

返回从原始模型输出中提取的分布参数作为单个 Tensor。

返回类型

Tensor

sample(model_output)

根据似然分布和预测参数进行采样。

返回类型

Tensor

property type: LikelihoodType

返回似然类型。

返回类型

LikelihoodType

class darts.utils.likelihood_models.torch.GumbelLikelihood(prior_mu=None, prior_beta=None, prior_strength=1.0)

基类:TorchLikelihood

Gumbel 分布。

https://en.wikipedia.org/wiki/Gumbel_distribution

  • 单变量连续分布

  • 支持范围:\( \mathbb{R} \)

  • 参数:位置 \( \mu \in \mathbb{R} \) 和尺度 \( \beta > 0 \)

参数
  • prior_mu – 先验 Gumbel 分布的位置 \( \mu \)(默认值:None)。

  • prior_beta – 先验 Gumbel 分布的尺度 \( \beta \)(默认值:None)。

  • prior_strength – 先验引起的损失正则化强度

属性

num_parameters

返回单个目标值的分布参数数量。

parameter_names

返回似然参数名称。

type

返回似然类型。

方法

component_names(input_series)

为似然函数的参数生成名称。

compute_loss(model_output, target, sample_weight)

model_output 计算损失,其中 model_output 表示给定概率分布对 target 中每个真实值的参数,以及 target 本身。

predict_likelihood_parameters(model_output)

返回从原始模型输出中提取的分布参数作为单个 Tensor。

sample(model_output)

根据似然分布和预测参数进行采样。

component_names(input_series)

为似然函数的参数生成名称。

返回类型

list[str]

compute_loss(model_output, target, sample_weight)

model_output 计算损失,其中 model_output 表示给定概率分布对 target 中每个真实值的参数,以及 target 本身。

property num_parameters: int

返回单个目标值的分布参数数量。

返回类型

int

property parameter_names: list[str]

返回似然参数名称。

返回类型

list[str]

predict_likelihood_parameters(model_output)

返回从原始模型输出中提取的分布参数作为单个 Tensor。

返回类型

Tensor

sample(model_output)

根据似然分布和预测参数进行采样。

返回类型

Tensor

property type: LikelihoodType

返回似然类型。

返回类型

LikelihoodType

class darts.utils.likelihood_models.torch.HalfNormalLikelihood(prior_sigma=None, prior_strength=1.0)

基类:TorchLikelihood

半正态分布。

https://en.wikipedia.org/wiki/Half-normal_distribution

  • 单变量连续分布。

  • 支持范围:\( \mathbb{R}_{>0} \)

  • 参数:速率 \( \sigma > 0 \)

参数
  • prior_sigma – 先验半正态分布的标准差 \( \sigma \)(默认值:None)。

  • prior_strength – 先验引起的损失正则化强度

属性

num_parameters

返回单个目标值的分布参数数量。

parameter_names

返回似然参数名称。

type

返回似然类型。

方法

component_names(input_series)

为似然函数的参数生成名称。

compute_loss(model_output, target, sample_weight)

model_output 计算损失,其中 model_output 表示给定概率分布对 target 中每个真实值的参数,以及 target 本身。

predict_likelihood_parameters(model_output)

返回从原始模型输出中提取的分布参数作为单个 Tensor。

sample(model_output)

根据似然分布和预测参数进行采样。

component_names(input_series)

为似然函数的参数生成名称。

返回类型

list[str]

compute_loss(model_output, target, sample_weight)

model_output 计算损失,其中 model_output 表示给定概率分布对 target 中每个真实值的参数,以及 target 本身。

property num_parameters: int

返回单个目标值的分布参数数量。

返回类型

int

property parameter_names: list[str]

返回似然参数名称。

返回类型

list[str]

predict_likelihood_parameters(model_output)

返回从原始模型输出中提取的分布参数作为单个 Tensor。

返回类型

Tensor

sample(model_output)

根据似然分布和预测参数进行采样。

返回类型

Tensor

property type: LikelihoodType

返回似然类型。

返回类型

LikelihoodType

class darts.utils.likelihood_models.torch.LaplaceLikelihood(prior_mu=None, prior_b=None, prior_strength=1.0)

基类:TorchLikelihood

Laplace 分布。

https://en.wikipedia.org/wiki/Laplace_distribution

  • 单变量连续分布

  • 支持范围:\( \mathbb{R} \)

  • 参数:位置 \( \mu \in \mathbb{R} \) 和尺度 \( b > 0 \)

参数
  • prior_mu – 先验 Laplace 分布的位置 \( \mu \)(默认值:None)。

  • prior_b – 先验 Laplace 分布的尺度 \( b \)(默认值:None)。

  • prior_strength – 先验引起的损失正则化强度

属性

num_parameters

返回单个目标值的分布参数数量。

parameter_names

返回似然参数名称。

type

返回似然类型。

方法

component_names(input_series)

为似然函数的参数生成名称。

compute_loss(model_output, target, sample_weight)

model_output 计算损失,其中 model_output 表示给定概率分布对 target 中每个真实值的参数,以及 target 本身。

predict_likelihood_parameters(model_output)

返回从原始模型输出中提取的分布参数作为单个 Tensor。

sample(model_output)

根据似然分布和预测参数进行采样。

component_names(input_series)

为似然函数的参数生成名称。

返回类型

list[str]

compute_loss(model_output, target, sample_weight)

model_output 计算损失,其中 model_output 表示给定概率分布对 target 中每个真实值的参数,以及 target 本身。

property num_parameters: int

返回单个目标值的分布参数数量。

返回类型

int

property parameter_names: list[str]

返回似然参数名称。

返回类型

list[str]

predict_likelihood_parameters(model_output)

返回从原始模型输出中提取的分布参数作为单个 Tensor。

返回类型

Tensor

sample(model_output)

根据似然分布和预测参数进行采样。

返回类型

Tensor

property type: LikelihoodType

返回似然类型。

返回类型

LikelihoodType

class darts.utils.likelihood_models.torch.LogNormalLikelihood(prior_mu=None, prior_sigma=None, prior_strength=1.0)

基类:TorchLikelihood

对数正态分布。

https://en.wikipedia.org/wiki/Log-normal_distribution

  • 单变量连续分布。

  • 支持范围:\( \mathbb{R}_{>0} \)

  • 参数:\( \mu \in \mathbb{R} \)\( \sigma > 0 \)

参数
  • prior_mu – 先验对数正态分布的参数 \( \mu \)(默认值:None)。

  • prior_sigma – 先验对数正态分布的参数 \( \sigma \)(默认值:None)

  • prior_strength – 先验引起的损失正则化强度

属性

num_parameters

返回单个目标值的分布参数数量。

parameter_names

返回似然参数名称。

type

返回似然类型。

方法

component_names(input_series)

为似然函数的参数生成名称。

compute_loss(model_output, target, sample_weight)

model_output 计算损失,其中 model_output 表示给定概率分布对 target 中每个真实值的参数,以及 target 本身。

predict_likelihood_parameters(model_output)

返回从原始模型输出中提取的分布参数作为单个 Tensor。

sample(model_output)

根据似然分布和预测参数进行采样。

component_names(input_series)

为似然函数的参数生成名称。

返回类型

list[str]

compute_loss(model_output, target, sample_weight)

model_output 计算损失,其中 model_output 表示给定概率分布对 target 中每个真实值的参数,以及 target 本身。

property num_parameters: int

返回单个目标值的分布参数数量。

返回类型

int

property parameter_names: list[str]

返回似然参数名称。

返回类型

list[str]

predict_likelihood_parameters(model_output)

返回从原始模型输出中提取的分布参数作为单个 Tensor。

返回类型

Tensor

sample(model_output)

根据似然分布和预测参数进行采样。

返回类型

Tensor

property type: LikelihoodType

返回似然类型。

返回类型

LikelihoodType

class darts.utils.likelihood_models.torch.NegativeBinomialLikelihood

基类:TorchLikelihood

负二项分布。

https://en.wikipedia.org/wiki/Negative_binomial_distribution

它不支持先验。

  • 单变量离散分布。

  • 支持范围:\( \mathbb{N}_0 \)(包含 0 的自然数)。

  • 参数:失败次数 \( r > 0 \),成功概率 \( p \in (0, 1) \)

在底层,该分布被重新参数化,因此网络的实际输出是基于均值 \( \mu \) 和形状 \( \alpha \)

属性

num_parameters

返回单个目标值的分布参数数量。

parameter_names

返回似然参数名称。

type

返回似然类型。

方法

component_names(input_series)

为似然函数的参数生成名称。

compute_loss(model_output, target, sample_weight)

model_output 计算损失,其中 model_output 表示给定概率分布对 target 中每个真实值的参数,以及 target 本身。

predict_likelihood_parameters(model_output)

覆盖父类,因为参数是分两步提取的。

sample(model_output)

根据似然分布和预测参数进行采样。

component_names(input_series)

为似然函数的参数生成名称。

返回类型

list[str]

compute_loss(model_output, target, sample_weight)

model_output 计算损失,其中 model_output 表示给定概率分布对 target 中每个真实值的参数,以及 target 本身。

property num_parameters: int

返回单个目标值的分布参数数量。

返回类型

int

property parameter_names: list[str]

返回似然参数名称。

返回类型

list[str]

predict_likelihood_parameters(model_output)

覆盖父类,因为参数是分两步提取的。

返回类型

Tensor

sample(model_output)[来源]

根据似然分布和预测参数进行采样。

返回类型

Tensor

属性 type: LikelihoodType

返回似然类型。

返回类型

LikelihoodType

class darts.utils.likelihood_models.torch.PoissonLikelihood(prior_lambda=None, prior_strength=1.0)[来源]

基类:TorchLikelihood

泊松分布。通常用于建模时间间隔内的事件计数,当事件的发生与自上次事件以来经过的时间无关时。

https://en.wikipedia.org/wiki/Poisson_distribution

  • 单变量离散分布

  • 支持范围:\( \mathbb{N}_0 \)(包含 0 的自然数)。

  • 参数:速率 \( \lambda > 0 \)

参数
  • prior_lambda – 先验泊松分布的速率 \(\lambda\) (默认: None)

  • prior_strength – 先验引起的损失正则化强度

属性

num_parameters

返回单个目标值的分布参数数量。

parameter_names

返回似然参数名称。

type

返回似然类型。

方法

component_names(input_series)

为似然函数的参数生成名称。

compute_loss(model_output, target, sample_weight)

model_output 计算损失,其中 model_output 表示给定概率分布对 target 中每个真实值的参数,以及 target 本身。

predict_likelihood_parameters(model_output)

返回从原始模型输出中提取的分布参数作为单个 Tensor。

sample(model_output)

根据似然分布和预测参数进行采样。

component_names(input_series)

为似然函数的参数生成名称。

返回类型

list[str]

compute_loss(model_output, target, sample_weight)

model_output 计算损失,其中 model_output 表示给定概率分布对 target 中每个真实值的参数,以及 target 本身。

属性 num_parameters: int

返回单个目标值的分布参数数量。

返回类型

int

属性 parameter_names: list[str]

返回似然参数名称。

返回类型

list[str]

predict_likelihood_parameters(model_output)

返回从原始模型输出中提取的分布参数作为单个 Tensor。

返回类型

Tensor

sample(model_output)[来源]

根据似然分布和预测参数进行采样。

返回类型

Tensor

属性 type: LikelihoodType

返回似然类型。

返回类型

LikelihoodType

class darts.utils.likelihood_models.torch.QuantileRegression(quantiles=None)[来源]

基类:TorchLikelihood

对应于分位数回归的“似然”。它使用分位数损失度量(Quantile Loss Metric)来处理以 q=0.5 为中心的自定义分位数。

尽管它不代表一个定义良好的分布的似然,但该类可以像任何其他 Likelihood 对象一样使用。

参数

quantiles (Optional[list[float], None]) – 分位数列表

属性

num_parameters

返回单个目标值的分布参数数量。

parameter_names

返回似然参数名称。

type

返回似然类型。

方法

component_names(input_series)

为似然函数的参数生成名称。

compute_loss(model_output, target, sample_weight)

与 Likelihood 相比,我们重新定义了一个自定义损失(它不是一个似然损失)

predict_likelihood_parameters(model_output)

覆盖父类方法,因为 QuantileRegression 本身不是一个似然模型,并且必须以不同的方式提取参数。

sample(model_output)

在 [0, 1] 之间均匀抽样(对于每个批次示例),并返回最接近抽样值的拟合分位数之间的线性插值。

component_names(input_series)

为似然函数的参数生成名称。

返回类型

list[str]

compute_loss(model_output, target, sample_weight)[来源]

与 Likelihood 相比,我们重新定义了一个自定义损失(它不是一个似然损失)

参数
  • model_output (Tensor) – 必须是形状 (batch_size, n_timesteps, n_target_variables, n_quantiles)

  • target (Tensor) – 必须是形状 (n_samples, n_timesteps, n_target_variables)

  • sample_weight (Tensor) – 必须是形状 (n_samples, n_timesteps, n_target_variables)

属性 num_parameters: int

返回单个目标值的分布参数数量。

返回类型

int

属性 parameter_names: list[str]

返回似然参数名称。

返回类型

list[str]

predict_likelihood_parameters(model_output)[来源]

覆盖父类方法,因为 QuantileRegression 本身不是一个似然模型,并且必须以不同的方式提取参数。

返回类型

Tensor

sample(model_output)[来源]

在 [0, 1] 之间均匀抽样(对于每个批次示例),并返回最接近抽样值的拟合分位数之间的线性插值。

model_output 是形状 (batch_size, n_timesteps, n_components, n_quantiles)

返回类型

Tensor

属性 type: LikelihoodType

返回似然类型。

返回类型

LikelihoodType

class darts.utils.likelihood_models.torch.TorchLikelihood(likelihood_type, parameter_names, prior_strength=1.0)[来源]

基类: Likelihood, ABC

用于 torch 似然模型的抽象类。

参数
  • likelihood_type (LikelihoodType) – 一个预定义的 LikelihoodType

  • parameter_names (list[str]) – 似然(分布)参数名称。

  • prior_strength – 先验引起的损失正则化强度

属性

num_parameters

返回单个目标值的分布参数数量。

parameter_names

返回似然参数名称。

type

返回似然类型。

方法

component_names(input_series)

为似然函数的参数生成名称。

compute_loss(model_output, target, sample_weight)

model_output 计算损失,其中 model_output 表示给定概率分布对 target 中每个真实值的参数,以及 target 本身。

predict_likelihood_parameters(model_output)

返回从原始模型输出中提取的分布参数作为单个 Tensor。

sample(model_output)

根据似然分布和预测参数进行采样。

component_names(input_series)

为似然函数的参数生成名称。

返回类型

list[str]

compute_loss(model_output, target, sample_weight)[来源]

model_output 计算损失,其中 model_output 表示给定概率分布对 target 中每个真实值的参数,以及 target 本身。

属性 num_parameters: int

返回单个目标值的分布参数数量。

返回类型

int

属性 parameter_names: list[str]

返回似然参数名称。

返回类型

list[str]

predict_likelihood_parameters(model_output)[来源]

返回从原始模型输出中提取的分布参数作为单个 Tensor。

返回类型

Tensor

抽象 sample(model_output)[来源]

根据似然分布和预测参数进行采样。

返回类型

Tensor

属性 type: LikelihoodType

返回似然类型。

返回类型

LikelihoodType

class darts.utils.likelihood_models.torch.WeibullLikelihood(prior_strength=1.0)[来源]

基类:TorchLikelihood

威布尔分布。

https://en.wikipedia.org/wiki/Weibull_distribution

  • 单变量连续分布

  • 支持范围:\( \mathbb{R}_{>0} \)

  • 参数: 尺度 \(\lambda > 0\) 和 形状 \(k > 0\)

它不支持先验。

参数

prior_strength – 先验引起的损失正则化强度

属性

num_parameters

返回单个目标值的分布参数数量。

parameter_names

返回似然参数名称。

type

返回似然类型。

方法

component_names(input_series)

为似然函数的参数生成名称。

compute_loss(model_output, target, sample_weight)

model_output 计算损失,其中 model_output 表示给定概率分布对 target 中每个真实值的参数,以及 target 本身。

predict_likelihood_parameters(model_output)

返回从原始模型输出中提取的分布参数作为单个 Tensor。

sample(model_output)

根据似然分布和预测参数进行采样。

component_names(input_series)

为似然函数的参数生成名称。

返回类型

list[str]

compute_loss(model_output, target, sample_weight)

model_output 计算损失,其中 model_output 表示给定概率分布对 target 中每个真实值的参数,以及 target 本身。

属性 num_parameters: int

返回单个目标值的分布参数数量。

返回类型

int

属性 parameter_names: list[str]

返回似然参数名称。

返回类型

list[str]

predict_likelihood_parameters(model_output)

返回从原始模型输出中提取的分布参数作为单个 Tensor。

返回类型

Tensor

sample(model_output)[来源]

根据似然分布和预测参数进行采样。

返回类型

Tensor

属性 type: LikelihoodType

返回似然类型。

返回类型

LikelihoodType