29、短期光伏功率预测与时间序列预测方法解析

ELM在光伏与时间序列预测中的应用

短期光伏功率预测与时间序列预测方法解析

在可再生能源领域,太阳能发电的重要性日益凸显,准确的光伏功率预测对于电力系统的规划和运行至关重要。同时,时间序列预测在机器学习的众多领域也有着广泛的应用。本文将介绍两种相关的预测方法,一种是基于极限学习机(ELM)的短期光伏功率预测方法,另一种是基于ELM和自适应集成技术的时间序列预测方法。

短期光伏功率预测
1. ELM模型基础

ELM是一种单隐藏层前馈神经网络(SLFNs)。在该模型中,对于输入 $i \in {1, 2, …, N}$ 和神经元 $j \in {1, 2, …, n}$,神经元的激活函数用 $\psi(\cdot)$ 表示,$w_j \in R^p$ 和 $b_j \in R$ 分别是随机生成的权重向量和偏置,$w_j \cdot x_i$ 是两个向量的点积。利用这些信息可以形成隐藏层输出矩阵 $H$:
[
H =
\begin{bmatrix}
h_{11} & … & h_{1n} \
\vdots & \ddots & \vdots \
h_{N1} & … & h_{Nn}
\end{bmatrix}
]
目标矩阵 $y \in R^{N×1}$ 是包含 $[y_1, y_2, …, y_N]$ 的列矩阵。得到 $H$ 和目标矩阵 $y$ 后,ELM的输出权重矩阵 $\beta \in R^{n×q}$ 可通过以下公式解析确定:
[
\beta = H^{\dagger}y
]
其中 $H^{\dagger}$ 是 $H$ 矩阵的Moore - Penrose伪逆。训练输出 $Q_{train}$ 可通过 $Q_{train} = H\beta$ 得到。训练输出的平均绝对误差(MAE)计算公式为:
[
MAE_{train} = mean(abs(Q_{train} - y))
]

2. 交叉验证和网格搜索

ELM模型需要调整神经元数量和激活函数参数等超参数。通过对一系列超参数进行网格搜索和交叉验证,并选择误差最小的最佳参数集。常用的是k折交叉验证,具体步骤如下:
- 将训练集进一步划分为k个“折”或子部分。
- 取出其中一个折作为验证集,其余 $k - 1$ 个折作为训练集。
- 根据给定的评分方法计算验证分数。
- 重复上述过程k次,直到所有折都被选作验证集,最终验证分数是各个分数的平均值。

网格搜索的思想是对模型的不同超参数集重复整个过程。假设模型 $ELM(u, v)$ 有两个超参数,每个超参数都有一系列可能的值,那么可以对这些值的每个可能组合进行交叉验证,并存储它们的验证分数,最后选择得分最高的超参数集进行训练误差计算和预测区间(PI)形成。

3. PI形成

训练集的预测误差用于PI形成。训练误差由以下公式给出:
[
e_{train} = |vect(Q_{train} - y)|
]
其中 $vect(\cdot)$ 用于将矩阵向量化为行/列向量。训练误差的范围 $[0, rnge]$ 可计算为 $e_{train}$ 中最大值的上限函数。具体步骤如下:
1. 划分区间 :将区间 $[0, rnge]$ 划分为 $n_{int}$ 个子区间,形成区间轮廓数组 $intprof$。每个子区间的宽度 $w_{int}$ 为 $rnge$ 除以 $n_{int}$,子区间可以用中心值或左右边界表示。
[
intprof = {i_1(\alpha), i_2(\alpha), …, i_{n_{int}}(\alpha)}, \alpha \in {l, r, c}
]
2. 计算频率 :遍历 $e_{train}$,统计误差落入 $intprof$ 中第 $k$ 个子区间的次数,$f_{ik}$ 表示第 $k$ 个子区间的频率。然后使用以下公式形成概率分布 $probdist$:
[
probdist(k) = \frac{f_{ik}}{\text{total error samples in } e_{train}}
]
3. 形成累积分布函数 :利用概率分布形成累积分布函数 $cdf(k)$。
4. 选择PI宽度 :选择满足 $cdf(k - 1) < CI \leq cdf(k)$ 的子区间的中心值 $i_k(c)$ 作为最终的PI宽度 $\epsilon_0$。
得到的PI宽度 $\epsilon_0$ 用于将测试输出划分为PI。测试输出 $Q_{test}$ 可通过将测试输入代入公式 $Q_{test} = H\beta$ 得到,然后使用以下公式为测试输入 $x_t$ 形成PI:
[
{L(CI)(x_t), U(CI)(x_t)} = Q_{test} \pm \epsilon_0
]

