第13章 高级和附加主题
本章将简要介绍一系列超出本书主要目标范围的更高级主题。附录D中的进一步阅读部分将提供一些其他文本的参考,这些文本将更深入地探讨其中一些主题。
13.1 组合预测
在第10.3.2节中,展示了通过组合多个较弱的模型可以产生更强大、更准确的模型。这一原理可以扩展到任何预测模型的选择,即使是那些被认为相当不准确的模型。例如,可以对线性回归模型、ARIMAX模型和随机森林模型的输出取平均值,以生成新的预测。每个单独的模型都有其自身的优点和缺点。通过组合它们,其理念是平衡不同模型的缺点,从而产生整体更准确的模型。尽管这看起来可能令人惊讶(可以推理认为误差会累积),但组合模型已被一次又一次地证明是一种简单而有效的方法,可以产生比任何单个模型都更准确的预测。
理想情况下,目标应该是组合尽可能不同的模型,以捕捉预测的不同特征(例如,具有自回归分量的模型与具有较少自回归分量的模型)。可以通过具有不同假设的模型(例如,结合机器学习和统计模型)、具有不同特征的模型(例如,结合使用天气信息和不使用天气信息的模型)或不同数据(例如,在可用数据的不同部分上训练的模型)来实现差异。
即使多样性有限,组合后的预测也常常有所改进。此外,甚至保留组合中最不准确的模型也可能有益,因为它们可能模拟系统中其他更准确模型可能不模拟的不同特征。例如,一个模型可能更好地捕捉天气特征,另一个模型捕捉一天中的时段效应,另一个模型可能更好地估计需求峰值。时间序列预测竞赛M竞赛一直表明,即使与高性能的单一方法相比,一些最准确的模型也是那些结合了传统机器学习算法和统计模型的模型。
组合预测的最佳方法仍然是一个活跃的研究领域,但下面介绍了一些简单的方法,用于点预测和概率预测的组合。
有多种不同的方法可以组合不同的点预测模型$f_1, f_2, \ldots , f_n$,但最简单和最流行的方法之一是取线性加权平均值
$$\begin{aligned} \hat{f}(x) = \sum _{i=1}^n w_i f_i(x). \end{aligned}\tag{13.1}$$
其中$\sum _{i=1}^n w_i=1$。除非有充分理由,否则通常一个好的初始组合预测是使用等权重,即$w_i = \frac{1}{n}$对于$i=1,\ldots,n$。然而,如果有足够的数据来测试不同的组合,并且/或者有充分证据表明某个特定预测平均而言可能比其他预测更准确,那么训练或创建针对最准确预测定制的权重可能是值得的。可以通过在验证集上测试一系列值来找到最优权重,但这对于较大的方法集变得更加复杂,并且需要足够的数据来正确训练和验证权重。或者,可以使用模型的准确性(例如,通过RMSE评估)来为不同的预测分配相对权重,更准确的预测获得更高的权重。附录D.2的进一步阅读部分列出了一些其他方法。
与点预测一样,单个概率预测也可以组合在一起。越来越多的证据表明,这些组合预测优于单个方法。这个主题是一个非常活跃的研究领域(例如,见[1]),因此大部分内容超出了本书的范围,但有一些简单易用的技术在某些情况下已被证明是有效的。
类似于上述点预测的加权平均方法,可以通过对各方法的相同分位数取平均来应用于分位数预测。例如,考虑同一分位数 $\tau,$ 的预测模型 $f_{1}^{\tau},f_{2}^{\tau},\ldots,f_{n}^{\tau}$,则生成如下组合分位数预测:
$$\begin{aligned} \hat{f}^{\tau } = \sum _{i=1}^n w_i f_i^{\tau }, \end{aligned}\tag{13.2}$$
每个分位数应使用相同的权重,这些权重通过交叉验证最小化概率评分函数(如CRPS)得到(见第7章)。与点预测模型组合一样,权重之和应为1。
有关组合预测的更多文献见附录D。
13.2 分层预测
电网天然具有分层结构,因为传统上电力从发电端传输到网络的较低层级。随着风力涡轮机和太阳能光伏电站等分布式电源的增多,网络变得更加复杂。
供需匹配必须在全网层面实现,而非仅仅在总聚合层面。分层预测指的是在层级结构的不同层次生成预测。如图13.1所示。在负荷预测中,这可以包括预测单个家庭的需求、二级或一级变电站的聚合需求,以及国家层面的需求。当然,你也可以包括所有中间层次。
分层预测的一个有用性质是确保其一致性。换言之,较低层次的预测的加总之和等于聚合层次的预测。这有助于预测或协调不同层次上的多个应用(例如电池等灵活性服务)。
注意,较低层次监测到的需求加总不太可能与较高层次的需求匹配,因为并非所有负荷都被监测(例如路灯等公共设施)。此外,网络上经常发生切换,需求被重新路由到其他网络。变电站的切换如图13.2所示。当出现临时故障等情况时,邻近网络的需求可被重新路由到另一个变电站。因此,网络的需求可能发生行为机制转移(见13.6节)。最后,网络上存在电气损耗,因为配电过程中会损失一部分能量。这是变电站需求加总不能与下游连接负荷加总匹配的另一个原因。推而广之,变电站需求的预测也不太可能与各个负荷的预测加总匹配(即使在完美预测这种几乎不可能的情况下!)。
为简化后续讨论,假设没有切换、损耗极小,并且我们恰好能获取连接到变电站的所有主要下游负荷的数据。更精确地说,设 $D_t$ 为时间 t 时变电站的需求,${L}_{t}^{(k)}$ 为同一时刻来自连接 $k\in\{1,\ldots,K\}$ 的下游负荷。在这种情况下,以下关系成立:
$$\begin{aligned} D_t = \sum _{k=1}^K L^{(k)}_t. \end{aligned}\tag{13.3}$$

