TorchForecastingModel 的似然函数¶
似然模型包含以概率方式训练和使用 Darts 神经网络模型所需的所有逻辑。这本质上意味着根据分布参数计算适当的训练损失并从分布中采样。
默认情况下,所有版本都将使用其负对数似然作为损失函数进行训练(因此在训练模型时执行最大似然估计)。然而,大多数似然函数也可选地支持指定与时间无关的关于分布参数的“先验”信念。在这种情况下,将 KL 散度项添加到损失中,以便将其正则化到指定的先验分布方向。(请注意,这在技术上并非纯粹的贝叶斯方法,因为先验是实际的参数值,而不是分布)。参数 prior_strength 控制“先验”正则化对损失的强度。
一些分布(如 GaussianLikelihood
和 PoissonLikelihood
)是单变量的,在这种情况下,它们独立地建模多元序列的每个分量。其他一些分布(如 DirichletLikelihood
)是多变量的,在这种情况下,它们将联合建模多元时间序列的所有分量。
单变量似然函数对于可选的先验参数接受标量或类数组值。如果提供标量,它将用作序列所有分量的先验。如果提供类数组,则第 i 个值将用作序列第 i 个分量的先验。在指定先验时,多变量似然函数需要类数组对象。
用于训练的目标序列必须始终位于分布的支持范围内,否则在训练期间将引发错误。您可以参考各个似然函数的文档来查看支持范围。同样,先验参数也必须位于一些预定义的域中。
- class darts.utils.likelihood_models.torch.BernoulliLikelihood(prior_p=None, prior_strength=1.0)¶
-
伯努利分布。
https://en.wikipedia.org/wiki/Bernoulli_distribution
单变量离散分布。
支持范围:\( \{0, 1\} \)。
参数:概率 \( p \in (0, 1) \)。
- 参数
prior_p – 先验伯努利分布的概率 \( p \)(默认值:None)
prior_strength – 先验引起的损失正则化强度
属性
返回单个目标值的分布参数数量。
返回似然参数名称。
返回似然类型。
方法
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¶
返回似然类型。
- 返回类型
- class darts.utils.likelihood_models.torch.BetaLikelihood(prior_alpha=None, prior_beta=None, prior_strength=1.0)¶
-
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 – 先验引起的损失正则化强度
属性
返回单个目标值的分布参数数量。
返回似然参数名称。
返回似然类型。
方法
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¶
返回似然类型。
- 返回类型
- class darts.utils.likelihood_models.torch.CauchyLikelihood(prior_xzero=None, prior_gamma=None, prior_strength=1.0)¶
-
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 – 先验引起的损失正则化强度
属性
返回单个目标值的分布参数数量。
返回似然参数名称。
返回似然类型。
方法
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¶
返回似然类型。
- 返回类型
- class darts.utils.likelihood_models.torch.ContinuousBernoulliLikelihood(prior_lambda=None, prior_strength=1.0)¶
-
连续伯努利分布。
https://en.wikipedia.org/wiki/Continuous_Bernoulli_distribution
单变量连续分布。
支持范围:开区间 \( (0, 1) \)。
参数:形状 \( \lambda \in (0,1) \)
- 参数
prior_lambda – 先验连续伯努利分布的形状 \( \lambda \)(默认值:None)
prior_strength – 先验引起的损失正则化强度
属性
返回单个目标值的分布参数数量。
返回似然参数名称。
返回似然类型。
方法
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¶
返回似然类型。
- 返回类型
- class darts.utils.likelihood_models.torch.DirichletLikelihood(prior_alphas=None, prior_strength=1.0)¶
-
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 – 先验引起的损失正则化强度
属性
返回单个目标值的分布参数数量。
返回似然参数名称。
返回似然类型。
方法
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¶
返回似然类型。
- 返回类型
- class darts.utils.likelihood_models.torch.ExponentialLikelihood(prior_lambda=None, prior_strength=1.0)¶
-
指数分布。
https://en.wikipedia.org/wiki/Exponential_distribution
单变量连续分布。
支持范围:\( \mathbb{R}_{>0} \)。
参数:速率 \( \lambda > 0 \)。
- 参数
prior_lambda – 先验指数分布的速率 \( \lambda \)(默认值:None)。
prior_strength – 先验引起的损失正则化强度
属性
返回单个目标值的分布参数数量。
返回似然参数名称。
返回似然类型。
方法
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¶
返回似然类型。
- 返回类型
- class darts.utils.likelihood_models.torch.GammaLikelihood(prior_alpha=None, prior_beta=None, prior_strength=1.0)¶
-
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 – 先验引起的损失正则化强度
属性
返回单个目标值的分布参数数量。
返回似然参数名称。
返回似然类型。
方法
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¶
返回似然类型。
- 返回类型
- class darts.utils.likelihood_models.torch.GaussianLikelihood(prior_mu=None, prior_sigma=None, prior_strength=1.0, beta_nll=0.0)¶
-
单变量高斯分布。
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
属性
返回单个目标值的分布参数数量。
返回似然参数名称。
返回似然类型。
方法
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¶
返回似然类型。
- 返回类型
- class darts.utils.likelihood_models.torch.GeometricLikelihood(prior_p=None, prior_strength=1.0)¶
-
几何分布。
https://en.wikipedia.org/wiki/Geometric_distribution
单变量离散分布
支持范围:\( \mathbb{N}_0 \)(包含 0 的自然数)。
参数:成功概率 \( p \in (0, 1) \)。
- 参数
prior_p – 先验几何分布的成功概率 \( p \)(默认值:None)
prior_strength – 先验引起的损失正则化强度
属性
返回单个目标值的分布参数数量。
返回似然参数名称。
返回似然类型。
方法
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¶
返回似然类型。
- 返回类型
- class darts.utils.likelihood_models.torch.GumbelLikelihood(prior_mu=None, prior_beta=None, prior_strength=1.0)¶
-
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 – 先验引起的损失正则化强度
属性
返回单个目标值的分布参数数量。
返回似然参数名称。
返回似然类型。
方法
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¶
返回似然类型。
- 返回类型
- class darts.utils.likelihood_models.torch.HalfNormalLikelihood(prior_sigma=None, prior_strength=1.0)¶
-
半正态分布。
https://en.wikipedia.org/wiki/Half-normal_distribution
单变量连续分布。
支持范围:\( \mathbb{R}_{>0} \)。
参数:速率 \( \sigma > 0 \)。
- 参数
prior_sigma – 先验半正态分布的标准差 \( \sigma \)(默认值:None)。
prior_strength – 先验引起的损失正则化强度
属性
返回单个目标值的分布参数数量。
返回似然参数名称。
返回似然类型。
方法
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¶
返回似然类型。
- 返回类型
- class darts.utils.likelihood_models.torch.LaplaceLikelihood(prior_mu=None, prior_b=None, prior_strength=1.0)¶
-
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 – 先验引起的损失正则化强度
属性
返回单个目标值的分布参数数量。
返回似然参数名称。
返回似然类型。
方法
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¶
返回似然类型。
- 返回类型
- class darts.utils.likelihood_models.torch.LogNormalLikelihood(prior_mu=None, prior_sigma=None, prior_strength=1.0)¶
-
对数正态分布。
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 – 先验引起的损失正则化强度
属性
返回单个目标值的分布参数数量。
返回似然参数名称。
返回似然类型。
方法
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¶
返回似然类型。
- 返回类型
- class darts.utils.likelihood_models.torch.NegativeBinomialLikelihood¶¶
-
负二项分布。
https://en.wikipedia.org/wiki/Negative_binomial_distribution
它不支持先验。
单变量离散分布。
支持范围:\( \mathbb{N}_0 \)(包含 0 的自然数)。
参数:失败次数 \( r > 0 \),成功概率 \( p \in (0, 1) \)。
在底层,该分布被重新参数化,因此网络的实际输出是基于均值 \( \mu \) 和形状 \( \alpha \)。
属性
返回单个目标值的分布参数数量。
返回似然参数名称。
返回似然类型。
方法
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
- 属性 type: LikelihoodType¶
返回似然类型。
- 返回类型
- class darts.utils.likelihood_models.torch.PoissonLikelihood(prior_lambda=None, prior_strength=1.0)[来源]¶
-
泊松分布。通常用于建模时间间隔内的事件计数,当事件的发生与自上次事件以来经过的时间无关时。
https://en.wikipedia.org/wiki/Poisson_distribution
单变量离散分布
支持范围:\( \mathbb{N}_0 \)(包含 0 的自然数)。
参数:速率 \( \lambda > 0 \)。
- 参数
prior_lambda – 先验泊松分布的速率 \(\lambda\) (默认: None)
prior_strength – 先验引起的损失正则化强度
属性
返回单个目标值的分布参数数量。
返回似然参数名称。
返回似然类型。
方法
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
- 属性 type: LikelihoodType¶
返回似然类型。
- 返回类型
- class darts.utils.likelihood_models.torch.QuantileRegression(quantiles=None)[来源]¶
-
对应于分位数回归的“似然”。它使用分位数损失度量(Quantile Loss Metric)来处理以 q=0.5 为中心的自定义分位数。
尽管它不代表一个定义良好的分布的似然,但该类可以像任何其他 Likelihood 对象一样使用。
- 参数
quantiles (
Optional
[list
[float
],None
]) – 分位数列表
属性
返回单个目标值的分布参数数量。
返回似然参数名称。
返回似然类型。
方法
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¶
返回似然类型。
- 返回类型
- 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 – 先验引起的损失正则化强度
属性
返回单个目标值的分布参数数量。
返回似然参数名称。
返回似然类型。
方法
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
]
- 属性 type: LikelihoodType¶
返回似然类型。
- 返回类型
- class darts.utils.likelihood_models.torch.WeibullLikelihood(prior_strength=1.0)[来源]¶
-
威布尔分布。
https://en.wikipedia.org/wiki/Weibull_distribution
单变量连续分布
支持范围:\( \mathbb{R}_{>0} \)。
参数: 尺度 \(\lambda > 0\) 和 形状 \(k > 0\)。
它不支持先验。
- 参数
prior_strength – 先验引起的损失正则化强度
属性
返回单个目标值的分布参数数量。
返回似然参数名称。
返回似然类型。
方法
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
- 属性 type: LikelihoodType¶
返回似然类型。
- 返回类型