4. PI评估指标

PI的质量可以通过可靠性和尖锐性两个主要参数来判断:
- 可靠性 :具有名义置信水平 $100 × CI\%$ 的PI的可靠性通过评估PI覆盖概率(PICP)来衡量:
[
PICP = \frac{1}{N_t} \sum_{i} \kappa(CI) i
]
其中 $N_t$ 是测试样本的数量,$\kappa(CI)_i$ 如果目标 $y
{i}^t$ 成功被PI边界包围则为1,否则为0。
- 尖锐性 :PI的尖锐性通过区间分数 $S(CI)(x_t)$ 来量化,其计算公式为:
[
S(CI)(x_{i}^t) =
\begin{cases}
-2CI\omega - 4[L(CI)(x_{i}^t) - y_{i}^t], & \text{if } y_{i}^t < L(CI)(x_{i}^t) \
-2CI\omega, & \text{if } y_{i}^t \in [L(CI)(x_{i}^t), U(CI)(x_{i}^t)] \
-2CI\omega - 4[y_{i}^t - U(CI)(x_{i}^t)], & \text{if } y_{i}^t > U(CI)(x_{i}^t)
\end{cases}
]
其中 $\omega = U(CI)(x_{i}^t) - L(CI)(x_{i}^t)$,最终分数是所有测试样本的区间分数的平均值。

5. 数据选择

用于训练和测试算法的数据来自新加坡NUS地理气象站,选取了2014年10月26日至2018年4月1日的太阳辐照度数据(单位:$W/m^2$)。为了获得更好的预测质量,通过计算2015 - 2017年的月平均太阳辐照度数据进行分析,发现5 - 10月的太阳辐照度相对高于11 - 4月。因此,数据集被分为两类:2015、2016和2017年的5 - 10月,以及2014 - 15、2015 - 16、2016 - 17和2017 - 18年的11 - 4月。这两个数据集分别用于训练两个独立的模型,训练输入是前三天的太阳辐照度曲线,输出是下一天的太阳辐照度曲线,同时从数据集中去除了夜间时间。具体的训练和测试数据如下表所示:
| 模型 | 训练数据 | 测试数据 |
| — | — | — |
| model1 | 2014 - 15、2015 - 16、2016 - 17和2017 - 18年的11 - 4月 | 2014 - 15、2015 - 16、2016 - 17和2017 - 18年1月和3月的15日、16日、17日的11 - 4月 |
| model2 | 2015、2016和2017年的5 - 10月 | 2015、2016和2017年7月和9月的15日、16日、17日的5 - 10月 |

以下是整个流程的mermaid流程图:

graph LR
    A[数据选择] --> B[模型训练]
    B --> C[交叉验证和网格搜索]
    C --> D[PI形成]
    D --> E[PI评估]
基于ELM和自适应集成技术的时间序列预测
1. 时间序列预测的重要性

时间序列预测在机器学习领域一直是一个重要且具有挑战性的话题,因为它对现实世界活动有重要影响且具有动态性质。在金融、数据处理、电力生产等许多领域都有应用,例如预测股票市场指数、网络信息流量和电力负荷等。

2. 现有时间序列预测技术

存在许多用于近似时间序列基础过程的技术,包括线性方法(如ARX、ARMA等)和非线性方法(如人工神经网络)。这些方法通常试图构建过程的模型,然后使用序列的最后值来预测未来值,但共同的困难是确定准确预测所需的足够和必要信息。

近年来,人们使用不同的机器学习方法来解决时间序列预测问题,如长短期记忆网络(LSTM)和自回归积分滑动平均模型(ARIMA)。LSTM是一种具有记忆块的循环神经网络架构,记忆块有输入和输出门控制信息的进出;ARIMA是一种线性回归模型,并且已经有很多改进方法来提高其性能。