现在假设对每个时间序列都生成了预测,我们用帽子符号表示,例如 $\hat{D}_t$ 是时间 t 时变电站需求的预测估计值,同样 $\hat{L}^{(k)}_t$。由于预测误差和偏差,预测值不太可能匹配,即以下关系不成立:
$$\begin{aligned} \hat{D}_t \ne \sum _{k=1}^K \hat{L}^{(k)}_t. \end{aligned}\tag{13.4}$$

生成一致预测的一种简单方法是只对下游层级 $\hat{L}^{(k)}_t$ 进行预测,并通过聚合来估计其他层级。这种方法的问题在于,聚合预测的准确度可能不如直接对 $D_t$ 的预测。这是因为较低聚合序列的波动性更大,因此更难准确预测。此外,如果下游预测中的误差相关,则在聚合时可能会累积。另一种方法是对变电站进行预测,然后在较低层级拆分需求。然而,考虑到下游需求的复杂行为,这些预测可能不准确,因为如何分解需求并不明确,特别是当需求随一天中的时间、一年中的时间以及特殊日子(圣诞节、新年等)而变化时。
事实上,设 $\hat{\textbf{L}}_t =(\hat{D_t}, \hat{L}^{(1)}_t, \ldots , \hat{L}^{(K)}_t)^T$ 为层级结构中每个时间序列的预测向量。一致预测 $\tilde{\textbf{L}}_t$ 可以一般性地写为
$$\begin{aligned} \tilde{\textbf{L}}_t = \textbf{S} \textbf{G} \hat{\textbf{L}}_t \end{aligned}\tag{13.5}$$
其中 $\textbf{S} \in \mathbb {R}^{5 \times 4}$ 是求和矩阵,它将较低层级累加到层级的较高层级,而 $\textbf{G} \in \mathbb {R}^{4\times 5}$ 对于 $M>0$ 是一个将预测映射到层级底层的矩阵,取决于所采用的方法。
在简单一致方法的特殊情况下,即简单地对最低层级预测求和,这给出矩阵
$$\mathbf{S}=\left[\begin{array}{cccc}1&1&1&1\\1&0&0&0\\0&1&0&0\\0&0&1&0\\0&0&0&1\end{array}\right]$$
和
$$\mathbf{G}=\left[\begin{array}{ccccc}0&1&0&0&0\\0&0&1&0&0\\0&0&0&1&0\\0&0&0&0&1\end{array}\right]$$
G 驱动着不同的方法,但手动选择很可能不是最优的,即不能产生最准确的一组一致预测。定义最优有多种方式,但作者在文献[2]中给出了一种方法,它最小化预测的总方差。细节超出了本书的范围(完整细节请参见[2]或[3]),但最终选择由下式给出
$$\begin{aligned} \textbf{G} = (\textbf{S}^T\textbf{W}^{-1}\textbf{S})^{-1}\textbf{S}^T\textbf{W}^{-1}, \end{aligned}\tag{13.6}$$
其中 $\mathbf{W}=\mathbb{V}ar(\hat{\mathbf{L}}_{t}-\mathbf{L}_{t})$ 是基准预测误差的协方差。
这个例子只展示了层级结构中的一层,但当然可以扩展到多层。例如,在配电网中,最底层可以是居民智能电表,它们聚合成二次变电站,若干二次变电站再聚合成一次变电站(见图13.1)。
一致性也可以应用于概率预测,但这要复杂得多,超出了本书的范围。该领域引起了广泛兴趣,预计会有更多新颖的结果出现。关于此主题的进一步阅读材料见附录D.2。
13.3 家庭层级预测
家庭层级(或仅少量家庭的聚合)的预测具有特定的特征和挑战。本节重点讨论衡量家庭数据点预测误差的具体问题。
独特的问题产生于该层级的数据特别尖峰,因此对住户内部的微小变化非常敏感。为了说明这一点,考虑一个独居家庭,每个工作日,住户大致在同一时间起床、离开和回家。当住户回家时,他们会打开各种电器、灯、暖气、电视、炉灶等。尽管周与周之间常有相似之处,但仍然存在显著的不规则性。图13.3显示了一个真实家庭连续三个星期一的每日需求叠加图。这个例子显示了波动性,尤其是在晚上(实际上该需求比其他许多家庭要规律得多,并突显了此类需求可能多么不规则)。

