在能源领域,精准预测能源消费总量对制定合理能源战略至关重要。
当前,能源消费预测分析主要运用单一模型(如灰色预测法、时间序列分析法等)和组合模型两种方式。
然而,单一模型存在系统误差较高、预测结果可信度存疑等问题,提升预测精度成为亟待解决的关键。
组合预测旨在整合多个预测结果以获取更精准的单一预测,但受个体预测质量、数据特性及组合方法等因素影响,其优势并非必然呈现。过往诸多研究基于元学习等手段优化组合预测,虽各有成效却仍存在局限。
在此背景下,本文聚焦能源消费总量序列预测,运用如 ARIMA、GM (1,1)、BP 神经网络等单一模型及变权重组合预测模型开展分析,同时参考前沿的多任务优化等预测组合方法相关研究,对比不同模型预测精度,以期为我国能源战略决策提供可靠依据。
组合预测方法预测能源消费总量序列预测
在能源消费预测分析中,主要采用单一模型和组合模型两种方法进行分析。单一模型主要是利用灰色预测法、情景预测法、时间序列分析法、神经网络等研究方法。但是由于预测方法过多,预测结果可信度存在一定质疑,同时单一模型预测的系统误差较高,因此提高预测精度是重点需要解决的问题。
采用单一预测模型和组合预测模型比较分析,选取最优结果
任务/目标
采用单一预测模型和组合预测模型对能源消费总量进行预测分析,并根据模型预测结果比较预测精度选择最优预测模型。
数据源准备
从《中国统计年鉴》中选取了2000年至2020年的中国能源消费总量、经济水平、人口规模、能源结构以及产业结构的历史数据,分别使用GM(1,1)模型、ARIMA模型以及BP神经网络模型对中国未来5年的消费总量进行预测,并根据单一模型和组合模型的预测分析结果为我国未来制定合适的能源战略的决策提供参考。
建模
ARIMA,一般用于时间序列预测
ARIMA模型是指将非平稳时间序列转化为平稳时间序列,然后将结果变量做自回归(AR)和自平移(MA)。
GM(1,1)模型
GM(1,1)模型是在基于灰色预测理论的基础上,对于原始时间序列数据,通过累加生产一个新的递增的时间序列数据,使得其更具有规律性,并通过GM(1,1)中建立的微分方程,计算出相应的模型参数,从而得出数据预测公式,最终将往年的数据带入计算得出未来几年的消费总量预测值。
作者
Qingxia Wang
可下载资源
9.Python用RNN循环神经网络:LSTM长期记忆、GRU门循环单元、回归和ARIMA对COVID-19新冠疫情新增人数时间序列预测
BP神经网络模型
BP神经网络模型是人工神经网络模型的一种,其来源是在基于人类大脑中的复杂的神经系统的运作机制,可以对输入的信息进行更加合理的分配以及处理,将不同的信息传入不同的神经元,并在一系列的处理过后再合并输出,得到最终结果。
变权重组合预测模型
变权重组合预测模型,即对每一个单一预测模型的预测值赋予不同的权重,再求其加权平均值,作为组合预测模型的预测结果。此模型的主要适用条件为,在已知各个单一模型预测精度的前提下,对预测精度较大的单一模型结果赋予较大权重值,对精度较小的单一模型赋予较小的权重值。
视频
PYTHON用GM(1,1)灰色模型预测模型对电力预测
视频
LSTM神经网络架构和原理及其在Python中的预测应用
视频
Python、R时间卷积神经网络TCN与CNN、RNN预测时间序列实例
视频
【视频讲解】Python深度学习股价预测、量化交易策略:LSTM、GRU深度门控循环神经网络附代码数据
ARIMA模型预测结果
GM(1,1)模型预测结果
BP神经网络模型结果
组合预测模型结果
研究结论
通过多重比较分析发现,基于ARIMA模型、GM(1,1)模型、BP神经网络模型三个单一预测模型的变权重组合模型预测的模型精度最优,其预测未来五年我国的能源消费值分别为515395.4987、525669.9064、534904.6054、542270.647、548358.9693;从中可以看出,在未来五年,我国能源消费总量将突破500000万吨标准煤,并且继续呈现不断上升的趋势。
基于多任务优化的预测组合方法研究|附数据代码
摘要
预测组合旨在运用多个预测结果来生成更为精准的单一预测。本文提出了一种多任务优化范式,它能够同步解决相关问题,并进一步丰富现有的预测运筹学方法。在训练阶段,会借助特定的优化模型去甄别对各时间序列而言既准确又多样的预测方法,同时利用神经网络对该优化模型的行为加以学习,待训练结束后,借助网络确定候选方法集。实验结果显示,相较于前沿的相关方法,本文所提方法可有效提升点预测的准确性。
引言
预测在诸多领域都占据着重要地位,像金融、能源、供应链以及库存管理等领域,精准的预测不可或缺。鉴于其重要性与复杂性,数学优化方法在预测领域应用颇多,并且随着优化与机器学习不断融合,这一趋势愈发凸显。
预测组合作为一种常用的预测手段,也就是把多个预测结果整合起来,进而得到更准确的单一预测。大量研究表明,它确实有助于提升预测的准确性,不过其优势并非是必然存在的,会受到诸如个体预测的质量、待预测数据的特性以及所采用的组合方法等多种因素影响。在预测组合相关文献中,涵盖了众多主题,例如组合时运用的方法、能带来的好处以及潜在的一些问题等。像存在过拟合的风险,也就是生成的方法可能过于灵活,在训练阶段对个体预测拟合得很好,但在对样本外数据进行准确预测时却表现不佳;还有可能产生过于复杂、难以解读的预测结果,进而给决策环节带来困难。而且,诸多研究也证实了,集成预测的成功与否很大程度上取决于组件模型的选择情况。
基于元学习的预测组合
元学习能够被用于挑选最为恰当的模型,或者优化组合不同基础预测时所用到的权重。在基于特征的预测过程中,选择、提取或者估计合适的特征是普遍面临的挑战,而基于特征的时间序列表示在各类时间序列挖掘任务中愈发受到关注。在时间序列预测领域,很多成功应用都是以元学习为基础实现的。
例如,Talagala 等人研发出了名为 FFORMS 的元学习方法,它借助随机森林(RF)分类器,依据一组时间序列特征,从九个基础预测器里选出最佳的预测方法。为构建可靠的分类器,他们通过模拟与假定总体中相似的新时间序列,对观测到的时间序列集进行扩充。时间序列特征是基于手动挑选的 25 个非季节性数据特征和 30 个季节性数据特征确定的。
Montero-Manso 等人对 FFORMS 加以改进,提出了一种元学习方法用于学习预测模型凸组合的权重,由此形成了 FFORMA 框架。在运用 FFORMA 进行预测前,要从原始时间序列中提取 42 个手工特征,并计算池中各预测方法的总体加权平均误差。为确定组合的最优权重,会把问题构建为非线性回归问题,利用 XGBoost 算法将时间序列特征与预测误差相关联。
随时关注您喜欢的主题
Di Gangi 提出了一个基于多层感知器(MLP)的元学习系统,它以 FFORMA 中所用的预先计算好的时间序列特征表示作为输入,能够自动生成预测方法的稀疏凸组合。该方法的优势在于,在预处理阶段无需对被排除的方法计算预测值,这样既能节省计算资源,又能提升实时应用中的可靠性,不过其预测准确性相较于 Montero-Manso 等人提出的 FFORMA 方法要差一些。Lichtendahl 和 Winkler 分析了 Montero-Manso 等人提交的 M4 竞赛顶级策略,通过设置准确性筛选和多样性筛选,去除不准确以及预测误差高度相关的方法,发现对剩余方法取简单的截尾均值,效果几乎和 Montero-Manso 等人通过 FFORMA 产生的组合一样好。
Kang 等人对前沿的 FFORMA 框架进行调整,使其能够将预测的多样性作为输入,通过观察池中各方法预测的多样性来提取时间序列特征,利用新得到的手工特征训练预测模型的加权组合,将多样的方法纳入组合方案后,提升了 FFORMA 的点预测准确性。
此外,还有 Ma 和 Fildes 提出的针对零售预测设计的元学习算法,通过卷积神经网络(CNN)自动提取时间序列特征,然后将这些特征与用于组合预测方法的一组权重相联系;Li 等人也采用类似思路,先将时间序列数据通过递归图转化为图像,再运用计算机视觉算法提取特征,最后通过最小化与 FFORMA 中相同的加权平均损失函数,将这些特征进一步转化为预测方法的权重。
元学习器:回归和分类任务
本文的元学习方法旨在确定一组权重,用于组合由多种方法生成的预测结果,目标是充分利用这些方法之间在准确性和多样性方面的特点。Talagala 等人的方法是将问题转化为传统的分类问题,也就是把各个预测方法编码为类别,对于每个时间序列而言,最佳方法就成为目标类别。但实际上,可能存在其他方法产生的预测误差与最佳方法相近的情况,所以相较于各方法产生的预测误差,所选定的具体类别重要性就没那么高了。
通常来说,寻找为各预测方法分配权重的函数这一问题往往会被构建成回归任务,其目标是最小化组合预测的误差。回归任务可以看作是每个实例具有不同类别权重的分类任务,再结合对特定系列赋予更高重要性的实例权重。这意味着回归任务的本质和分类任务密切相关。
所提出的元学习框架包含两个不同阶段,分别是元数据生成与模型训练(离线阶段)以及预测(在线阶段)。对于每一个时间序列,会将其划分为训练期和测试期,测试期的时长与预测的时间跨度相匹配。针对每个时间序列,先在训练期对池中各预测方法进行拟合,然后在测试期提取不同预测方法所产生的预测结果,将不同方法的预测结果汇总成一个矩阵,再与测试期的实际观测值进行对比,由此得到预测误差矩阵。从这个矩阵中,通过求解一个优化问题,把准确性和多样性信息汇总为一个二元标签向量。之后,利用梯度下降优化训练由深度神经网络实现的元学习器,使其最小化一个自定义的损失函数,目的在于估计各序列的组合权重,进而实现在线阶段能够为任意目标序列生成权重以及组合预测。
import tensorflow as tf
# 构建神经网络模型结构
model = tf.keras.Sequential([
tf.keras.layers.Dense(32, activation='relu', input_shape=(input_size,)), # 定义输入层,input_size 表示输入数据的维度
tf.keras.layers.Dense(16, activation='relu'), # 中间隐藏层
tf.keras.layers.Dense(output_size) # 输出层,output_size 表示输出的维度
])
# 编译模型,指定优化器、损失函数等参数
model.compile(optimizer='adam', loss='mse') # 使用 Adam 优化器,均方误差(mse)作为损失函数示例
# 进行模型训练,假设 x_train 和 y_train 分别是训练数据的输入和对应的目标输出
model.fit(x_train, y_train, epochs=num_epochs, batch_size=batch_size) # num_epochs 表示训练的轮数,batch_size 表示每批次数据的数量
上述代码演示了构建一个简单神经网络模型的常规步骤,先是定义了模型的结构,包含输入层、隐藏层和输出层,然后对模型进行编译配置优化器和损失函数等,最后使用给定的训练数据进行模型训练,通过这样的训练让模型学习合适的参数,以便后续用于预测等任务。
多任务学习框架下的元学习方法概述
我们的元学习旨在确定权重组合多种预测方法结果,利用方法的准确性与多样性优势。有的方法将选最佳方法视为分类问题有局限,实际找权重分配函数多为回归任务,且回归和分类任务联系紧密。
所提元学习框架分两阶段,离线阶段进行元数据生成与模型训练,在线阶段做预测。对时间序列划分训练、测试期,经系列操作得预测误差矩阵,汇总信息成标签向量,用深度神经网络做元学习器,通过梯度下降优化训练,最小化自定义损失函数来估计组合权重用于后续预测。
二、神经网络设计
(一)整体结构与任务划分
元学习模型的深度神经网络含回归、分类两个子网。回归子网通过最小化组合预测误差学习权重;分类子网按多样性标准选预测方法作为辅助任务,二者输出结合得到凸组合最终权重。
(二)回归子网
以原始时间序列为输入,经卷积层提取特征后输出未归一化权重。遵循准确性和多样性原则,将学习问题构建成多标签分类问题,以找出适合特定序列的基础模型。
(三)分类子网
采用二次规划(QP)特征选择方法生成训练标签,为各时间序列选满足准确性和多样性要求的预测方法子集。通过相关优化问题(如下式)及构建规则得标签向量:
- 参数说明:
- (𝐱):是一个 (M) 维向量,它代表着每种预测方法的相对重要性。
- (\alpha):取值范围在([0, 1])内,其表示预测方法之间非冗余性以及它们相关性的相对重要程度,通过合理选择它来平衡目标函数中的二次项和线性项。
- (𝐐_i):是一个 (M \times M) 的对称半正定矩阵,该矩阵主要体现了各预测方法之间的冗余情况,其元素是通过计算各预测方法间预测误差的皮尔逊相关系数得到的,也就是通过分析 (M) 种预测方法两两之间在预测误差方面的相关性,将这些相关性信息存储在这个矩阵当中,以此来反映预测方法间的冗余程度。
- (𝐜_i):是一个 (M) 维的非负向量,它代表着对于第 (i) 个时间序列而言,每种预测方法的准确性情况,具体是通过相关计算方式将准确性信息量化并体现在这个向量的各元素当中。
辅助神经网络通过解决多标签分类问题,输出表示某一预测方法是否适合用于预测对应时间序列的概率。
辅助神经网络通过解决多标签分类问题,输出表示某一预测方法是否适合用于预测对应时间序列的概率。
(四)子网输出结合
子网输出相乘后用 softmax 函数得估计权重,计算公式如下:
元素相乘让两任务共享知识,合适方法对应权重大,不合适则权重小。
- 参数说明:
- (\hat{w}_j^i):表示针对第 (i) 个时间序列,第 (j) 种预测方法对应的估计权重。
- (𝐨^ \hat{reg}_i):是回归子网输出的对于第 (i) 个时间序列的未归一化权重向量。
- (𝐨^ \hat{cls}_i):是分类子网输出的对于第 (i) 个时间序列,各预测方法对应的概率向量,其每个元素表示相应预测方法基于准确性和多样性原则适合该时间序列的概率。
- (\odot):代表元素对应相乘的运算,通过这样的乘法运算使得回归任务和分类任务之间可以共享知识。通常情况下,如果第 (j) 种预测方法比较适合第 (i) 个时间序列(也就是((𝐨^ \hat{cls}_i)_j)的值接近 (1)),那么整体网络输出的 (w^ \hat{j}_i) 就会比较大;反之,如果该方法不太适合(即((𝐨^ \hat{cls}_i)_j)的值接近 (0)),则估计权重 (w^ \hat{j}_i) 就会接近 (0)。
三、损失函数设计
(一)整体思路与各部分作用
优化多任务学习架构需权衡各任务重要性,回归任务是主预测组合任务更关键,分类任务起辅助作用。下面介绍损失函数各组成部分。
(三)分类损失
分类子网预测输出标签对应的二元交叉熵损失,公式如下,需对整体神经网络权重最小化该损失:
- 参数说明:
- (𝐨_{cls}^i):是第 (i) 个时间序列实际的分类标签向量,其元素取值为 (0) 或者 (1),表示相应的预测方法是否属于针对该时间序列所选出的准确且多样的预测方法子集。
- (𝐨^ \hat{cls}_i):是分类子网预测输出的对于第 (i) 个时间序列,各预测方法对应的概率向量,其每个元素表示相应预测方法基于准确性和多样性原则适合该时间序列的概率,与前面提到的在子网输出结合部分的含义一致。
实验设置
按照现有研究的通常做法,本文采用评估所提方法的预测准确性。该数据集涵盖了 10 万个不同频率的时间序列。这里重点关注其中的年、季、月序列,它们占竞赛序列的 95%。
每个时间序列都已经被划分成了两部分,即训练期(历史数据)和测试期(未来数据)。测试期的数据专门用于评估经过训练的元学习器所生成的预测结果,所以在训练时,元学习器所能知晓的信息只有 M4 数据集的训练部分。
年序列子集包含 2.3 万个序列,其长度从 13 到 835 个观测值不等,预测跨度为 6 个周期;季度序列子集包含 2.4 万个序列,有 8 个预测跨度,序列长度在 16 到 866 个周期之间;月序列子集则包含 4.8 万个时间序列,预测跨度为 18 个周期,样本观测值数量从 42 到 2794 不等。针对每种频率的序列,利用对应的 M4 序列来生成输入数据,并且通过训练针对每组序列的不同元学习器来优化组合权重。
在将数据输入神经网络之前,要对所有输入的时间序列进行标准化处理,使得观测值的均值为 0,标准差为 1。为保证给定频率的所有输入时间序列长度一致,必要时会对数据进行填充和截断操作。具体而言,会针对每种类型的时间序列进行长度的统计分析,对于长度短于目标长度的序列,采取前置填充操作,也就是在序列开头添加 0,直至达到规定长度;而对于长度较长的时间序列,则执行截断操作,从开头去除部分观测值以达到固定长度。最终,对于年、季、月时间序列,分别将其长度设定为 32、64 和 128 个观测值。
结果
(一)训练数据集中方法的分布
为评估分类任务训练数据的类别不平衡程度,需要考察基础预测方法在各个标签中的分布情况。这些标签是在离线阶段通过求解(QP – LAB)并设定阈值 ττ 对结果进行舍入后,为训练序列生成的。
# 带有错误处理的相关矩阵计算
Dmat_or <- tryCatch({
# 计算误差百分比的相关矩阵(对数据框df_errors中对应id的元素里的误差百分比进行转置后求相关矩阵)
cor(t(df_errors[[id]]$perc_errors))
}, warning = function(e) {
# 如果出现警告,返回单位矩阵(对角线上元素为1,其余为0,维度为n×n)
diag(n)
})
if (norm(Dmat_or - diag(n)) == 0) {
# 相关矩阵未定义的情况
print(sprintf("序列 %d 的相关矩阵未定义", id))
# 返回元素全为1.0的长度为n的向量
return (rep(1.0, n))
}
Dmat <- nearPD((Dmat_or), corr=TRUE)$mat
if (sum(is.nan(df_errors[[id]]$sOWA)) >= 1 || sum(is.infinite(df_errors[[id]]$sOWA)) >= 1) {
# 相关性向量未定义的情况
print(sprintf("序列 %d 的相关性未定义", id))
# 返回元素全为1.0的长度为n的向量
return (rep(1.0, n))
}
经实际验证发现,将 ττ 设置为 1M时,就池中各方法的平衡性而言,能得到令人满意的结果。
methods <- c('arima', 'ets', 'nnetar', 'tbats', 'stlm', 'rw', 'theta', 'naive', 'snaive')
m <- length(methods)
perc_errors <- matrix(NA, nrow=m, ncol=ncol(df[[i]]$mat_forecast))
rownames(perc_errors) <- rownames(df[[i]]$mat_forecast)
#计算平均序列级总体加权平均(sOWA)
sOWA <- matrix(NA, nrow=1, ncol=m)
colnames(sOWA) <- methods
for (j in 1:m) {
# 百分比误差
perc <- 100*(as.numeric(df[[i]]$ts_test)-df[[i]]$mat_forecast[j, ])/(as.numeric(df[[i]]$ts_test))
# 对称平均绝对百分比误差(smape)以及 smape_naive_2
smape <- smape_cal(as.numeric(df[[i]]$ts_test), df[[i]]$mat_forecast[j, ])
naive_2_forec <- naive_2(df[[i]]$ts_train
为更直观地展示这一点,计算了每个基础学习器的相对占比情况,并通过图 3 展示相关统计数据
每个图表代表一组按频率分组的时间序列,横轴列出了各个方法,纵轴的柱状图描绘了对应预测方法在标签中出现的序列数量与该特定组中序列总数的比值。对于每组序列,都能观察到标签分布较为一致且近乎均匀,各方法的占比基本相当。这表明不存在明显的类别不平衡问题,因此在训练过程中,分类模型不会对任何特定方法产生偏向,从而增强了其在各类基础预测器中有效泛化的能力。一般情况下,如果某些基础预测器的代表性不足,可以调整阈值 ττ 来实现标签的充分平衡分布,或者采用诸如重采样方法、成本敏感损失函数等各种平衡技术。
(二)与基准方法的比较
将本文所提出的多任务预测组合方法与以下基准方法进行点预测性能的对比:
- 简单平均方法(AVERAGE):将预测池中所有九个方法的预测结果用相等的权重进行组合。
- Montero – Manso 等人提出的元学习器(FFORMA):运用 XGBoost 将手工构建的统计时间序列特征与预测误差相联系。
- Kang 等人提出的方法(FFORMA – DIV):利用 XGBoost 将基于多样性的时间序列特征与预测误差相连接。
通过总体加权平均(OWA)和平均序列级总体加权平均(MsOWA)这两个误差指标来评估在 M4 测试数据集上的预测性能,OWA 和 MsOWA 的值越低,则表明预测准确性越高。同时,引入标准差(SD)来体现各序列间准确性的变化情况,从准确性风险的角度提供参考。
实验结果显示,本文的元学习器在 OWA 和 MsOWA 方面始终优于其他方法,甚至超越了同样融入多样性信息的前沿元学习器 FFORMA – DIV。相比之下,简单平均组合方法相较于所有元学习器,其表现总是欠佳。而且,第一个消融实验得出了很有价值的结论,单独带有回归分支的元学习器虽然能够生成较为准确的预测,与 FFORMA 相比有一定竞争力,但移除分类分支后,OWA 和 MsOWA 指标明显变差,预测准确性的下降可归因于基础学习器之间缺失了多样性信息。第二个消融实验凸显了损失函数中正交性项的重要性,将 λλ 设为 0 会对模型性能产生负面影响,这表明纳入正交性从实际效果来看能够提升结果,使子网能够更好地利用特定任务的时间序列特征。另外一个值得注意的发现是,与其他方法相比,本文的元学习器通过标准差衡量,始终能提供准确性风险更低的预测。
为了正式检验所考虑的各方法之间的性能是否存在统计学差异,采用了非参数 Friedman 检验以及事后多重比较中的最佳(MCB)Nemenyi 检验,这些检验是通过 R 包“tsutils”实现的。按照 Kourentzes 和 Athanasopoulos 的描述,Friedman 检验首先判断是否至少有一种方法与其他方法存在显著差异,如果存在这种差异,再运用 Nemenyi 检验来确定哪些预测方法组之间不存在统计学上的显著差异。这种检验方法的优势在于,不会对数据分布做任何假设,并且避免了对预测结果进行多次两两比较,因为那样可能会使检验结果产生偏差。基于 sOWA 误差,将这些检验应用于各数据频率,结果可按如下方式解读:平均排名越低,表示性能越好,如果两个预测组合方法的置信区间有重叠,则表明它们之间不存在显著的性能差异。根据图 4 展示的结果
可以看出:(i) 尽管 FFORMA – DIV 平均表现优于 FFORMA,但它们之间的差异在统计学上并不显著,这一发现与 Kang 等人近期研究中的记录相符;(ii) 本文所提方法 表现最佳,与其他元学习器生成的预测相比,除了除了在月度序列中,λ=0的预测区间稍有重叠外,在其他情况下都表现出了统计学上的显著差异。
(三)可视化解释
在完成训练后,可以将分类子网断开,并利用它针对输入的时间序列,预测某一预测方法符合准确性和多样性原则的概率。该网络借助卷积层从序列中提取相关特征,随后将这些特征映射到一个标签向量上,其中每个标签都对应着一种预测方法。然而,源于卷积神经网络(CNNs)的特征在可解释性方面常常存在困难。
为解决这一局限,并深入了解元学习器的决策过程,采用了梯度加权类激活映射(Grad – CAM)方法。Grad – CAM 是一种能够增强深度神经网络可解释性的方法,它通过生成可视化热图,凸显出输入中对网络针对特定类别决策有重大影响的区域。该技术利用模型预测类别得分相对于最后卷积层特征图的梯度,对于本文所研究的问题而言,通过计算这些梯度的加权总和,能够确定输入数据中对网络从预测方法池中选择特定预测方法有贡献的最具判别性的区域。而且,通过将 Grad – CAM 热图叠加到原始时间序列上,能够从视觉上理解网络的推理过程,有助于领域专家理解模型的决策机制。
在本研究中,设定阈值为 0.5,将每个预测概率转化为 0 – 1 二元标签,以此来计算预测类别得分的梯度。在图 5、图 6 和图 7 中:
、、
针对网络所选择的各基础预测方法,分别分析了将 Grad – CAM 应用于年度、季度和月度时间序列样本所生成的热图。在每个时间步,都会被赋予一个介于 0 到 1 之间的重要性得分,接近 1 的值表示对应时间步对分类结果具有较高的重要性,而接近 0 的值则意味着该时间步对分类结果重要性较低。
观察这些图可以发现,热图在其所聚焦的输入时间序列的时间区域方面呈现出多样性,这意味着神经网络并非仅仅依赖于时间序列中存在的单一常见模式,而是会考虑多个相关的片段。而且,这些独特的关注区域表明,网络针对不同的方法利用了不同的特征,这很可能反映了各基础预测器独特的特性和优势。最后需要注意的是,虽然网络经过训练能够学习准确且多样的方法,但在多个方法之间,似乎存在一些热图值较高的共同区域,这些共同区域表明了在多种预测技术背景下具有重要意义的特定时间片段,这一现象也说明了输入时间序列中存在对多种预测方法有益的固有特征。
结论
本文提出了一种多任务优化方法,旨在提升预测模型凸组合的预测性能。在已有文献基础上,运用元学习将时间序列的特征与由一组基础学习器所提供的预测相联系。本文的元学习器能够同时处理两个相关任务,即基于预测的准确性进行组合以及依据模型的多样性进行选择。为达成这一目标,借助深度神经网络联合解决与之相关的回归和分类问题。为给分类任务提供标签,引入了一种基于优化驱动的方法,该方法在考虑池中各方法的准确性和多样性的基础上,确定给定时间序列的最适宜方法。
通过在数据集上开展实验,结果表明与前沿的元学习方法相比,本文所提方法提高了点预测的准确性。而且,基于梯度的可视化解释为输入序列中有助于网络选择特定预测方法的判别性区域提供了有趣的见解。
本文所提方法具备一定优势,一方面,它减轻了预测人员在基于特征进行预测时,按照多样性和准确性标准筛选方法的负担,因为它在训练过程中能够有效地学习到多样性信息;另一方面,它能够兼容多种方法生成的预测,涵盖统计技术、非线性方法以及基于判断的预测等。不过,该方法也存在一定局限,目前仅能生成点预测,这也为未来研究指明了方向,比如可朝着使其适应输出区间预测的方向进行拓展,或者参考 Hall & Mitchell 的相关工作,朝着概率密度预测方向延伸,在这一情境下,元学习有望在生成各模型预测分布的加权组合或者对这些分布创建加权平均方面发挥作用。
关于分析师
Qingxia Wang
在此对 Qingxia Wang 对本文所作的贡献表示诚挚感谢,她毕业于南京大学,攻读国民经济学专业并获得硕士学位。其专业领域涉及数据整理以及数据统计分析,熟练掌握 SPSS、stata、Eviews 等工具。在相关工作中,凭借扎实的专业知识与娴熟的工具运用能力,为本文的研究提供了有力支持,助力各项分析与研究内容得以顺利开展与深入推进。
每日分享最新报告和数据资料至会员群
关于会员群
- 会员群主要以数据研究、报告分享、数据工具讨论为主;
- 加入后免费阅读、下载相关数据内容,并同步海内外优质数据文档;
- 老用户可九折续费。
- 提供报告PDF代找服务
非常感谢您阅读本文,如需帮助请联系我们!