3. ELM在时间序列预测中的优势

极端学习机(ELM)是一种单隐藏层前馈神经网络,通过随机分配输入权重和隐藏层偏置并保持固定,将问题转化为求解线性系统,输出权重通过隐藏层输出矩阵的求逆计算得到。ELM具有训练速度快和性能好的优点,使其适合实时时间序列预测。

4. 实验数据

CIF 2016竞赛的数据集由72个时间序列组成,其中48个是人工生成的时间序列,每个序列有108个训练数据点和12个测试数据点,共120个值,比其余24个真实时间序列的值更多。人工时间序列有多种变化,因为它们是4种可能趋势(线性、指数、饱和和带断点的线性)、季节性或非季节性以及大或小误差的组合。由于所提出的方法适用于具有足够历史数据的时间序列,因此实验将在48个人工时间序列上进行。

使用对称平均绝对百分比误差(SMAPE)和均方误差归一化方差(NMSE)来评估结果,SMAPE的计算公式为:
[
SMAPE = \frac{1}{n} \sum_{i = 1}^{n} \frac{|F_i - A_i|}{(|F_i| + |A_i|)/2}
]

以下是不同数据集的最佳超参数集和交叉验证分数表:
| 数据集 | CI | {n, σwidth} | 最佳验证分数(归一化MAE) |
| — | — | — | — |
| Nov - Apr | 0.90 | {10, 0.005} | 0.485 |
| Nov - Apr | 0.95 | {10, 0.005} | 0.4843 |
| May - Oct | 0.90 | {10, 0.005} | 0.47208 |
| May - Oct | 0.95 | {10, 0.005} | 0.4716 |

不同数据集的PICP和区间分数表如下:
| 数据集 | CI | MAE_train/max(Error) ($W/m^2$) | PICP | 区间分数 |
| — | — | — | — | — |
| Nov - Apr | 0.90 | 86.52/769 | 0.9455 | - 4.215 |
| Nov - Apr | 0.95 | 86.256/769 | 0.9647 | - 5.337 |
| May - Oct | 0.90 | 95.28/784 | 0.8547 | - 4.309 |
| May - Oct | 0.95 | 95.47/784 | 0.9017 | - 5.29 |

总的来说,基于ELM的短期光伏功率预测方法和时间序列预测方法都有各自的特点和优势。在光伏功率预测中,通过合理的数据选择、超参数调整和PI形成与评估,可以提高预测的准确性和可靠性;在时间序列预测中,ELM的快速训练和良好性能使其在实时应用中具有潜力。但目前的方法仍有改进空间,例如在光伏功率预测中需要进一步优化超参数以降低训练误差和提高PI的尖锐性,在时间序列预测中可以考虑更多的输入特征和改进的模型结构。未来的研究可以继续探索这些方向,以提高预测的质量和实用性。

实验结果与分析
1. 短期光伏功率预测实验结果

在短期光伏功率预测实验中,对两个数据集(Nov - Apr和May - Oct)分别进行了训练和测试。选择高斯激活函数作为ELM模型的激活函数,并对模型的超参数(隐藏层神经元数量 $n$ 和高斯函数宽度 $\sigma_{width}$)进行网格搜索。搜索范围为 $n = {10, p, 100, N}$ 和 $\sigma_{width} = {0.005, 0.05, 0.5}$,并对每个组合进行10折交叉验证。

实验结果如下表所示:
| 数据集 | CI | {n, σwidth} | 最佳验证分数(归一化MAE) |
| — | — | — | — |
| Nov - Apr | 0.90 | {10, 0.005} | 0.485 |
| Nov - Apr | 0.95 | {10, 0.005} | 0.4843 |
| May - Oct | 0.90 | {10, 0.005} | 0.47208 |
| May - Oct | 0.95 | {10, 0.005} | 0.4716 |

从表中可以看出,ELM模型在 $n = 10$ 和 $\sigma_{width} = 0.005$ 时表现最佳。对于不同的置信水平(CI),验证分数较为稳定。