由于行为的自然变化以及其他意外事件,即使是日常行为最规律的消费者,其用电需求曲线也可能发生变化。例如,早晨意外的交通拥堵或闹钟未响会导致住户上班迟到。进而,晚到可能意味着住户决定加班,从而比平时更晚回家。图13.4展示了这样一个曲线示例,其中原始的“典型”曲线发生了轻微偏移。
这种独特特征通常不会出现在超过10户家庭的聚合数据中。个体需求及其不规则性会被平滑掉,数据不再尖峰(如图1.2第1.2节所示)。这种关系在第14.2节的案例研究中得到强调,该研究展示了聚合规模(馈线规模对应更多家庭)与相对误差之间的幂律关系(图14.8)。该缩放规律表明,与更高聚合层相比,低聚合层的准确预测变得越来越困难。
家庭级预测的“尖峰性”也在衡量家庭级预测误差时产生了特定问题。考虑比较图13.5所示的两种预测。一种预测是简单的平坦预测(例如,从实际日需求中取半小时平均需求得到),第二种预测是对实际值进行简单平移(这可以视为季节持久性预测(第9.1节),其中需求曲线相对规律但存在小幅偏移)。第二种预测主观上相当不错,且可能有使用价值。它正确估计了峰值幅度,仅与峰值时间略有偏移。对于像削峰储能控制(第15.1节)这样的应用,第二种预测有助于确定储能设备的适当充电计划,因为尽管时间有所调整,但峰值被正确预测。这意味着电池可以充满电,并在峰值最终出现时准备放电(当然,这假定有某种监测需求以识别峰值的出现)。


然而,在图13.5描述的情况下,尽管平坦估计是一个无用的预测,未提供任何关于峰值的信息,但其RMSE误差(0.71)却小于尖峰预测的误差(0.91)。原因在于所谓的双重惩罚效应。对于任何逐点误差度量(如RMSE),尖峰预测会受到两次惩罚:一次是预测了未发生的峰值,另一次是漏掉了实际发生的峰值。相比之下,平坦预测仅受一次惩罚。
处理这种情况主要有两个选项:
- 开发新的误差度量,减少双重惩罚效应,并为更准确描述峰值幅度和时间差异的预测生成更具代表性且更小的分数。
- 考虑概率预测。由于估计值现在能估计数据的分布,峰值时间的变化将被更准确地捕获。特别是,多元概率预测(第11.6节)将捕获数据中的不确定性和相互依赖性,并且如果校准得当,将包含代表广泛可能家庭需求曲线的集成。
概率方法最理想,因为它们具有一致性解释的适当评分函数(第7.2节)。这意味着可以客观地评估它们。缺点是计算成本高,且训练概率预测需要大量数据。概率预测技术已在第11章介绍,因此本节其余部分讨论点预测的替代误差度量。
一组选项是所谓的时间序列匹配算法。这些是语音识别等领域中用于衡量个体信号接近程度的流行技术。其中一种技术,动态时间规整,已在第10.1节介绍。该方法通过拉伸两个时间序列以找到最佳匹配,从而创建两个新的时间序列。然后可以使用原始的逐点预测误差度量来测量差异。
这种技术存在若干缺点。首先,在标准DTW方法中,对于时间序列为了匹配特征而被拉伸的程度没有任何惩罚或限制。其次,顺序是固定的。如果在相似的时间段内有多个峰值但顺序不同,则动态时间扭曲将匹配一个峰值但无法匹配另一个。由于能源需求很可能允许不同顺序的设备使用(先开电视再开烤箱,或先开烤箱再开电视),这对于家庭需求预测来说可能过于严格。

作者开发的另一种方法是所谓的调整误差度量[5]。它允许在时间序列的每个点周围进行有限的排列。对于少量时间序列,可以使用一种称为匈牙利法的分配算法相对高效地求解。图13.6展示了匹配的基本示意图。调整误差度量像动态时间扭曲一样匹配时间序列,但允许(在有限区域内)对峰值进行重新排序。调整误差度量的缺点在于,在有限区域内对时间序列进行排列没有惩罚,并且必须事先选择这个排列长度的大小。
总之,无论采用何种度量,家庭点预测都需要一些主观选择,以应对需求的尖峰特性。
13.4 全局建模与局部建模
传统上,在时间序列预测中,模型参数是根据想要预测的同一实例的历史数据来拟合的。正如在第2章负荷预测的背景下所讨论的那样,这个实例可以是建筑物、家庭、变电站或电网中的另一个关注点。因此,如果为特定建筑物训练模型,则使用该建筑物可用的历史数据来估计预测模型参数。这是随着机器学习模型出现而采取的相同初始方法。
然而,正如第10章所讨论的,机器学习模型,尤其是深度模型,如LSTM和CNN,在数据不足时容易过拟合。为了缓解这一问题,在实现更复杂的机器学习模型时,提出了一种新的可能策略,称为全局建模。在这种方法中,模型在多个不同实例(例如不同的建筑物)的数据上同时训练。注意,进行预测的实例可能属于训练数据,也可能不属于。全局建模方法利用了深度机器学习模型能够学习足够通用的特征表示这一事实,这些特征表示通常也能泛化到其他实例。


