损失函数
用于模型评估的损失函数。
最重要的训练信号是预测误差,它是观测值 与预测值 在时间 处的差值。
训练损失汇总了不同评估指标中的预测误差。
1. 依赖尺度的误差
平均绝对误差 (MAE)
来源
mae
*平均绝对误差 (MAE)
MAE 通过计算给定时间点预测值与真实值之间的偏差,然后将这些偏差在整个序列长度上取平均值,来衡量预测方法的相对预测精度。*
类型 | 默认值 | 详情 | |
---|---|---|---|
df | DFType | 输入数据框,包含 id、实际值和预测值。 | |
models | List | 标识模型预测值的列。 | |
id_col | str | unique_id | 标识每个序列的列。 |
target_col | str | y | 包含目标值的列。 |
返回值 | DFType | 数据框,每行对应一个 id,每列对应一个模型。 |
均方误差
来源
mse
*均方误差 (MSE)
MSE 通过计算给定时间点预测值与真实值之间的平方偏差,然后将这些偏差在整个序列长度上取平均值,来衡量预测方法的相对预测精度。*
类型 | 默认值 | 详情 | |
---|---|---|---|
df | DFType | 输入数据框,包含 id、实际值和预测值。 | |
models | List | 标识模型预测值的列。 | |
id_col | str | unique_id | 标识每个序列的列。 |
target_col | str | y | 包含目标值的列。 |
返回值 | DFType | 数据框,每行对应一个 id,每列对应一个模型。 |
均方根误差
来源
rmse
*均方根误差 (RMSE)
RMSE 通过计算给定时间点预测值与观测值之间的平方偏差,然后将这些偏差在整个序列长度上取平均值,来衡量预测方法的相对预测精度。最后,RMSE 将与原始时间序列处于同一尺度,因此只有当其他序列共享一个共同尺度时,才能进行比较。RMSE 与 L2 范数有直接关联。*
类型 | 默认值 | 详情 | |
---|---|---|---|
df | DFType | 输入数据框,包含 id、实际值和预测值。 | |
models | List | 标识模型预测值的列。 | |
id_col | str | unique_id | 标识每个序列的列。 |
target_col | str | y | 包含目标值的列。 |
返回值 | DFType | 数据框,每行对应一个 id,每列对应一个模型。 |
来源
bias
*预测估计器偏差。
定义为 预测值 - 实际值*
类型 | 默认值 | 详情 | |
---|---|---|---|
df | DFType | 输入数据框,包含 id、实际值和预测值。 | |
models | List | 标识模型预测值的列。 | |
id_col | str | unique_id | 标识每个序列的列。 |
target_col | str | y | 包含目标值的列。 |
返回值 | DFType | 数据框,每行对应一个 id,每列对应一个模型。 |
2. 百分比误差
平均绝对百分比误差
来源
mape
*平均绝对百分比误差 (MAPE)
MAPE 通过计算给定时间点预测值与观测值之间的百分比偏差,然后将这些偏差在整个序列长度上取平均值,来衡量预测方法的相对预测精度。观测值越接近零,MAPE 损失函数对相应误差的惩罚越大。*
类型 | 默认值 | 详情 | |
---|---|---|---|
df | DFType | 输入数据框,包含 id、实际值和预测值。 | |
models | List | 标识模型预测值的列。 | |
id_col | str | unique_id | 标识每个序列的列。 |
target_col | str | y | 包含目标值的列。 |
返回值 | DFType | 数据框,每行对应一个 id,每列对应一个模型。 |
对称平均绝对百分比误差
来源
smape
*对称平均绝对百分比误差 (SMAPE)
SMAPE 通过计算给定时间点预测值与观测值之间的相对偏差(按预测值和观测值绝对值之和进行缩放),然后将这些偏差在整个序列长度上取平均值,来衡量预测方法的相对预测精度。这使得 SMAPE 的范围在 0% 到 100% 之间,这比当目标值为零时可能不确定的普通 MAPE 更可取。*
类型 | 默认值 | 详情 | |
---|---|---|---|
df | DFType | 输入数据框,包含 id、实际值和预测值。 | |
models | List | 标识模型预测值的列。 | |
id_col | str | unique_id | 标识每个序列的列。 |
target_col | str | y | 包含目标值的列。 |
返回值 | DFType | 数据框,每行对应一个 id,每列对应一个模型。 |
3. 独立于尺度的误差
平均绝对尺度误差
来源
mase
*平均绝对尺度误差 (MASE)
MASE 通过将预测值与观测值之间的平均绝对误差与季节性朴素模型的平均绝对误差进行比较,来衡量预测方法的相对预测精度。MASE 部分构成了 M4 竞赛中使用的总体加权平均值 (OWA)。*
类型 | 默认值 | 详情 | |
---|---|---|---|
df | DFType | 输入数据框,包含 id、实际值和预测值。 | |
models | List | 标识模型预测值的列。 | |
seasonality | int | 时间序列的主要频率; 每小时 24,每日 7,每周 52,每月 12,每季度 4,每年 1。 | |
train_df | DFType | 训练数据框,包含 id 和实际值。必须按时间排序。 | |
id_col | str | unique_id | 标识每个序列的列。 |
target_col | str | y | 包含目标值的列。 |
返回值 | DFType | 数据框,每行对应一个 id,每列对应一个模型。 |
相对平均绝对误差
来源
rmae
*相对平均绝对误差 (RMAE)
计算两组预测值(来自两种不同的预测方法)之间的 RMAE。小于 1 的值表示分子中的预测比分母中的预测更好。*
类型 | 默认值 | 详情 | |
---|---|---|---|
df | DFType | 输入数据框,包含 id、时间、实际值和预测值。 | |
models | List | 标识模型预测值的列。 | |
baseline | str | 标识基准模型预测值的列。 | |
id_col | str | unique_id | 标识每个序列的列。 |
target_col | str | y | 包含目标值的列。 |
返回值 | DFType | 数据框,每行对应一个 id,每列对应一个模型。 |
均方尺度误差
来源
msse
*均方缩放误差 (MSSE)
MSSE 通过将预测值和观测值的均方误差与季节性朴素模型的均方误差进行比较,来衡量预测方法的相对预测准确度。
类型 | 默认值 | 详情 | |
---|---|---|---|
df | DFType | 输入数据框,包含 id、实际值和预测值。 | |
models | List | 标识模型预测值的列。 | |
seasonality | int | 时间序列的主要频率; 每小时 24,每日 7,每周 52,每月 12,每季度 4,每年 1。 | |
train_df | DFType | 训练数据框,包含 id 和实际值。必须按时间排序。 | |
id_col | str | unique_id | 标识每个序列的列。 |
target_col | str | y | 包含目标值的列。 |
返回值 | DFType | 数据框,每行对应一个 id,每列对应一个模型。 |
均方根缩放误差
来源
rmsse
*均方根缩放误差 (RMSSE)
MSSE 通过将预测值和观测值的均方误差与季节性朴素模型的均方误差进行比较,来衡量预测方法的相对预测准确度。
类型 | 默认值 | 详情 | |
---|---|---|---|
df | DFType | 输入数据框,包含 id、实际值和预测值。 | |
models | List | 标识模型预测值的列。 | |
seasonality | int | 时间序列的主要频率; 每小时 24,每日 7,每周 52,每月 12,每季度 4,每年 1。 | |
train_df | DFType | 训练数据框,包含 id 和实际值。必须按时间排序。 | |
id_col | str | unique_id | 标识每个序列的列。 |
target_col | str | y | 包含目标值的列。 |
返回值 | DFType | 数据框,每行对应一个 id,每列对应一个模型。 |
4. 概率误差
分位数损失
来源
quantile_loss
*分位数损失 (QL)
QL 通过非对称地加权绝对偏差来衡量分位数预测的偏差,这种加权方式使得损失更关注低估或高估的情况。
q 的常见值是 0.5,用于衡量与中位数的偏差。
类型 | 默认值 | 详情 | |
---|---|---|---|
df | DFType | 输入数据框,包含 id、时间、实际值和预测值。 | |
models | 映射 | 从模型名称到指定分位数的模型预测的映射。 | |
q | 浮点数 | 0.5 | 用于比较预测值的分位数。 |
id_col | str | unique_id | 标识每个序列的列。 |
target_col | str | y | 包含目标值的列。 |
返回值 | DFType | 数据框,每行对应一个 id,每列对应一个模型。 |
缩放分位数损失
来源
scaled_quantile_loss
*缩放分位数损失 (SQL)
SQL 衡量分位数预测的偏差,并按季节性朴素模型的平均绝对误差进行缩放。通过非对称地加权绝对偏差,损失更关注低估或高估的情况。q 的常见值是 0.5,用于衡量与中位数的偏差。这是 M5 不确定性竞赛中使用的官方指标,其中季节性周期设为 1。
类型 | 默认值 | 详情 | |
---|---|---|---|
df | DFType | 输入数据框,包含 id、时间、实际值和预测值。 | |
models | 映射 | 从模型名称到指定分位数的模型预测的映射。 | |
seasonality | int | 时间序列的主要频率; 每小时 24,每日 7,每周 52,每月 12,每季度 4,每年 1。 | |
train_df | DFType | 训练数据框,包含 id 和实际值。必须按时间排序。 | |
q | 浮点数 | 0.5 | 用于比较预测值的分位数。 |
id_col | str | unique_id | 标识每个序列的列。 |
target_col | str | y | 包含目标值的列。 |
返回值 | DFType | 数据框,每行对应一个 id,每列对应一个模型。 |
多分位数损失
来源
mqloss
*多分位数损失 (MQL)
MQL 基于预测分位数和观测值之间的绝对差,计算给定一组分位数的平均多分位数损失。
MQL 的极限行为可以通过连续分级概率评分 (CRPS) 来衡量完整预测分布的准确性。这可以通过数值积分技术实现,该技术对分位数进行离散化,并使用左黎曼近似处理 CRPS 积分,对均匀间隔的分位数进行平均。
类型 | 默认值 | 详情 | |
---|---|---|---|
df | DFType | 输入数据框,包含 id、时间、实际值和预测值。 | |
models | 映射 | 从模型名称到每个分位数的模型预测的映射。 | |
分位数 | ndarray | 用于进行比较的分位数。 | |
id_col | str | unique_id | 标识每个序列的列。 |
target_col | str | y | 包含目标值的列。 |
返回值 | DFType | 数据框,每行对应一个 id,每列对应一个模型。 |
缩放多分位数损失
来源
scaled_mqloss
*缩放多分位数损失 (SMQL)
SMQL 基于预测分位数和观测值之间的绝对差,并按季节性朴素模型的平均绝对误差进行缩放,计算给定一组分位数的平均多分位数损失。MQL 的极限行为可以通过连续分级概率评分 (CRPS) 来衡量完整预测分布的准确性。这可以通过数值积分技术实现,该技术对分位数进行离散化,并使用左黎曼近似处理 CRPS 积分,对均匀间隔的分位数进行平均。这是 M5 不确定性竞赛中使用的官方指标,其中季节性周期设为 1。
类型 | 默认值 | 详情 | |
---|---|---|---|
df | DFType | 输入数据框,包含 id、时间、实际值和预测值。 | |
models | 映射 | 从模型名称到每个分位数的模型预测的映射。 | |
分位数 | ndarray | 用于进行比较的分位数。 | |
seasonality | int | 时间序列的主要频率; 每小时 24,每日 7,每周 52,每月 12,每季度 4,每年 1。 | |
train_df | DFType | 训练数据框,包含 id 和实际值。必须按时间排序。 | |
id_col | str | unique_id | 标识每个序列的列。 |
target_col | str | y | 包含目标值的列。 |
返回值 | DFType | 数据框,每行对应一个 id,每列对应一个模型。 |
覆盖率
来源
coverage
y 在 y_hat_lo 和 y_hat_hi 之间的覆盖率。
类型 | 默认值 | 详情 | |
---|---|---|---|
df | DFType | 输入数据框,包含 id、时间、实际值和预测值。 | |
models | List | 标识模型预测值的列。 | |
水平 | int | 用于区间置信度的水平。 | |
id_col | str | unique_id | 标识每个序列的列。 |
target_col | str | y | 包含目标值的列。 |
返回值 | DFType | 数据框,每行对应一个 id,每列对应一个模型。 |
校准
来源
calibration
y 低于模型预测值的比例。
类型 | 默认值 | 详情 | |
---|---|---|---|
df | DFType | 输入数据框,包含 id、时间、实际值和预测值。 | |
models | 映射 | 从模型名称到模型预测的映射。 | |
id_col | str | unique_id | 标识每个序列的列。 |
target_col | str | y | 包含目标值的列。 |
返回值 | DFType | 数据框,每行对应一个 id,每列对应一个模型。 |
CRPS
其中 是估计的多元分布,而 是其实现值。
来源
scaled_crps
*缩放连续排序概率评分*
计算 CRPS 的缩放变体,由 Rangapuram (2021) 提出,用于衡量预测分位数 y_hat
相对于观测值 y
的准确性。此指标平均分位数损失所定义的百分比加权绝对偏差。*
类型 | 默认值 | 详情 | |
---|---|---|---|
df | DFType | 输入数据框,包含 id、时间、实际值和预测值。 | |
models | 映射 | 从模型名称到每个分位数的模型预测的映射。 | |
分位数 | ndarray | 用于进行比较的分位数。 | |
id_col | str | unique_id | 标识每个序列的列。 |
target_col | str | y | 包含目标值的列。 |
返回值 | DFType | 数据框,每行对应一个 id,每列对应一个模型。 |