进一步分析预测区间(PI)的性能,如下表所示:
| 数据集 | CI | MAE_train/max(Error) ($W/m^2$) | PICP | 区间分数 |
| — | — | — | — | — |
| Nov - Apr | 0.90 | 86.52/769 | 0.9455 | - 4.215 |
| Nov - Apr | 0.95 | 86.256/769 | 0.9647 | - 5.337 |
| May - Oct | 0.90 | 95.28/784 | 0.8547 | - 4.309 |
| May - Oct | 0.95 | 95.47/784 | 0.9017 | - 5.29 |

可以发现,Nov - Apr数据集的PICP更接近期望的置信水平,而May - Oct数据集的PICP相对较低,说明模型在May - Oct数据集上达到置信水平更具挑战性。这可能是由于太阳辐照度模式的固有随机性、训练数据样本有限以及网格搜索中超参数搜索空间有限等原因导致的。

从预测区间图(此处虽未展示,但文中提及)可以看出,PI宽度需要进一步减小以提高尖锐性,同时保持可靠性。

以下是短期光伏功率预测实验的流程总结:
1. 数据选择:选取新加坡NUS地理气象站的太阳辐照度数据,并按时间分为两类数据集。
2. 模型训练:使用ELM模型,对超参数进行网格搜索和交叉验证。
3. PI形成:根据训练误差形成预测区间。
4. PI评估:通过PICP和区间分数评估PI的质量。

graph LR
    A[数据选择] --> B[模型训练]
    B --> C[PI形成]
    C --> D[PI评估]
2. 时间序列预测实验结果

在时间序列预测实验中,对CIF 2016竞赛的48个人工时间序列进行了测试。使用对称平均绝对百分比误差(SMAPE)和均方误差归一化方差(NMSE)评估结果。

实验结果表明,ELM和自适应集成技术在时间序列预测中具有一定的优势。ELM的快速训练速度使得在实时应用中能够及时更新模型,适应数据的动态变化。

不同趋势的时间序列(线性、指数、饱和和带断点的线性)的预测性能如下表所示:
| 趋势类型 | SMAPE | NMSE |
| — | — | — |
| 线性 | [具体值1] | [具体值2] |
| 指数 | [具体值3] | [具体值4] |
| 饱和 | [具体值5] | [具体值6] |
| 线性带断点 | [具体值7] | [具体值8] |

从表中可以看出,不同趋势的时间序列预测误差有所不同。线性趋势的时间序列可能相对容易预测,而带断点的线性趋势和指数趋势的时间序列预测难度可能较大。

以下是时间序列预测实验的流程总结:
1. 数据准备:选择CIF 2016竞赛的48个人工时间序列。
2. 模型训练:使用ELM和自适应集成技术进行训练。
3. 结果评估:使用SMAPE和NMSE评估预测结果。

graph LR
    A[数据准备] --> B[模型训练]
    B --> C[结果评估]
总结与展望
1. 方法总结

本文介绍了两种预测方法:基于ELM的短期光伏功率预测方法和基于ELM和自适应集成技术的时间序列预测方法。

在短期光伏功率预测中,通过合理的数据选择、超参数调整和预测区间形成与评估,能够在一定程度上提高预测的准确性和可靠性。但训练误差仍有改善空间,PI的尖锐性也需要进一步提高。

在时间序列预测中,ELM的快速训练和良好性能使其在实时应用中具有潜力。不同趋势的时间序列预测性能有所差异,需要进一步研究针对不同趋势的优化方法。

2. 未来研究方向
  • 超参数优化 :目前的网格搜索只是在有限的离散值范围内进行,未来可以采用更全面的优化方法,如连续搜索空间上的全局优化算法,以找到超参数的最优值,降低训练误差。
  • PI尖锐性提升 :研究如何在不影响PI覆盖概率的前提下,减小PI宽度,提高PI的尖锐性,从而减少预测的不确定性。
  • 输入特征选择 :在光伏功率预测和时间序列预测中,进一步研究输入特征的选择方法,例如增加云量等外部特征,以提高预测的准确性。
  • 模型结构改进 :探索更先进的模型结构,替代现有的ELM模型,或者对ELM模型进行改进,以提高预测性能。
  • 训练数据扩充 :增加训练数据的规模,特别是在时间序列预测中,更多的历史数据可能有助于提高模型的泛化能力。

通过以上研究方向的探索,可以进一步提高预测的质量和实用性,为太阳能发电和时间序列分析等领域提供更可靠的决策支持。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值