全局建模的主要好处是,拥有更多数据通常对深度学习模型有利,并且可以避免过拟合。此外,为每个实例单独学习一个模型可能非常不切实际。例如,许多国家的目标是确保大多数家庭拥有智能电表,如果打算提供智能服务(如存储控制或家庭管理系统),为每个家庭单独训练一个模型可能不切实际。相反,全局模型可能更可行。传统上在同一实例上拟合模型的方法现在被称为局部建模。图13.7和图13.8说明了这两种负荷预测方法。
然而,如果数据中包含太多不同的实例,通常会出现收益递减,即向数据集中添加更多数据并不会带来改进。实际上,随着数据量的增加,性能甚至可能下降。特别是当添加了许多过于多样化的负荷曲线,并且数据量相对于所用模型的容量过大时,情况更是如此。为了缓解这个问题,提出了替代的混合策略。一种典型的方法是首先对数据进行聚类,以找到相似实例的组,然后在每个聚类上训练一个全局模型。在推理时,对于特定实例,需要确定该新实例属于哪个聚类,例如在k-means中,通过将曲线与每个聚类的代表曲线进行比较;对于有限混合模型(11.3.2节),则通过计算其成员后验概率,然后分配给概率最高的聚类。然后,通过将该聚类上训练的模型应用于该特定实例来进行预测。图13.9说明了这一过程。该过程有时被称为池化。


正如在第10.5.2节中简要讨论的CNN一样,ANN的低层或CNN的滤波器通常已经学习了足够通用的特征表示,也可以作为其他类似任务的特征提取器。换句话说,可以重用这些预训练的神经网络部分,并将其用于另一个相关任务。这种重用已训练ANN部分的一般思想称为迁移学习。图13.10展示了这种预测方法。这是处理最先进的图像或语言模型时的常见流程,这些模型首先在非常大的图像或文本数据集上进行预训练,以学习图像或文本的一些一般特征,然后在特定任务的数据集上进行训练。
局部建模通常不是深度机器学习模型的有效策略,除非实例有大量数据可用,或者分辨率足够高。因此,应探索任何全局策略或其变体。这样做的好处是提高泛化能力并避免过拟合,但在实践中,也是一种计算效率更高的策略,因为通常在多个实例上训练全局神经网络比单独训练多个局部模型计算效率更高。这节省了计算、能源成本,从而减少了不必要的$\mathrm{CO}_{2}$排放(例如,参见[6]关于机器学习训练的碳排放)。即使将模型转移到本地计算机(例如建筑能源管理系统),在智能电表上训练的模型也没有真正的数据隐私问题。当模型在多个实例上训练时,没有已知的方法可以重新创建用于训练模型的实例。
13.5 预测评估:统计显著性
通常,几种方法的性能非常相似,但事实上它们之间没有统计显著性。这可能是理想的情况,因为这意味着您可以在不牺牲准确性的情况下选择具有其他有用属性(例如高可解释性或低计算成本)的预测模型。同样重要的是排除预测仅凭偶然表现良好的可能性。
要判断两个时间序列预测是否显著不同,需要进行统计检验。最常用的方法之一是Diebold-Mariano检验。与许多统计检验一样,它从一个原假设开始,记为$H_{0}$,在负荷预测中,原假设是“两个时间序列预测的平均准确度相同”。检验的目的是看原假设是否可以被拒绝,即试图证明这两个预测实际上并不具有相同的准确度。
假设第一个预测产生一步超前预测误差$e_{1},e_{2},\ldots,e_{N}$,第二个预测产生的误差记为$\epsilon_{1},\epsilon_{2},\ldots,\epsilon_{N}$。考虑由下式给出的损失差分序列
$$\begin{aligned} d_t = g(e_t) - g(\epsilon _t), \end{aligned}\tag{13.7}$$
其中是损失函数,通常定义为$g(x)=x^{2},\text{ or }g(x)=|x|$。注意,如果差分损失的期望值为零,则两个预测具有相同的准确度。因此,原假设可以重新表述为$\mathbb{E}(d_{t})=0\forall t$。Diebold-Mariano检验的主要假设是损失序列是平稳的。
进行检验需要生成一个检验统计量,即从观测值中导出的一个值。在原假设下,该统计量应服从特定的分布。如果实际计算的值被发现极不可能出现,则成为拒绝原假设的证据。“极不可能”由显著性水平和p值确定。p值是在原假设成立的情况下,获得与观测值一样极端的值的概率。显著性水平是在实验/检验统计量导出之前由用户确定的值,并设定了拒绝原假设的阈值。
图13.11展示了一个标准正态分布下的假设检验示例,即$Pr(x<X|H_{0})\sim N(0,1)$,它表示在原假设为真的情况下点的分布。假设在这个例子中,我们不希望检验统计量$T$位于分布的极端位置。如果它确实出现在极端位置,则可以拒绝原假设。这是一个双尾检验。注意,这意味着p值由$p=2\min\{Pr(x>T|H_{0}),Pr(x<T|H_{o})\}$给出。假设显著性水平选择为$\alpha=5\%$,如图13.11中阴影部分所示,每条尾部的概率为0.025(即总计$\alpha=0.05)$)。换句话说,如果统计量位于阴影区域(即由$\alpha/2$和$1-\alpha/2)$确定的分位数$z_{\alpha/2},z_{1-\alpha/2}$),则拒绝原假设,即如果$\vert T\vert>z_{\alpha/2}$。如果不在尾部,则不拒绝原假设。注意,由于我们考虑的是标准正态分布$z_{1-\alpha/2}=1.96$和$z_{\alpha/2}=-1.96$,因为它对应于97.5百分位值。

