Forecasting day-ahead electricity prices: A review of state-of-the-art algorithms, best practices and an open-access benchmark 预测日前电价:回顾最先进的算法、最佳实践和公开基准
Applied Energy (2021)
摘要:电价预测在过去二十年间已经得到很多发展,但该领域仍然缺乏严格的方法来评估新的预测算法。这些新的预测算法通常使用独特的、未公开的数据集进行比较,且横跨的时间太短,又仅限于一个市场测试样本。这些新方法很少与性能良好的模型对比,准确性指标也不足,并且很少进行预测性能差异的显著性测试。因此,在预测电价时,不清楚哪些方法更好,也不清楚什么是最佳做法。本文通过比较横跨多年和多市场上最先进的统计和深度学习方法来解决这些问题,并提出了一套最佳实践。此外,我们还提供了所考虑的数据集,最先进模型的预测,以及专门设计的python工具箱,以便在未来的研究中严格评估新算法。
文章目录
- Forecasting day-ahead electricity prices: A review of state-of-the-art algorithms, best practices and an open-access benchmark 预测日前电价:回顾最先进的算法、最佳实践和公开基准
- 1. Introduction 介绍
- 1.1. Motivation and contributions 动机及贡献
- 1.2. Paper structure 论文结构
- 2. Literature review 文献回顾
- 2.1. Statistical methods 统计方法
- 2.2. Deep learning 深度学习
- 2.3. Hybrid methods 混合方法
- 2.4. State-of-the-art models
- 3. Open-access benchmark dataset 公开基准数据集
- 3.1. General characteristics
- 3.2. Nord Pool
- 3.3. PJM
- 3.4. EPEX-BE
- 3.5. EPEX-FR
- 3.6. EPEX-DE
- 3.7. Training and testing periods 训练和测试周期
- 4. Open-access benchmark models 开源基准模型
- 4.1. Input features 输入特征
- 4.2. The LEAR model
- 4.2.1. Regularization hyperparameter 正则化超参数
- 4.2.2. Selecting the regularization hyperparameter 选择正则化超参数
- 4.3. The DNN model
- 4.3.1. Structure 结构
- 4.3.2. Training dataset 训练集
- 4.3.3. Hyperparameter and feature selection 超参数和特征选择
- 4.4. Ensembles 集成
- 4.5. Software implementation
- 5. Guidelines and best practices in EPF 电价预测指导和最佳实践
- 5.1. Length of the test period 测试周期的长度
- 5.2. Benchmark models
- 5.3. Open-access
- 5.4. Evaluation metrics for point forecasts 节点预测的评估指标
- 5.4.1. Scaled errors
- 5.4.2. Relative measures
- 5.5. Statistical testing 统计测试
- 5.5.1. The Diebold–Mariano test
- 5.5.2. The Giacomini–White test
- 5.6. Recalibration 校准
- 5.7. Ex-ante hyperparameter optimization 事前超参数优化
- 5.8. Computation time 计算时间
- 5.9. Reproducibility 可再现性
- 5.11. Software toolboxes
- 5.12. Combining forecasts 结合预测
- 6. Evaluation of state-of-the-art methods 最先进模型的评估
- 6.1. Accuracy metrics 精度指标
- 6.1.1. Individual models 单独的模型
- 6.1.2. Ensembles 集成
- 6.2. Statistical testing
- 6.3. Computation time 计算时间
- 6.4. Discussion and remarks
- 6.4.1. Absolute vs. squared errors
- 6.4.2. Metrics 指标
- 6.4.3. Performance of open-access models 开源模型的性能
- 7. Checklist to ensure adequate EPF research 确保EPF研究充分的核对表
- 8. Conclusion
1. Introduction 介绍
可再生能源在当今电力系统中的日益发展使得发电更加不稳定,由此产生的电价比之前更难预测。另一方面,电价预测(electricity price forecasting:EPF)不断提供新的工具来缩小预测与实际价格间的差距。但这一领域的进展并不稳定,也不容易跟进。尤其是因为研究使用不同的数据集,不同的软件实现和不同的误差测量,导致EPF方法间难以进行比较,且缺乏统计严谨性也使这些分析更加复杂。特别是:
- 一些研究比较了机器学习ML方法和统计方法,但这些研究的结论矛盾。考虑先进统计技术的研究一般只将其与简单的机器学习方法比较,并表明统计方法更好。而提出机器学习方法的研究只将其与简单的统计方法比较,并表明机器学习模型更准确。
- 许多现有研究的测试周期太短,无法得出结论性的结果。在某些情况下,测试数据集仅跨越一周时间,这忽略了特殊日期问题,例如假期,且不能代表所提出算法在一整年的性能。为了得出有意义的结论,测试数据集应该至少跨越一年。
- 现有的一些论文没有提供足够的细节来重现研究。目前有三个最常见的问题:(i)没有指定训练和测试数据集间的确切分割;(ii)没有指明用于预测模型的输入;(iii)没有指定所使用的数据集。这显然不利于其他研究人员验证研究结果。
在过去几年,这三个问题随着深度学习DL的普及而加剧。虽然几乎每个月都会出现关于EPF的深度学习新论文,这些论文大多都声称开发了sota模型,但论文中的对比方法非常有限。尤其这些新的深度学习方法通常与更简单的机器学习方法进行比较,这显然不公平。此外,由于所提出的方法没有与其他深度学习算法进行比较,新的深度学习方法不断被提出,但不同模型间的相对表现尚不清楚。
在混合方法中也会出现类似的问题。近年出现了非常复杂的混合方法,这些混合模型通常基于分解技术、特征选择方法、ML回归模型,有时还用基于优化目的的元启发式算法。与深度学习算法一样,这些研究通常也没有和成熟的方法进行比较。此外,虽然考虑了特定的遗传算法或分解技术,但大多数研究并未分析选择这些技术变体的效果。因此,混合方法不同组件的相对重要性并不清楚。
1.1. Motivation and contributions 动机及贡献
解决上述问题需要采取三个措施。
- 首先,在流行的编程环境(例如python)中实现一组简单且功能强大的开源预测方法来获得sota性能,且研究人员可以轻松使用来评估新的预测模型。
- 第二,收集并向EPF社区提供一组免费且具有代表性的数据集,研究人员可以使用这些数据集来评估并比较他们在长期测试期间的方法。虽然有些数据集可以免费下载,例如作为[ Probabilistic energy forecasting: Global energy forecasting competition 2014 and beyond. ]提供的数据或样本交易数据[https://www.nordpoolgroup.com/],但它们的范围有限(仅限一个市场、2-3年的时间跨度、或仅局限于价格)。因此,从这些数据集得出的结论有限,结果难以外推到其他市场,并且使用这些数据研究的相关性并不完全清楚。
- 第三,提出一套最佳实践,可以进行公平的比较,使EPF研究的结论更有意义。
本文中试图采取三种手段来解决上述问题:
- 我们分析了现有文献,并选择了统计和机器学习方法中最先进的方法:Lasso估计自回归(Lasso Estimated AutoRegressive: LEAR)模型和深度神经网络(DNN),DNN是一种相对简单且自动化的深度学习方法,使用贝叶斯优化来优化超参数和特征。我们将我们的模型作为开源python库(https://github.com/jeslago/epftoolbox)给其他研究人员,该库专门设计用于为EPF研究提供通用研究框架。除了模型,我们还为库提供了大量的文档。
- 我们提出了5个公开数据集,每个数据集跨越6年,代表全球范围内一系列完善的日前电力市场。这些数据集包含以小时为单位的日前电价和两个相关的衍生变量。从上文提到的python库访问数据集。该库还包含公开方法对五个公开数据集的预测结果,以便研究人员可以快速进行比较,而无需重新训练或估计模型。
- 我们提供了一套在EPF中进行研究的最佳实践指南,以便新的研究可重复且更加可靠。此外,该python库中包含了一些指导方针,例如充分的评估指标或统计测试,以提供EPF研究的通用研究框架。
1.2. Paper structure 论文结构
本文的其余部分组织如下。第2节对EPF的现状进行了回顾。第3节和第4节分别介绍了公开基准数据集和开源基准模型。第5部分描述了在EPF中进行研究时的一套指导方针和最佳实践。第6节讨论了五个数据集的预测结果。最后,第7节提供了有意义的EPF研究的摘要和需求清单。
2. Literature review 文献回顾
EPF旨在预测电力市场的现货和远期价格,无论是节点电价或概率设置。然而,鉴于全球交易法则的多样性,EPF必须总是针对特定市场调整。例如,欧洲短期电力交易的主力是每日一次统一价格的日前市场(见图1)。澳大利亚国家电力市场作为实时电力池运行,每5分钟确定一次调度价格,平均每半小时确定6次调度价格作为池价格,而电力远期市场与其他能源商品(石油、天然气、煤炭)有许多共同之处,而且往往只是财务结算。
EPF领域非常多样,完整的文献综述超出了本文的范围。本节旨在概述自2014年以来提出的用于日前市场节点电价预测的三大类方法,即统计方法、机器学习方法和混合方法。此外,我们的研究特别强调深度学习和混合方法,因为这是EPF发展最快的领域,同时也受非严格验证的困扰,而这正是我们写这篇论文的初衷。
2.1. Statistical methods 统计方法
本类中的大多数模型依赖于线性回归,并通过独立(或预测、解释)变量(也称为回归量、输入或特征)的线性组合来表示因变量(或输出变量),即天d,小时h的价格
p
d
,
h
p_{d,h}
pd,h:
其中,
θ
h
=
[
θ
h
,
0
,
θ
h
,
1
,
.
.
.
.
.
.
,
θ
h
,
n
]
θ_h = [θ_{h,0},θ_{h,1},......,θ_{h,n}]
θh=[θh,0,θh,1,......,θh,n] 是一个特定于小时因子h的行变量,
X
d
,
h
=
[
1
,
X
d
,
h
1
,
.
.
.
.
.
.
,
X
d
,
h
n
]
T
X_{d,h} = [1, X_{d,h}^1,......,X_{d,h}^n]^T
Xd,h=[1,Xd,h1,......,Xd,hn]T 是输入的列向量,
ε
d
,
h
ε_{d,h}
εd,h是一个误差项;如果事先对数据进行了降级处理,可以将
θ
h
,
0
θ_{h,0}
θh,0 设为零。请注意,这里我们使用的是日前预测中常见的符号,它强调这些价格序列的向量结构(见图1)。或者,可以使用单个索引:
p
t
p_t
pt with 𝑡= 24𝑑+ h。尽管多元建模框架比单变量模型稍微准确一些,但这两种方法都各有优劣。
在过去几年中,统计方法为EPF领域做出大量贡献,其中最具代表性的是具有大量输入特征的使用正则化方法的线性回归模型。典型的,公式(1)中的回归模型是通过最小化残差平方和(RSS, residual sum of squares),即预测值与实际值间的平方差,使用普通最小二乘(OLS, ordinary least squares)来估计。然而,如果回归的数量很大,使用最小绝对收缩和选择算子(LASSO, least absolute shrinkage and selection operator)或者其正则化 elastic net 作为隐式特征选择方法可以改善预测结果,日内EPF和概率EPF中也是如此。特别是通过联合最小化RSS和模型参数的惩罚因子(详见4.2节),这两种隐式正则化技术会将一些参数设置为零,从而有效地消除冗余的回归量。从引用的研究中可以看出,这些参数丰富的正则化回归模型具有更好的性能。值得注意的是,这种方法在这里被称为Lasso估计自回归(LEAR,Lasso Estimated AutoRegressive),但实际上是混合方法,因为一些研究者认为Lasso是ML技术。但我们将其归类为统计方法,因为其底层模型是自回归的(AR)。
除了提出参数丰富的模型和先进的估计器外,研究人员还通过考虑各种额外的预处理技术来改进统计方法。最值得注意的是,使用方差稳定变换(variance stabilizing transformations)和长期季度分量(long-term seasonal components)的模型能显著改善统计方法。然而,这两种技术的适用性差异很大:由于价格峰值普遍发生,方差稳定变换已成为一种标准,并取代了常用的对数变换(对数变换会因为零和负值(未定义的值)而不适用)来规范电价。相比之下,长期季度分量的适用性则更为有限,而且尚不清楚它们是否也适用于参数丰富的模型。
统计方法的第三个创新是集成(即结合单个预测模型的方法),它结合了在不同窗口校准的同一模型的多个预测。两项研究表明,结合几个短(跨越1-4个月)和几个长(大约两年)的校准窗口,可以获得最佳结果。集成能显著优于最佳事后选择校准窗口的预测。但是,到目前为止,还没有证据表明这种集成是否仅对简洁的回归模型有作用。
有趣的是,在存在结构性break的情况下,可以结合不同长度校准窗口获得的预测结果。较长的窗口可以更好地拟合,而较短的窗口可以更快地适应变化。因此,如果出现结构性break,比如COVID-19病毒肆虐,使用针对较短窗口校准的模型可能会更好地捕捉价格动态变化。此外,一些研究者假设基本原则和价格时间序列具有相似的动态循环机制,并采用 k-means 或 k-nearest 来确定过去的时期。然后,他们只在与当前情况相似的数据段上校准模型,因此能够消除校准样本中包含结构性break的子周期。
最后,需要注意的是,在金融计量经济学中,异方差(heteroskedasticity)是许多sota方法的基本组成部分,但将具有泛化自回归条件异方差(GARCH,generalized autoregressive conditional heteroskedastic)残差的模型用于EPF时,并没有取得太大成功。有研究者指出,当考虑到电价波动的基本因素和行为驱动因素时,GARCH效应就会减弱,考虑到价格对基本因素的时变响应,可以产生比GARCH规范更精确的波动性估计。
2.2. Deep learning 深度学习
过去五年中,关于EPF的深度学习论文共发表了28篇,且这一数字还在稳步增长:2017年只有一篇论文,2018年有11篇,2019年有16篇。但大多研究都非常有限,他们的比较过于简单,例如会避免使用最先进的统计方法,且其结果不具有泛化性。
第一篇发表的深度学习论文提出了一种使用层叠去噪自编码器的深度学习网络。该网络不仅与机器学习技术进行了比较,还与两种统计方法进行了比较。但由于其只考虑了3个月的测试数据和简单的基准模型,因此评估存在局限性。第二篇发表的深度学习文章提出了一种用于市场整合建模的深度神经网络。虽然该方法评估了一年的数据,但其未与其他机器学习或统计方法比较。
第三篇论文[Forecasting spot electricity prices: deep learning approaches and empirical comparison of traditional algorithms]提出了四个深度学习模型(一个深度神经网络DNN,两个递归神经网络rnn和一个卷积卷积网络CNN)。据我们所知,这项研究是迄今为止最完整的研究。该论文提出的深度学习模型使用一整年的数据与23个不同模型的基准进行比较,包括7个机器学习模型,15种统计方法和一个商业软件。此外,该论文比较了sota统计方法,包括fARX-Lasso和fARX-EN。虽然该研究验证了深度学习算法的优越性,但由于其仅考虑了单一市场,因此结论并不十分有力。
2018年之后的研究集中在以下三个主题之一:(1)评估不同深度循环网络的性能;(2)提出了基于CNN和LSTM的混合方法;(3)采用常规DNN模型。2019年论文的主要焦点与2018年相同:(1)评估不同深度循环网络(主要是lstm)的性能;(2)提出通常基于lstm和cnn的新的混合深度学习方法;或(3)使用规则的DNN模型。
2.3. Hybrid methods 混合方法
EPF领域中,近5年来最受关注的是混合预测方法。这段时间已经发表了100多篇新的混合方法文章,是基于深度学习文章的5倍。混合模型是由多种算法组成的非常复杂的预测框架。通常,它们至少包括以下五个模块中的两个:
- 一个分解数据的算法。
- 一个特征选择算法。
- 一个聚类数据的算法。
- 一个或多个预测组合的预测模型。
- 某类启发式优化算法来估计模型或其超参数。
在分解方法方面,应用最广泛的技术是小波变换。其他可供选择的方法包括经验模态分解(EMD:empirical mode decomposition)、Hilbert-Huang变换(利用EMD对信号进行分解,然后应用Hilbert谱分析、变分模态分解和奇异谱分析)。
对于特征选择,最常用的算法是相关分析和 mutual 信息技术。其他算法包括分类和回归树递归特征消除或Relief-F。
对于聚类数据,算法通常基于以下四种算法之一:k-means,自组织映射,增强博弈论聚类或模糊聚类。
预测模型的选择更加多样化。使用最广泛的方法是标准MLP,其次是基于自适应网络的模糊推理系统(ANFIS),径向基函数网络,以及自回归模型如ARMA或ARIMA。其他模型包括LSTM、线性回归、极限学习机、CNN、贝叶斯神经网络、指数GARCH、回声状态神经网络、Elman神经网络和支持向量回归。重要的是要注意,在许多方法中,混合方法不考虑单一的预测模型,而是将几个模型结合起来。
与预测模型一样,启发式优化算法的多样性也很大。虽然最常用的算法是粒子群优化,但也使用了许多其他方法:差分进化、遗传算法、回溯搜索、确定性退火、蝙蝠算法、基于蒸发沉淀的水循环算法、杜鹃搜索或蜜蜂交配优化。
尽管发表了大量的研究成果,但混合方法的研究仍然面临着前面的问题。首先,大多数研究要么避免与成熟的方法比较,要么与过时的方法比较。因此,不能准确地确定新提出方法的准确性。其次,这些研究通常使用非常小的数据集,包括几天或几周,因此,其结论不可信。除了这两个问题外,许多混合方法没有分析选择不同组件的影响,不清楚各个组件的有用性。
2.4. State-of-the-art models
很难确定什么是最先进的方法,但可以认为LEAR是一个非常准确的线性模型。此外,通过使用方差稳定变换,结合不同校准窗口获得的预测,以及/或使用长期季度分解来转换价格,可以进一步提高模型的准确性。
对于ML模型,由于现有的机器学习模型性能较差,因此更难选出sota模型。两层的简单DNN似乎是最好的ML模型之一。虽然更复杂的模型,例如lstm,可能会更准确,但目前还没有可靠的证据来验证这一说法。
确定混合模型的最佳模型是一项不可能完成的任务。首先,虽然提出了许多混合方法,但它们没有相互比较,也没有与LEAR或DNN模型进行比较。其次,由于大多数研究没有评估每个混合组件的影响,因此不能为每个混合组件建立最佳算法,例如,不清楚什么是最佳聚类,最佳特征选择方法或最佳数据分解方法。
因此,对于本文提出的公开基准,我们使用LEAR和DNN模型。这两种方法不仅精度高,而且相对简单。
–
3. Open-access benchmark dataset 公开基准数据集
本文的第一个贡献是提供了一个大型的公开基准数据集,在该数据集上可以测试新方法,以及进行日前预测。本节将介绍该数据集,使用本研究构建的python库访问该数据集。
3.1. General characteristics
要使EPF的基准数据集公平,它应该满足三个条件:
- 包括多个电力市场,以便在不同条件下测试新模式的能力;
- 时间跨度要足够长,以便算法可以使用跨越1-2年的样本外数据集进行分析;
- 要足够近,包括整合可再生能源对批发价格的影响。
基于这些条件,我们提出了五个数据集,代表五个不同的日前电力市场,每个数据集都包含6年的数据。每个市场的价格都有不同的动态,即它们在负价格、零价格和价格峰值的频率和方面都有明显差异。此外,由于电价取决于外生变量,每个数据集包括两个额外的时间序列:对每个市场有不同影响的两个外生因素的日前预测。每个数据集的长度为2184天,换算成6个364天的“年”或312周。所有可用的时间序列都使用当地时间,并且通过对额外的一小时的两个值进行算术平均或对缺失值插入相邻值来处理daylight savings。
3.2. Nord Pool
第一个数据集:Nord Pool (NP),即北欧国家的欧洲电力市场,时间跨度为2013年1月1日至2018年12月24日。该数据集包含每小时的日前电价、日前负荷预测和日前风力发电预测。该数据集使用北欧电力交易所Nord Pool网页上免费提供的数据构建。图2显示了数据集的电价时间序列;可以看出,价格总是正的,零价格较罕见的,很少发生价格飙升。
3.3. PJM
第二个数据集来自美国的宾夕法尼亚-新泽西-马里兰(PJM)市场。它涵盖与Nord Pool相同的时间段,即从2013年1月1日至2018年12月24日。这三个时间序列分别是:联邦爱迪生(COMED)(位于伊利诺伊州的区域)的区域价格和两天前的负荷预测序列,一个描述系统负荷,第二个描述COMED区域负荷。这些数据可以在PJM的网站上免费获得。图3描述了数据集的电价时间序列;与NP市场一样,PJM价格总是正的,很少有零价格,但经常出现峰值。
3.4. EPEX-BE
第三个数据集表示EPEX-BE市场,即比利时的日前电力市场,由EPEX SPOT运营。数据集的时间跨度为2011年1月9日至2016年12月31日。两个外生数据序列分别代表法国的日前负荷预测和日前发电量预测,这两个是比利时价格的最佳预测指标。值得注意的是,这个数据集特别有趣,因为它很难预测。图4(top) 为数据集的电价时间序列;与PJM和NP市场的价格不同,负价格和零价格出现的频率更高,价格飙升也很常见。
3.5. EPEX-FR
第四个数据集代表EPEX- FR市场,即法国的日前电力市场,该市场也由EPEX SPOT运营。数据集的时间跨度与EPEX-BE数据集相同,即从2011年1月9日至2016年12月31日。除电价外,数据集还包括日前负荷预测和日前发电量预测。图4(middle)为数据集的电价时间序列;与EPEX-BE市场一样,负价格、零价格和峰值非常常见。
3.6. EPEX-DE
最后一个数据集描述了德国电力市场EPEX-DE市场,该市场也由EPEX SPOT运营。数据集从2012年1月9日到2017年12月31日。除价格外,该数据集还包括TSO Amprion区域的日前分区负荷预测以及3个最大的TSO (Amprion, TenneT和50Hertz)区域的综合日前风能和太阳能发电预测。图3(bottom)显示了数据集的电价时间序列;可以看出,尽管负价格和零价格比其他四个市场出现得更频繁,但价格飙升却更为罕见。
3.7. Training and testing periods 训练和测试周期
对于每个数据集,测试周期定义为数据集的最后104周,即最后两年。测试数据集的确切日期见表1。值得注意的是,正如我们将在第5节中讨论的那样,选择两年作为测试期对于确保EPF的良好研究实践至关重要。
与测试数据集不同,训练数据集不能被定义,因为它会在不同的模型之间变化。一般来说,训练数据集将包含目标日期之前已知的任何数据。然而,准确的数据会根据 校准窗口 和 重新校准 而改变:
- 虽然有四年的数据可用于估计模型,但最好只采用最近的数据。用于估计的过去的数据量定义了校准窗口。
- 模型可以估算一次,然后对整个测试数据集进行评估,或者可以每天持续重新校准,以纳入最近数据的输入。
例如,考虑预测2017年2月15日的NP价格。使用52周校准窗口且没有重新校准的模型将使用包含2016年2月29日至2017年2月14日之间数据的训练数据集,即测试期开始前一年。相比之下,使用104周的校准窗口和每日重新校准的模型将使用2015年2月18日至2017年2月14日之间的数据。
4. Open-access benchmark models 开源基准模型
本文的第二个贡献是提供了一套 sota 预测方法作为开源python工具箱。如2.4节所述,LEAR 和DNN 模型不仅精度高,而且相对简单。因此,我们实现并开源了这两个方法。
4.1. Input features 输入特征
先定义所考虑的输入特征。独立于模型,可用的输入特征来预测24天前的价格,即: P d = [ p d , 1 , . . . , p d , 24 ] \bold{P}_d = [p_{d,1},...,p_{d,24}] Pd=[pd,1,...,pd,24] ,同样:
- 前三天和一周前的历史价格,即: P d − 1 , P d − 2 , P d − 3 , P d − 7 \bold{P}_{d-1}, \bold{P}_{d-2}, \bold{P}_{d-3}, \bold{P}_{d-7} Pd−1,Pd−2,Pd−3,Pd−7 。
- 在𝑑−1日,两个兴趣变量(详见第3节)在𝑑日的日前预测,即: x d 1 = [ x d , 1 1 , . . . , x d , 24 1 ] T \bold{x}_d^1 = [x_{d,1}^1,...,x_{d,24}^1]^T xd1=[xd,11,...,xd,241]T 和 x d 2 = [ x d , 1 2 , . . . , x d , 24 2 ] T \bold{x}_d^2= [x_{d,1}^2,...,x_{d,24}^2]^T xd2=[xd,12,...,xd,242]T ;请注意,每个市场的兴趣变量不同。
- 对前一天和前一周的兴趣变量的历史日前预测,即: x d − 1 1 , x d − 7 1 , x d − 1 2 , x d − 7 2 \bold{x}_{d-1}^1, \bold{x}_{d-7}^1, \bold{x}_{d-1}^2, \bold{x}_{d-7}^2 xd−11,xd−71,xd−12,xd−72 。
- 虚拟变量 z d \bold{z}_d zd表示星期几。在线性模型情况下,按照标准做法, z d \bold{z}_d zd是一个二进制向量: z = [ z d , 1 , . . . z d , 7 ] T \bold{z}=[z_{d,1},...z_{d,7}]^T z=[zd,1,...zd,7]T 来编码一周中的每一天,例如,[1, 0, 0, 0, 0, 0]表示星期一,[0,1,0,0,0]表示星期二。对于神经网络,为了简单起见,使用多值输入对星期几进行建模,例如: d ∈ { 1 , … , 7 } d∈\{1,…,7\} d∈{1,…,7}。
总之,我们为每个LEAR模型考虑了247个可用的输入特征,为每个DNN模型考虑了241个可用的输入特征。需要注意的是,虽然可用的输入特征相同,但LEAR和DNN模型使用不同的特征选择过程。即,每个LEAR模型使用LASSO作为嵌入特征选择来找到最优特征集,即每个模型使用 L1 正则化在247个特征中进行选择。另一方面,在DNN模型中,输入特征与超参数一起使用树形Parzen估计器进行优化(详见4.3节)。最后,需要强调的是,对于这两种类型的模型,特征选择都是完全自动化的,不需要专家干预。
4.2. The LEAR model
Lasso估计自回归(Lasso Estimated AutoRegressive, LEAR)模型是一种利用L1正则化,即Lasso估计的参数丰富的ARX结构。LEAR基于所谓的full ARX或fARX模型,这是一种具有外生变量的参数丰富的自回归规范,它又受到一般自回归模型的启发,但有一些重要的区别。虽然fARX包括基本面和更丰富的季节性结构,但它并没有对过去进行太深入的研究,而是只关注上周的数据。
为了增强模型,使用面积(或逆)双曲正弦方差稳定变换对数据进行预处理:
其中,x是剔除样本内中位数,除以经与标准差渐近正态一致性因素调整后的绝对偏差中位数,得出的标准价格。为了简单起见,不考虑长期的季度分解。
为了进一步增强模型,我们每天在不同的校准窗口长度(8周、12周、3年和4年)上重新校准模型。我们考虑将短窗口期(8-12周)与长窗口期(3-4年)结合使用,因为经验表明,短窗口期可以获得更好的结果。在这种情况下,我们至少考虑8周,因为更低的窗口可能没有足够的信息来正确估计参数丰富的模型。
用于预测在d天h小时的价格
p
d
,
h
p_{d,h}
pd,h的LEAR模型被定义为:
其中,
θ
h
=
[
θ
h
,
1
,
.
.
.
,
θ
h
,
247
]
T
\bold{θ}_h =[θ_{h,1},...,θ_{h,247}]^T
θh=[θh,1,...,θh,247]T 是小时h的LEAR模型的247个参数。当使用LASSO估计(3)时,这些参数许多变为零:
其中,
R
S
S
=
∑
d
=
8
N
d
(
p
d
,
h
−
p
^
d
,
h
)
2
RSS=\sum_{d=8}^{N_d}(p_{d,h}-\hat{p}_{d,h})^2
RSS=∑d=8Nd(pd,h−p^d,h)2 是残差平方和,
p
^
d
,
h
\hat{p}_{d,h}
p^d,h 是预测价格,其中,
N
d
N_d
Nd是训练数据集中的天数,λ>=0 是 LASSO 的调优(或正则化)超参数。由于LASSO估计的计算速度快,在每天的重新校准中,优化调节L1惩罚的超参数λ。这可以使用事前交叉验证来完成。本研究为了进一步降低计算成本,我们提出了一种高效的混合方法来进行最佳选择。详细信息请参见4.2.2节。
4.2.1. Regularization hyperparameter 正则化超参数
LASSO超参数可以有多种优化方式,每种方式都有不同的优缺点。
- 第一种方法是优化一次,然后在整个测试期间保持固定。虽然它需要非常低的计算成本,但这种方法的局限性在于它假设超参数λ不随时间变化。这种假设可能会阻碍估计器的性能,因为即使市场改变,正则化参数也不会改变。
- 第二种方法是使用验证数据集定期重新校准超参数。该方法虽然取得了较好的结果,但重新校准频率和校准窗口的调整较为复杂,计算成本较大,且结果在不同的数据集之间可能存在差异。
- 第三种选择是定期重新校准超参数,但使用交叉验证(CV, cross-validation)将数据分成不相交的分区,使用每个可能的分区一次作为测试数据集,其余数据作为训练数据集,并选择在所有分区中表现最好的超参数。这种方法虽然精度很高,但计算成本非常大。
- 第四种选择是定期更新超参数,但使用信息标准,例如Akaike信息标准(AIC)或贝叶斯信息标准。与前面一样,这涉及到训练多个LASSO模型来计算每个可能的超参数值的信息标准,这反而又导致了很高的计算成本。
- 最后,可以使用最小角度回归(LARS) LASSO 来估计模型。该估计过程具有计算整个LASSO解路径的优点,从而可以更快地计算信息标准或执行交叉验证。
4.2.2. Selecting the regularization hyperparameter 选择正则化超参数
我们提出了一种混合方法来选择λ。在一个日的基础上,我们使用带有样本内AIC的LARS方法估计超参数。然后,利用LARS方法得到的最优值,利用传统的坐标下降方法对LEAR进行重新标定。提这种混合方法在计算复杂性和准确性之间提供了一个很好的权衡。尤其是,它利用了LARS的计算效率和坐标下降LASSO在短校准窗口上的预测性能来进行扩展的选择。
重要的是要注意,我们已经研究了多种方法来选择λ:(i)每日重新校准,CV,坐标下降;(ii)利用LARS进行的每日再校准CV;(iii)每日用LARS和AIC重新校准。然而,第一种方法的计算成本太高(与DNN模型的成本在同一个数量级),另外两种方法的精度都不太好。相比之下,混合方法的性能与使用CV的坐标下降LASSO相当,但计算成本低了一个数量级。
4.3. The DNN model
第二个模型是深度神经网络DNN,这是最简单的深度学习模型之一,其输入特征和超参数可以针对每个案例研究进行优化和定制,而无需专家知识。深度神经网络是传统多层感知器(MLP)的直接扩展,具有两个隐藏层。
4.3.1. Structure 结构
深度神经网络是一个深度前馈神经网络,包含4层,采用多元框架(单一模型24个输出),使用Adam优化器,其超参数和输入特征使用树式Parzen估计器[119]进行优化,即,贝叶斯优化算法。其结构如图5所示。
4.3.2. Training dataset 训练集
为了估计超参数,训练数据集是固定的,并且包括测试周期之前的四年。为了评估测试数据集,使用四年的校准窗口每天重新校准DNN。为了评估测试数据集,使用四年的校准窗口每天重新校准DNN。
在所有情况下,训练数据集被分为训练集和验证集,验证集有两个目的:执行早期停止以避免过拟合和优化超参数/特征。虽然验证集总是包含42周,但训练和验证集间的分割取决于验证集是用于超参数/特征选择还是用于重校准:
- 对于超参数的估计,由于使用验证数据集来指导优化过程,因此选择验证数据集作为最后42周的训练数据集。这样做是为了保持训练和验证数据集完全独立,避免过拟合。
- 对于测试阶段,由于验证数据集仅用于早期停止,因此它通过从用于训练的208周中随机选择42周来定义。这样做是为了确保用于优化DNN参数的数据集包含最新的数据。
例如,考虑Nord Pool 市场中DNN的训练和评估。在评估深度神经网络之前,对深度神经网络的超参数和特征进行优化。为此,使用的数据集包括2013年1月1日至2016年12月26日之间的数据,其中训练数据集代表前166周,即2013年1月1日至2016年3月7日,验证数据集代表后42周,即2016年3月8日至2016年12月26日。在模型评估期间,即在超参数和特征选择之后,训练和验证数据集包含最近四年的数据,但随机洗牌。例如,为了评估2017年2月15日期间的DNN,训练和验证数据集将代表2013年2月20日至2017年2月14日之间的数据,其中随机选择的166周将定义训练数据集,其余42周将定义验证数据集。
4.3.3. Hyperparameter and feature selection 超参数和特征选择
与最初的DNN论文一样,超参数和输入特征一起使用树结构Parzen估计器进行优化,这是一种基于顺序模型优化的贝叶斯优化算法。为此,将特征建模为超参数,每个超参数代表一个二元变量,该变量选择是否将特定特征包含在模型中。具体而言,为了从241个可用的输入特征中选择哪些是相关的,该方法使用了11个决策变量,即11个超参数:
- 四个二元超参数(1-4),表明是否包括历史前一天的价格: p d − 1 , p d − 2 , p d − 3 , p d − 7 \bold{p}_{d-1},\bold{p}_{d-2},\bold{p}_{d-3},\bold{p}_{d-7} pd−1,pd−2,pd−3,pd−7。选择是每天进行的,例如,算法要么选择 𝑗 天前的所有24小时价格 p d − j \bold{p}_{d-j} pd−j,要么不选择𝑑−𝑗天的任何价格,因此有四个超参数。
- 两个二进制超参数(5-6),指示是否包括每一个日前预测(例如: x d 1 \bold{x}_d^1 xd1和 x d 2 \bold{x}_d^2 xd2)。与过去的价格一样,这是在一整天内完成的,即一个超参数要么选择 x d j \bold{x}_d^j xdj中的所有元素,要么不选择。
- 4个二进制超参数(7 - 10),表示是否包含日前的历史预测值。参数值为: x d − 1 1 \bold{x}_{d-1}^1 xd−11、 x d − 1 2 \bold{x}_{d-1}^2 xd−12、 x d − 7 1 \bold{x}_{d-7}^1 xd−71。这种选择也是每天进行的。
- 一个二元超参数(11),指示是否包含表示星期几的变量 z d z_d zd。
简而言之,10个二进制超参数表示是否包括24个输入,另一个二进制超参数表示是否包括虚拟变量。
除了选择特征外,该算法还优化了八个额外的超参数:(1)每层神经元的数量,(2)激活函数,(3)dropout 率,(4)学习率,(5)是否使用batch normalization,(6)数据预处理技术的类型,(7)DNN权重的初始化,以及(8)应用于每层核的L1正则化系数。
与每天重新校准的深度神经网络的权重不同,超参数和特征只使用测试期前四年的数据优化一次。该算法运行了𝑇次迭代,每次迭代,算法都会推断出超参数/特征的潜在最佳子集,并在验证数据集中评估该子集。对于本研究所提出的公开基准模型,选择𝑇=1500,来获得精度和计算量间的权衡。
4.4. Ensembles 集成
为了评估集成技术,我们还提出了LEAR和DNN的集成作为集成方法的公开基准。对于LEAR,用四个校准窗口长度(8周、12周、3年和4年)的预测的算术平均值来集成。对于深度神经网络,用四个不同深度神经网络的算术平均值来集成,这些深度神经网络通过运行四次超参数/特征选择过程来估计。尤其,超参数优化是渐近确定性的,即,对无限次迭代求出全局最优。然而,对于有限次数的迭代和使用不同的初始随机种子,该算法是不确定的,并且每次运行都会提供一组不同的超参数和特征。尽管这些超参数/特征子集中的每一个都代表一个局部最小值,但不可能确定哪个子集更好,因为它们在验证数据集上的相对性能几乎相同。DNN是一个非常灵活的模型,因此不同的网络架构都能获得同样好的结果。
4.5. Software implementation
LEAR使用scikit-learn库实现,DNN模型使用Keras库实现。
5. Guidelines and best practices in EPF 电价预测指导和最佳实践
正如引言中所提到的,EPF领域面临着一些问题,这些问题妨碍了可重复性研究。本节概述了其中的一些问题,并提供了一些问题的指导方针。
5.1. Length of the test period 测试周期的长度
EPF的一个常见做法是在很短的测试周期内评估新方法。典型的方法是对4周的数据进行评估,每一周代表一年中的一个季度。这是有问题的,原因有三:
- 选择四周可能会导致选择特定方法表现出色的周,例如,在峰值表现不佳的方法可能在峰值较少的一周内进行评估,从而导致对预测准确性的有偏差估计。虽然大多数研究人员会避免该问题,但将四周的测试周期作为标准确实会导致不当行为,应该避免。
- 假设这四周是随机选择的,并且在选择中没有引入偏差,无法保证这四周代表全年的价格行为。特别是,即使在一个特定的季节,价格动态也会发生巨大变化,例如在冬季,有几周阳光充足,风大,但也有几周没有阳光。因此,在给定的数据集中,每个季节只选择一周也难以代表预测的平均表现。
- 电网中有些不经常发生的情况,但会对电价造成很大影响,例如,当几个发电厂同时进行维护。需要在这些条件下评估预测方法,以确保它们在极端事件下也是准确的。如果选择四个星期,这些影响大多数都被忽略了。
为了避免这个问题,我们建议使用至少一年的测试期。这确保在评估预测方法时考虑到全年的全部影响。为了保证所有研究人员都能访问这类数据,我们提出的公开基准数据集包含了来自多个市场的数据,并采用了两年的测试期。此外,可以使用epftoolbox库直接访问公开基准。
5.2. Benchmark models
我们已经提供了一个公开的基准数据集,包括5个市场(如第3节所述),我们已经实施、彻底测试并免费提供了 sota 的预测方法(如第4节所述)及其对所有5个数据集在两年期间的前一天预测(如第6节所述)。
5.3. Open-access
EPF领域的第三个问题是,数据集通常不公开,方法的代码也不共享。这带来了四个明显的问题:
- 由于没有数据,研究无法复制。这违背了科学的一个主要原则:所有的研究都应该是可重复的。
- EPF研究的进展受到阻碍,因为很难确定哪种方法有效,研究人员花费不必要的时间重新评估已经评估过的方法。
- 将新方法难以与已发表的方法进行比较,因为研究人员必须重新实现文献中的方法。因此,通常避免与sota方法进行比较,并且通常将新方法与简单且易于实现的方法进行比较。
由于这些问题至关重要,我们直接通过提供一个公开基准/工具箱来解决这些问题,该工具箱包括五个数据集和两种sota方法,以及后两种方法的一组日前预测。此外,我们鼓励EPF的研究人员共享开发代码和数据集,或者使用公开的基准数据集。
5.4. Evaluation metrics for point forecasts 节点预测的评估指标
在EPF领域,最常用的衡量点预测准确性的指标是平均绝对误差(mean absolute error:MAE)、均方根误差(root mean square error :RMSE)和平均绝对百分比误差(mean absolute percentage error:MAPE):
其中
p
d
,
h
p_{d,h}
pd,h和
p
^
d
,
h
\hat{p}_{d,h}
p^d,h分别表示 d 天和 h 小时的真实价格和预测价格,
N
d
N_d
Nd表示样本外测试周期的天数,即测试数据集中的周期天数。
由于绝对误差很难在不同的数据集之间进行比较,MAE和RMSE并不总是有用。此外,由于电力成本和利润往往线性依赖于电价,因此基于二次误差的指标(例如均方根误差RMSE)难以解释,不能准确地代表大多数预测用户的潜在问题。特别是,在大多数电力交易应用中,潜在的风险、利润、成本与价格和预测误差呈线性关系。因此,线性度量比二次度量能更好代表预测错误的潜在风险。
同样,由于MAPE值在价格接近于零时变得非常大(不管实际的绝对误差如何),MAPE通常由低价格时期主导,并且也不是很有用。对称平均绝对百分比误差(symmetric mean absolute percentage error :sMAPE)定义为:
解决了其中的一些问题,它具有(任何基于百分比误差的度量)未定义的平均值和无限方差的统计分布。
5.4.1. Scaled errors
在这种情况下,一些研究主张使用 scaled errors,scaled errors 是由朴素预测的样本内MAE缩放的MAE。如果 scaled errors 比样本内评估的平均朴素预测好/差,那么它可以很好地解释为小于/大于1。
基于这一概念的度量是平均绝对缩放误差(mean absolute scaled error:MASE),在一步预测的背景下定义为:
其中 p i i n p_i^{in} piin 是样本内,即训练数据集的 i t h i^{th} ith 价格(注意EPF中 i=24d+h), p i − 1 i n p_{i-1}^{in} pi−1in 是 p i i n p_{i}^{in} piin 的前一步预测,即 p ^ i i n \hat{p}_i^{in} p^iin。N是样本外(测试)数据点的个数,𝑛是样本内(训练)数据点的个数。对于季节时间序列,MASE可以用在分母中的季度朴素模型的MAE来定义。
5.4.2. Relative measures
虽然 scaled error 确实解决了更传统指标的问题,但它们有其他相关问题使其不适合EPF:
- 由于MASE依赖于样本内数据集,具有不同校准窗口的预测方法必须考虑不同的样本内数据集。因此,每个模型的MASE将基于不同的比例因子,并且无法进行模型间的比较。
- 同样的论点也适用于有或没有滑动窗口的模型。后者在每个时间点使用不同的样本内数据集,而前者将保持样本内数据集不变。
- 在具有不同校准窗口的模型集成中,由于集成的校准窗口未定义,因此无法定义MASE。
- 电价不是平稳的,因此在不同的时间序列中进行比较会产生错误。例如,有峰值的样本内数据集和无峰值的样本外数据集将导致比考虑相同市场,但无峰值的样本内数据集和有峰值的样本外数据集更小的MASE。
为了解决这些问题,我们认为一个更好的评估指标是 relative MAE (rMAE)。与MASE类似,它通过初始预测的MAE将误差归一化。然而,native 预测并不考虑样本内数据集,而是基于样本外数据集构建的。对于每小时的日前电价,rMAE定义为:
1
24
N
d
\frac{1}{24N_d}
24Nd1在分子和分母上约掉了。对于 native 预测,有三种自然选择:
在EPF范围内,使用
p
^
d
,
h
n
a
t
i
v
e
,
2
\hat{p}_{d,h}^{native,2}
p^d,hnative,2的rMAE可以说是最好的选择,原因有两个:(1)它比基于
p
^
d
,
h
n
a
t
i
v
e
,
3
\hat{p}_{d,h}^{native,3}
p^d,hnative,3的rMAE更容易计算,而且,与基于
p
^
d
,
h
n
a
t
i
v
e
,
1
\hat{p}_{d,h}^{native,1}
p^d,hnative,1的rMAE不同,它捕获了周效应;(2)给定一组预测模型,模型准确性的排序独立于所使用的 native 基准。因此,在本文的其余部分中,我们将使用rMAE来显式地引用基于
p
^
d
,
h
n
a
t
i
v
e
,
2
\hat{p}_{d,h}^{native,2}
p^d,hnative,2的rMAE。值得注意的是,与rMAE类似,也可以通过将每个预测的RMSE除以 native 预测的RMSE来定义 relative RMSE (rRMSE)。
由于删除了对样本内数据集的依赖,样本外数据集保持不变,因此使用滑动窗口不再是问题。同样,可以比较具有不同校准窗口的模型,并适当地定义集成rMAE。此外,由于评估指标被同一样本的 native 预测的MAE归一化,因此缓解了在非平稳时间序列中得出结论的问题。
公开基准数据集中公开模型的准确性是考虑rMAE、sMAPE、MAPE、MAE和RMSE来计算的。然后,提供了对不同指标的分析(参见第6.4.2节)。最后,预测本身以csv文件的形式提供,以便在将来开发更充分的度量标准时可以更新准确性结果。
最后,给定一组预测模型,模型精度的相对排序独立于用于rMAE或MASE的 native 基准。改变native 基准只改变分母不改变分子,由于分母的变化在所有方法中都是相同的,因此保留了相对排序。此外,由于分子是MAE,因此基于rMAE或MASE的排序与基于MAE的排序相同。
5.5. Statistical testing 统计测试
虽然使用适当的度量来比较预测的准确性很重要,但也有必要分析准确性的差异是否具有统计意义。大多研究只比较误差度量方面的准确性,而不分析准确性差异的统计显著性。因此,新的研究需要确保:
- 任何新方法都要通过统计检验与已有的方法进行比较。
- 所提方法的预测结果以公开数据集的形式提供。这确保了在提出新模型时,可以根据统计检验来分析与已有方法的准确性差异。
为了便于统计测试,我们在开源epftoolbox库中包含了EPF中使用最广泛的两个统计测试,即Diebold-Mariano和Giacomini-White测试。
5.5.1. The Diebold–Mariano test
Diebold-Mariano (DM)检验可能是评估预测准确性差异显著性最常用的工具。假设的一个渐近z-test 是损失微分级数的均值:
是0,
ε
d
,
h
Z
=
p
d
,
h
−
p
^
d
,
h
ε_{d,h}^Z = p_{d,h} - \hat{p}_{d,h}
εd,hZ=pd,h−p^d,h 是模型 Z 对于天 d 小时 h 的预测误差,L(.) 是损失函数。对于节点预测,通常采用
L
(
ε
d
,
h
Z
)
=
∣
ε
d
,
h
Z
∣
p
L(ε_{d,h}^Z) = |ε_{d,h}^Z|^p
L(εd,hZ)=∣εd,hZ∣p,其中 p = 1 or 2,分别对应于绝对损失和平方损失;对于概率预测,𝐿(⋅)可以是任何严格合适的评分规则,特别是 pinball 损失、连续排序概率评分(continuous ranked probability score: CRPS) 或 energy score。给定损失微分级数,我们计算统计量:
其中,
μ
^
、
σ
^
\hat{μ}、\hat{σ}
μ^、σ^ 是
Δ
d
,
h
A
,
B
Δ^{A,B}_{d,h}
Δd,hA,B 的均值和标准差,N是样本外测试周期的长度。在
Δ
d
,
h
A
,
B
Δ^{A,B}_{d,h}
Δd,hA,B 的协方差平稳假设下,DM统计量为渐近标准正态,单侧或双侧渐近尾概率易于计算。
有三点值得注意。首先,DM检验是模型无关的,即它比较(模型的)预测,而不是模型本身。其次,虽然在标准公式中,DM检验通过期望损失差为零的假设来比较预测,但计算两个单侧检验的𝑝-values更能提供信息:
𝑝-value越低,即越接近于零,则观测到的数据与具有null假设的越不一致。如果𝑝-value小于5%,则 null 假设通常被拒绝。在DM检验中,这意味着B模型的预测明显比A模型的预测更准确。
第三,DM检验(仅)要求loss微分是协方差平稳的。这可能不能通过日前市场的预测来满足,因为对第二天所有24小时的预测是在同一时间使用相同的信息集计算的。因此,我们建议在日前EPF的情况下采用两种DM测试:
- 一个进行了24项独立测试的单变量,一天中每小时一个,以及基于一个模型的预测明显优于另一个模型预测的小时数的比较,即 null 假设被拒绝的小时数,
- 一个多变量变量,使用“每日”或多变量损失微分序列在所有小时内联合进行测试:
其中, ε d Z ε_d^Z εdZ 是模型Z对于天 d 的预测误差的 24 维变量, ∣ ∣ ε d Z ∣ ∣ p = ( ∑ h = 1 24 ∣ ε d , h Z ∣ p ) 1 / p ||ε_d^Z||_p = (\sum_{h=1}^{24}|ε_{d,h}^Z|^p)^{1/p} ∣∣εdZ∣∣p=(∑h=124∣εd,hZ∣p)1/p 是 p =1 or 2的向量的𝑝th范数。
该测试的单变量版本能够更深入分析,因为它表明哪种预测在一天中的哪个小时明显更好。多变量版本可以更好地表示结果,因为它将比较总结在一个p-value中,可以方便地使用像棋盘一样排列的热图进行可视化,如图6所示。
5.5.2. The Giacomini–White test
在最近的EPF研究中,DM测试已被具有条件预测能力的Giacomini-White (GW)测试所取代。GW测试可以看作是无条件预测能力DM检验的推广:虽然这两种测试都可以用于嵌套模型和非嵌套模型,但只有GW测试通过“条件反射”来解释参数估计的不确定性。
与DM测试一样,GW测试在日前EPF中也有两个变量-单变量和多变量。在不损失泛化性的前提下,GW首先为(模型A和B)的一对预测建立一个多变量损失微分序列,参见(13)。接下来,测试考虑以下回归:
其中,
X
d
−
1
X_{d-1}
Xd−1包含日期𝑑−1中的元素,即一个常数和 lags of
Δ
d
A
,
B
Δ^{A,B}_{d}
ΔdA,B。注意,
ϵ
d
≠
ε
d
Z
ϵ_d \neq ε_d^Z
ϵd=εdZ,即,
ϵ
d
ϵ_d
ϵd 不是模型 Z对天 d 的预测误差的 24维向量,而只是回归中的一个误差项。还要注意,使用这种表示法,DM测试可以写成:
其中
X
d
−
1
X_{d−1}
Xd−1只包含一个常数。最后,与DM检验一样,为了检验预测准确率差异的显著性,可以计算两个单侧检验的𝑝-values。
5.6. Recalibration 校准
许多EPF研究的一个问题是,预测模型没有重新校准。它们通常使用训练数据集进行一次估计,然后直接在整个测试数据集上进行评估。这是有问题的,因为它不能代表实际情况,在这种情况下,预测模型(通常是每天)被重新训练,以解释最新的市场信息。
为了在现实条件下评估模型,需要考虑到新的市场信息流,对模型进行再训练。例如,对于日前市场,预测模型应该在每天有新信息可用时重新训练。考虑到一年的测试周期,这意味着一个实际评估需要估计预测模型365次。
5.7. Ex-ante hyperparameter optimization 事前超参数优化
当前EPF中的一个常见问题是,超参数选择通常是事后完成的,或者其细节没有得到充分解释。例如,当提出基于神经网络的模型时,通常不提供如何选择神经元数量的细节。在其他情况下,通常基于使用测试数据集分析神经元的不同配置并选择最有效的神经元,即事后超参数选择。未提供如何选择超参数阻碍了研究的再现。同样,事后执行超参数优化会导致测试数据集过拟合。
为了防止这种情况,应该明确地解释超参数的选择,并且总是在使用验证集之前执行。基于这一动机,对于所提出的公开方法,我们不仅解释了如何获得超参数,而且还提供了超参数选择模块和包含当前研究超参数优化结果的文件。
5.8. Computation time 计算时间
一个更常见的问题是,很少比较新模型的计算需求。尽管一个模型可能比另一个稍微好一点,但是可能它的计算需求更大。更高的计算需求可能会带来两个问题:
- 如前所述,理想情况下,预测模型应该每天重新校准。因此,一种预测方法只有在其计算时间允许进行重新校准时才适用。在这种情况下,估计模型的最大可用时间将取决于每个电力市场,但是,根据经验,任何需要超过30分钟或1小时的模型都不太可能适合预测现货市场的价格。
- 除了重新校准,计算时间的第二个问题是它所需要的硬件成本。
因此,提出新的预测模型也有必要提供计算时间。此外对于一个比现有方法更好的模型,它不一定是最准确的:
- 如果它的计算时间很大,即以分钟为数量级,那么该模型确实应该比所有 sota 模型(例如DNN)更准确。
- 如果它的计算时间很小,即在秒的数量级,则该模型应该比计算要求较低的sota 模型(例如LEAR)更准确。
本文分析了所提出的模型的计算需求,以便其他研究人员可以轻松地进行此类比较。
5.9. Reproducibility 可再现性
另一个问题是一些研究缺乏足够的细节来复制研究。每个研究都有不同的细节缺失,但最常见的四个是:
- 没有定义用于测试和评估的数据集。
- 没有定义用于训练的数据集。
- 模型的输入不清晰。
- 超参数的选择不清晰。
EPF中另一个反复出现的问题是数据污染,当训练数据集的一部分用于测试时就会出现数据污染。特别是,在处理时间序列数据时,测试数据集应始终包含数据集的最后一部分,以避免数据污染。如果不这样做,模型可能会过度拟合测试数据集,从而高估其准确性。
尽管正确区分训练/验证数据集和测试数据集很重要,但EPF中的一些研究:
- 没有指定训练、验证和测试数据集之间的分割。如果没有指定数据集,就不可能知道是否发生了数据污染。
- 从完整数据集中随机抽取测试数据集,例如,在包含一年数据的数据集中,随机选择4周用于测试,其余数据用于训练。
- 在训练/验证数据集和测试数据集之间有部分或全部重叠,例如,通过事后执行超参数优化。
为了纠正这个问题,EPF的任何未来研究都必须确保:(1)正确描述数据集间的分割;(2)测试数据集不会与训练或验证数据集重叠;(3)始终选择测试数据集作为完整数据集的最后一段。
5.11. Software toolboxes
略
5.12. Combining forecasts 结合预测
一般来说,结合不同的模型提高精度。然而,由于即使是算术平均值也能提高单个模型的准确性,因此应该将新的集成技术与其他集成技术进行比较研究。
为了最大限度地提高预测精度,重要的是采用多样化的预测,例如使用不同的数据或不同的模型生成的预测。对于EPF,前者可以通过考虑使用不同校准窗口长度训练的模型来实现,后者使用不同的建模技术或不同的超参数集来实现。为了进一步最大化性能,应该限制集成中使用的模型数量,例如4-10个,特别是在重尾数据的情况下,大集成往往包含更频繁的异常值,导致预测精度降低。
考虑到这一点,我们还提出了一系列简单的集成技术。特别是,如第4节所述,我们提供了四个LEAR模型的集合,这些模型是在不同的校准窗口上估计的,并使用简单的算术平均进行组合,另一个集合使用四个dnn对不同的超参数进行估计并使用算术平均进行组合。
6. Evaluation of state-of-the-art methods 最先进模型的评估
6.1. Accuracy metrics 精度指标
我们首先从准确性度量的角度展示开源模型的结果。
6.1.1. Individual models 单独的模型
表2比较了两个单独模型的性能及其在rMAE、MAE、MAPE、SMAPE和RMSE的4个变化。LEAR模型显示4个不同的校准窗口,分别代表56、84、1092和1456天,即8周、12周、3年和4年。四个DNN通过执行四次超参数/特征优化过程并使用每次运行的最佳超参数/特征选择获得(详细信息请参见第4.4节和4.3.3节)。
- MAPE似乎不可靠,因为它与其他三个线性度量和二次度量完全不一致。这种不可靠性在德国市场可以进一步看出:虽然MAPE和sMAPE指标通常具有相似的数量级,但在德国市场,MAPE大约是10倍。这种影响是由于德国的价格为负且非常接近于0,从而导致非常大的绝对百分比误差,从而使MAPE产生偏差。
- DNN模型似乎比LEAR模型更准确。就线性参数而言,五个市场的最佳模型是DNN。此外,大多数DNN模型的性能优于四种LEAR模型。
- 虽然RMSE的结果略有不同,但这是因为度量是基于二次误差而不是线性误差。尽管如此,它仍然表现出DNN模型的优越性:尽管DNN是通过最小化绝对误差来估计的(与LEAR不同),但DNN在5个数据集中的3个中表现更好。此外,尽管DNN在两个市场中似乎更差,但RMSE指标并不能正确地表示潜在的问题(参见第5.4节和6.4.1节),并且可以认为它不是评估EPF模型性能的最佳指标。
6.1.2. Ensembles 集成
表3列出了集成方法的结果,比较了两种集成模型与最佳DNN和LEAR模型在rMAE度量方面的性能,rMAE度量可以说是最可靠的度量。从表中可以得出几点观察结果。
- 如5.12节所述,组合模型通常可以提高准确性。特别是,对于所有五个市场和所有指标,DNN的集成优于最佳的单个DNN模型。同样,对于所有市场和可靠指标,LEAR模型的集成优于最佳的单个LEAR模型。例外是MAPE和RMSE指标,但是,MAPE是一个不可靠的指标,RMSE不能正确地代表EPF的潜在问题。
- 如前所述,就rMAE而言,DNN的集成是所有市场中最准确的模型,这似乎再次表明DNN模型比LEAR模型更准确。
6.2. Statistical testing
本节从统计测试的角度给出了公开基准模型的结果。结果基于(13)中L1范数的多元GW检验,即损失微分序列:
图6展示了这五个市场的结果。更准确地说,使用像棋盘一样排列的热图来指示得到的p-values的范围。它们越接近零(深绿色),模型在X轴上的预测(较好)和模型在Y轴上的预测(较差)之间的差异就越显著。例如,对于EPEX-DE市场,第一行是绿色的,表明
L
E
A
R
56
LEAR_{56}
LEAR56的预测明显优于所有其他模型的预测。我们可以观察到:
- 对于所有市场,最后一列是绿色的,表明dnn集合的预测在统计上明显优于所有其他模型对所有5个数据集的预测。唯一的例外是LEAR集合和NP市场,在这种情况下,预测精度的差异在统计上并不显著。
- L E A R e n s LEAR_{ens} LEARens的预测结果在统计上明显优于所有单独的LEAR模型。表明集成模型能提高精度。
- 在两个数据集(EPEX-BE和EPEX-DE)中,所有单个DNN方法的预测结果在统计学上都明显优于单个LEAR模型。在EPEX-FR数据集中,所有单个DNN方法的预测结果在统计上显著优于4个单个LEAR模型中的3个。对于PJM,有2个DNN模型的预测在统计上明显优于所有LEAR模型。
- 除了NP数据集的 D N N 2 DNN_2 DNN2模型表现不佳外,单个LEAR模型的预测未明显优于单个DNN模型。总的来说,基于DNN的预测更有可能获得更好的结果。
6.3. Computation time 计算时间
如5.8节所述,除了比较预测精度外,还需要分析各种预测方法的计算时间。表4列出了估算模型所需计算时间的比较,即每天重新校准每个模型所需的时间。由于计算时间是不确定的,所以它的值是一个范围。这些数据是使用普通笔记本电脑的四核CPU,即i7-6920HQ获得的。
可以看出,虽然LEAR模型的性能略差于DNN模型,但其计算时间却缩短了30 ~ 100倍;特别是考虑到两种方法的最大计算时间,LEAR模型要快50倍。
6.4. Discussion and remarks
6.4.1. Absolute vs. squared errors
在本文中,我们主要考虑基于绝对/线性误差的精度指标,即评估预测分布中位数准确性的指标。由于LEAR模型是通过最小化平方误差来估计的,因此可以预测平均值,有人可能认为应该首选基于平方误差的度量/检验。虽然这种观点有一定的优点,但我们关注绝对参数有三个原因:
- 用于评估准确性的指标应该能够更好地表示潜在问题。在EPF中,由于购买电的成本是线性的,线性度量可以说是量化与预测错误相关的风险的最佳方法。
- 虽然我们提供了RMSE结果,但它们在质量上与MAE/rMAE相同。因此,由于绝对误差更好地代表了EPF的潜在问题,并且结果是相似的,由于篇幅限制,这里不详细分析RMSE结果。
- 虽然LEAR模型确实是使用平方误差来估计的,但这在一定程度上是因为LASSO的有效估计技术,如坐标下降,是基于平方误差的。这使得LEAR模型比DNN具有计算优势。另一种选择是使用正则化分位数回归,然而,这会增加计算负担,而且对MAE/rMAE的准确性几乎没有好处。
6.4.2. Metrics 指标
获得的结果验证了第5.4节中关于准确性指标提出的一般指导原则:EPF研究应避免使用MAPE,仅将sMAPE或RMSE等指标与任何版本的rMAE结合使用。特别是,结果验证了以下四个说法:
- MAE和rMAE一样可靠。然而,由于误差不是相对的,因此不可能在数据集之间进行比较,因此首选rMAE。
- sMAPE比MAPE更可靠,且符合MAE/rMAE。然而,它有一个未定义的均值和无限方差的问题。因此,它的可靠性不如rMAE。
- MAPE不是一个可靠的度量,因为它过于重视接近于零的数据点。因此,使用MAPE可能导致误导性的结果和错误的结论。
- RMSE比MAPE更可靠,但它不能正确地代表EPF的潜在风险。因此,它不应该单独用于评估预测模型。
6.4.3. Performance of open-access models 开源模型的性能
6.1-6.3节的比较可以得出:基于深度学习的模型更有可能优于基于统计方法的模型。在DL集成模型中尤其如此,因为集成dnn获得的结果在统计上明显优于其他模型。
然而,虽然深度神经网络精度优于LEAR模型,但LEAR具有低复杂性和低计算成本。特别是,它们的性能非常接近dnn,但具有计算成本低100倍的优势。因此,当决策必须在几秒钟内完成时,LEAR是最佳选择。
简而言之,EPF的新模型应该根据可用的决策时间,要么与LEAR模型比较,要么与DNN进行比较。sota方法应该比DNN模型更准确,或者比LEAR更准确,但具有相似或更低的计算要求。
7. Checklist to ensure adequate EPF research 确保EPF研究充分的核对表
我们提供了一份简短的清单,以评估EPF中的新研究是否满足可重复性和得出有意义的结论的要求:
- 测试数据集包含至少一年的数据。
- 任何新模型都要针对最先进的开源模型进行测试,例如这里提供的模型。
- 对新方法的计算成本进行评估,并与现有方法的计算成本进行比较。
- 所使用的数据集是开源的。
- 这项研究基于多个市场。
- rMAE是评价预测精度的精度指标之一。
- 统计检验用于评估性能差异是否显著。
- 预测模型每天都要重新校准,而不是简单地估计一次,然后在完整的样本外数据集中进行评估。
- 使用不同于测试数据集的验证数据集估计超参数。
- 明确地说明了数据集的分割和日期。
- 显式定义模型的所有输入。
- 测试数据集被选为完整数据集的最后一部分,并且不包含任何与训练或验证数据集重叠的数据。
- 最先进的免费工具箱用于对基准模型进行建模。
8. Conclusion
本文提出了一套电价预测(EPF)研究的最佳实践。我们分析了影响研究质量的不同因素,例如数据集大小或准确性指标,并提出了解决方案,以确保研究是充分的、可重复的和有用的。
此外,我们提出了一个公开数据集,包括5个不同市场6年来的最新数据。为了方便未来的研究,我们开发了一个名为epftoolbox的开源python库,它可以方便地访问这些数据集。
同样,由于EPF中的新方法通常无法与成熟的方法进行比较,我们提出了几个基于统计方法和深度学习的最先进的开源模型。
我们已经表明,深度神经网络更有可能优于LEAR方法,但后者的计算成本更低。此外,我们还表明,集成方法通常比单独的方法获得更好的结果。