回到我们比较时间序列预测的例子。Diebold-Mariano统计量[7]定义为
$$\begin{aligned} DM = \frac{\bar{d}}{\sqrt{\left( \sum _{n=-(h-1)}^{h-1}\gamma _n)/N\right) }}, \end{aligned}\tag{13.8}$$
$\bar{d}=\frac{1}{N}\sum_{n=1}^{N}d_{n}$ $\gamma_{n}$ 损失差分在滞后n处的γ自相关(章节3.5)。分母中使用的h应足够大,以包含自协方差中所有显著的滞后,并可通过自相关图进行检查(章节3.5)。假设损失差分时间序列是平稳的,则DM统计量服从标准正态分布(章节3.1)[3]。因此,可以使用如图13.11所示的同一分布进行双尾检验。在这种情况下拒绝原假设意味着两个预测的精度不相似。
对于小样本,DM统计量可能导致原假设被过于频繁地拒绝。为了解决这个问题,可以应用一些调整,例如Harvey、Leybourne和Newbold检验[8]。调整后的统计量如下:
$$\begin{aligned} HLN = DM\left( \frac{(N+1-2h+(h(h-1)/N))}{N}\right) ^{1/2}. \end{aligned}\tag{13.9}$$
该校正后的统计量必须与具有N-1个自由度的t-分布进行比较,而不是标准正态分布。t-分布类似于高斯/正态分布(章节3.1),但具有更重的尾部,即分布的极端值比高斯分布更慢地收敛到零。因此,对于此类分布,极大/极小值更可能出现。
需要注意的是,DM检验可以应用于更一般的误差函数,包括多变量预测[9]。该领域的进一步阅读请参见附录D.2。
13.6 其他陷阱与挑战
在开发短期预测时还可能遇到其他常见困难。此处概述其中几点。
13.6.1 共线性与混杂变量
相关性在构建预测模型时是一种极其有用的性质,但也可能带来复杂性。众所周知,“correlation doesn’t equal causation”。然而,这并不意味着该变量不能用于产生准确的预测。这确实意味着在假设和解释这些变量之间的关系时应谨慎。具有虚假相关性的变量可能最初对模型没有用,但由于关系不是因果关系,它可能无法很好地泛化,并在后期导致模型的不准确性。
挑战不仅限于自变量和因变量。当两个自变量/预测变量高度(线性)相关时,它们被称为共线,并可能给解释它们对因变量的影响带来困难。它还会增加过拟合的可能性。添加一个共线变量可能不会给预测增加多少准确性,因为大部分效应已被模型中已有的相关变量捕获。例如,考虑环境温度和风寒指数。风寒指数是温度和风速的组合,估计人体对温度的感受。因此,这两个变量通常彼此强相关。它们之间的因果关系如图13.12所示。

共线性还会影响模型系数对这些变量是否存在于模型中的敏感性[10]。因此,对于线性回归,它会影响相关系数的精度。有一些检验可以帮助识别共线性效应,其中之一是方差膨胀因子(VIF)(例如,参见Ruppert和Matteson的著作[10])。该指标衡量当与其他自变量的效应进行比较时,一个自变量的方差变化程度。此外,还可以使用相关函数来识别哪些变量高度相关。
理想情况下,应检查共线变量在包含与移除其中一个或两个时是否提高了预测模型的准确性。如果解释性和稳定性不重要,则应保留最准确的预测。然而,请注意,如果两者都保留,而仅其中一个变量存在概念漂移(章节13.6.3),则可能会降低对新未见数据的准确性。定期重新训练模型可以降低这种可能性。
有几种方法可能减少共线性的影响。最明显的是从那些具有最强相关性和/或最高VIF的变量中修剪变量,可能保留那些与因变量有最强因果联系的变量(当然,因果关系并不是特别容易证明)。模型选择技术,如信息准则(见第8.2.2节),是另一种使用最少所需变量找到精确模型的方法。
当然,这种共线性可以扩展到多个变量,在这种情况下称为多重共线性。
一个相关的概念是混杂变量。如果一个变量因果关系地影响因变量和自变量,那么它就是两者的混杂变量。在图13.12中,温度是一个混杂变量,因为它引起需求的变化,同时也是风寒值的主要决定因素。不考虑混杂变量可能会使理解变量之间的因果关系变得困难,并可能意味着效应或相关性被高估。例如,考虑一个与风寒值相关的净需求模型。假设风寒对需求没有影响,但温度有影响。由于温度也与风寒有关(第6.2.6节),那么可能认为风寒的变化与需求的变化相关,而实际上这是虚假的,因为温度驱动了相关的变化。尽管如此,风寒对需求可能仍有一些影响,可以提高预测模型的准确性,但这可能不明显,因为被温度变量混杂。如果你对风寒的效应感兴趣,你需要通过控制温度来隔离它。一种方法是通过学习温度固定(或分箱)值下的关系来控制温度。4 这并不容易,因为你需要减少用于训练模型的总体数据,因为你需要在总体数据的子样本上学习。对于线性关系,线性回归也可以用于识别混杂变量和效应大小。这是通过比较两个模型(自变量对因变量回归)的效应(即相关系数)来完成的,但其中一个模型中包含了可疑的混杂变量。系数的大变化可以表明存在混杂变量,变化的大小指示效应的大小。5
如果混杂变量不包括在模型中,则可能损失准确性。然而,包含它们意味着解释结果可能很困难,如上所示。同样,如果重点是性能而不是解释,这可能不是主要问题。然而,虚假相关性可能降低模型的泛化能力。交叉验证方法可以帮助模型和输入选择(第8.1.3节),从而确保模型仍然具有泛化能力。
理想情况下,所有混杂变量和对因变量有因果影响的变量都应包含在模型中,但这可能非常困难。不识别混杂变量导致的一个问题是,自变量和因变量之间的假设关系可能很脆弱,因此自变量的突然变化可能意味着模型不再成立或变得非常不准确。例如,假设已经为一个连接了五个未监测家庭的当地变电站的总需求创建了一个模型。如果发现另一个家庭(但在不同网络上)的监测需求行为非常相似,则可以将其包含在模型中以提高准确性。然而,如果建模者不知道五个家庭中有一个搬家,与需求的相关性不再成立,可能会产生非常不准确的结果。
第14.2节中的案例研究提出了一个真实例子,其中季节性效应可能是温度的混杂变量。
13.6.2 特殊日期和事件
本书中描述的预测模型通常假设未来的负荷将与历史负荷相似。为此,采用数据分析和可视化方法来寻找数据中的常见模式。因此,使用这些特征的预测模型平均而言对于典型日子非常准确。不幸的是,对于不太常见的日子或事件,它可能表现不佳。
这些不典型的日子往往是节假日,如新年、银行假日等。也就是说,特殊日子,企业可能关闭,家庭可能以不同方式被占用,并且可能有与平时不同的行为。这些特殊日子因国家和文化而异,例如,以基督教为主的国家包括圣诞节,以穆斯林为主的国家包括斋月,北美国家包括感恩节等。在这样的日子里,工作场所可能关闭,还可能有其他行为变化(例如,更多的家庭烹饪)。
另一个导致不太典型能源使用日的原因是特殊事件。这可能是世界杯决赛、奥运会或皇室婚礼,导致更多家庭在家中观看电视,或者可能去公共场所集体观看。其他特殊日子可能由极为异常的天气事件造成。例如,热浪、风暴或异常寒潮。6
这些类型的事件中的每一种都可能导致能源需求与家庭中或家庭总体上通常发生的情况非常不同。如果不考虑它们,那么预测模型在这些特殊日子上可能不准确。
理想情况下,这些特殊日子应在模型内处理。这可以通过虚拟变量(第6.2.6节)实现,或者可以为它们创建单独的模型。这些方法的问题是这些特殊事件往往非常罕见。换句话说,通常没有太多数据来训练模型以准确预测特殊日子的需求。以每年12月24日的圣诞节为例。每年只有一天可以用于训练,而且每年圣诞节都会落在不同的星期几。它可能一年是星期一,另一年是星期二等等。这意味着每个圣诞节可能会因落在星期几而略有不同。这进一步减少了训练数据的相关性。
解决这些问题的方法并不多。由于样本极少,很难学习到常规模式,这意味着必须依靠启发式或经验性猜测来决定哪些数据可用于模型训练。一种常见的方法是使用其他数据作为特殊日需求量的代理变量。例如,可以合理假设节假日(如银行假日)与周末非常相似,居住者的行为在这两天也类似。在这些模型中,特殊日可以被赋予周末(或周日)的哑变量。
13.6.3 概念漂移
机器学习中的概念漂移指的是数据集统计特性随时间的变化。这些变化往往发生在建模者不知情的情况下,因为它们可能很微妙或发生得非常迅速。这给预测带来了很多问题,因为随机变量的分布正在变化,可能意味着测试集与训练集的分布不再相同。
能源需求随时间变化的原因有很多,包括:
• 客户流失:如果连接到低压电网的许多家庭或企业的居住者发生变化,需求行为可能会改变。
• 新技术的采用:热泵、电动汽车和光伏等颠覆性技术会对需求产生重大影响,并改变配电网的聚合负荷。
非典型事件:特殊事件(参见第13.6.2节)会造成异常需求。这包括异常天气和特殊体育赛事(奥运会、世界杯等)。
• 能效提升:新技术可能意味着需求的减少。例如,新型LED灯和电视比它们的前辈高效得多。
• 能源价格波动:波动的能源价格可能迫使家庭和企业改变行为或设备以更好地降低成本。
电力时间序列中的许多概念漂移都是暂时的。高效能设备在首次安装时可能会改变需求行为,但之后的需求会趋于稳定,直到下一次重大变化。这提示了一种减少时间序列中永久变化影响的方法:自适应方法或跟踪方法。这些方法使用最近观测值的有限窗口,确保模型能够对需求变化做出反应。当分布发生变化时,模型最终会适应新的分布。当然,由于训练数据可能包含分布变化前后的混合数据,可能需要一定时间才能恢复模型精度。
需求变化可以通过所谓的变点分析来检测,其目标是识别出变点前后数据具有不同统计特性的时间点。与概念漂移相关的时间序列特性是机制转换。这是指时间序列具有有限数量的状态或“机制”,时间序列可以在这些机制之间切换。在这种情况下生成预测意味着为每个机制建立预测模型。这带来了预测时间序列将处于哪种机制以及该机制内需求的挑战。能源需求中的一个例子是全年用途不同的商业建筑。例如,大学宿舍在夏季可能是空的,而其余时间则有学生居住。
13.6.4 不切实际的建模与数据泄露
预测实验中的另一个陷阱是常常使用不切实际的假设和建模。理想情况下,预测应设计为复现其为之生成的现实场景。然而,在许多情况下,为了简化分析或由于缺乏资源,桌面研究中使用的预测模型可能在现实中无法复现或难以应用。
最常见的错误是使用实际中并不可用的数据。对于负荷预测,这通常是天气数据。由于供暖或制冷需求,天气被视为电力需求的重要驱动因素。因此,天气预报可作为准确负荷预测的有用输入。不幸的是,天气数据,特别是天气预报数据,可能难以获取。相反,许多实验转而使用天气观测数据,而这些数据当然无法提前获知。然而,观测数据往往更容易收集。任何使用了仅能在预测生成之后才可获得的数据的预测称为事后预测。而仅使用预测生成时可获得的数据的预测称为事前预测。这可以视为一种数据泄露。这一术语指的是在机器学习实验中使用实际中不可用的数据。当测试数据被无意中纳入训练时,往往会出现这种情况,导致测试集上的性能不切实际。在时间序列预测中,如果在交叉验证中使用非时间序列划分(如混洗划分,见第8.1.3节),则可能出现其他形式的数据泄露。
开发负荷预测时的另一个实际考虑是理解哪些负荷数据可用于预测。例如,家庭智能电表数据通常最多每天传输一次到数据平台/交易所。任何等待此类数据来训练模型(例如储能控制调度算法,见第15.1节)的模型,可能无法及时获取训练和传输所需的数据。除了由于采集限制导致数据不可用外,算法训练或生成预测的速度可能不足以及时将新数据用于所需的应用。
还可能存在限制数据可用性的外部约束。例如,如果你使用天气预报,大多数数值天气预报中心仅在一天中的特定时间(如午夜、早上6点、中午和下午6点)发布更新的天气预报,因为更频繁地进行全球预测通常在计算上不可行。因此,用于滚动负荷预测的天气输入可能不是最新的,具体取决于一天中的时间。总之,通信限制、监管限制、商业考虑和计算开销都可能影响在训练或开发预测时应该或可能使用哪些数据。关键是,在预测试验或实验中应嵌入尽可能多的现实假设,以确保它们模拟应用中的真实世界条件。
13.6.5 预测反馈
在某些情况下,预测本身会影响需求,这意味着预测本身变得不正确。这种反馈尤其与电力成本相关。例如,假设一家商业企业看到负荷预测显示在电价高峰期将出现一次大峰值。该企业可能决定改变其行为,例如关闭非必要设备或转移需求。这将减少预测峰值,从而降低其成本。这意味着预测现在在技术上变得不正确——这是由预测本身造成的状况。这完全合理,毕竟预测旨在支持许多应用(第15章),在许多情况下是为了减少消费者的需求和成本。
反馈效应不仅降低了预测的准确性,还改变了训练数据本身。当预测影响了观测需求时,这些数据可能无法描述时间序列的正常行为或特征。另一个例子是第15.1节中的电池储能设备示例。预测用于帮助规划馈线上电池的充放电,但这也会改变馈线上的需求。原本将要发生的情况现在未知,除非同时记录电池的充电情况。因此,这些调整实际上改变了这些时段的数据模式(见第13.6.3节),因此不应在训练中使用来描述时间序列的“典型”行为。
问题是如何处理未来训练中的这种反馈?对于储能设备,如果变化已知并记录,则可以恢复未受影响的需求。然而,在原始未受影响的需求未知的情况下(如需求侧响应,见第15.2节),一种解决方案是在有干预的时段不使用正常需求进行训练。这仅在存在足够多无干预时段的数据时实用,否则最终模型可能不准确。或者,可以通过将干预效应本身纳入模型(甚至可能作为虚拟变量,见第6.2.6节)来学习它,从而利用更多的训练数据。
13.7 问题
对于需要真实需求数据的问题,请尝试使用附录D.4中列出的一些数据。最好选择至少一年小时或半小时分辨率的数据。在所有使用这些数据的情况下,按照60%、20%、20%的比例划分训练集、验证集和测试集(见第8.1.3节)。
- S. Haben, J. Ward, D.V. Greetham, C. Singleton, P. Grindrod, A new error measure for forecasts of household-level, high resolution electrical energy consumption. Int. J. Forecast. 30(2), 246–256 (2014). https://doi.org/10.1016/j.ijforecast.2013.08.002, https://www.sciencedirect.com/science/article/pii/S0169207013001386
- 生成一些需求时间序列的日前点预测。最好包括几个基准模型、几个统计方法和几个机器学习模型。在测试集上比较各个模型的RMSE误差。现在组合所有模型并计算RMSE,是否比任何或所有单个模型有所改进?尝试不同的模型平均方式,例如,一种情况是采样两个最好的模型,或两个最差的模型。尝试混合一些最好和最差的模型。看看其中一些组合的RMSE是否小于其他组合?取两个最好的预测,使用Diebold-Mariano检验检查它们是否统计显著。
- J. Dodge, T. Prewitt, R. Tachet des Combes, E. Odmark, R. Schwartz, E. Strubell, A.S. Luccioni, N.A. Smith, N. DeCario, W. Buchanan, 测量云实例中人工智能的碳排放强度,载于2022年ACM公平性、问责制与透明度会议论文集(2022),第1877–1894页。
- 取至少100个智能电表需求时间序列的集合。将它们分成十组,每组十个,并对每组进行聚合。现在为每个聚合在测试集上创建预测。然后将所有十组聚合在一起(现在它们是100个智能电表的聚合),并使用相同的预测模型(在100个智能电表的聚合需求序列上训练)在测试期间生成预测。计算该预测的RMSE误差。现在聚合这十组的预测,并计算那里的RMSE误差。比较这两个值,哪个更准确?您期望哪个更准确?
- Francis X. Diebold, Roberto S. Mariano, 比较预测准确性。《商业与经济统计杂志》13, 253–263 (1995)
- 您能想到其他形式的数据泄漏吗?
- David Harvey, Stephen Leybourne, Paul Newbold, 检验预测均方误差的相等性。《国际预测杂志》13, 281–291 (1997)
- 还有什么可能导致概念漂移?您能想到家中会导致通常需求行为发生较大变化的变化吗?您能想到其他可能有较大行为变化的建筑物吗?
- F. Ziel, K. Berk, 多变量预测评估:关于敏感且严格适当的评分规则(2019)
- 想想一些特殊的日子,您家中的能源需求可能不同?还有哪些其他原因导致典型行为的变化?这些日子中哪些可能彼此相似?
- D. Ruppert, D.S. Matteson, 金融工程的统计与数据分析:附R示例。Springer统计学教材(2015)
- Daniel Westreich, Sander Greenland, 表2谬误:呈现和解释混杂因子与修饰因子系数。《美国流行病学杂志》177(4), 292–298 (2013)
参考文献
- Y. Wang, N. Zhang, Y. Tan, T. Hong, D.S. Kirschen, C. Kang, Combining probabilistic load forecasts. IEEE Trans. Smart Grid 10, 3664–3674 (2019)
- S.L. Wickramasuriya, G. Athanasopoulos, R.J. Hyndman, 基于迹最小化的层次与分组时间序列最优预测协调。J. Am. Stat. Assoc. 114, 804–819 (2019)
- R.J. Hyndman, G. Athanasopoulos, 预测:原理与实践,第2版。(OTexts, 墨尔本, 澳大利亚, 2018). https://Otexts.com/fpp2, 2020年7月访问
- 爱尔兰社会科学数据档案库,能源监管委员会 (CER) 智能计量项目——电力客户行为试验 (2012)
除非在材料的致谢行中另有说明,本章中的图像或其他第三方材料均包含在本章的知识共享许可中。如果材料未包含在本章的知识共享许可中,且您的预期使用不被法定法规允许或超出允许使用范围,您将需要直接获得版权持有人的许可。