2.845

2023影响因子

(CJCR)

  • 中文核心
  • EI
  • 中国科技核心
  • Scopus
  • CSCD
  • 英国科学文摘

留言板

尊敬的读者、作者、审稿人, 关于本刊的投稿、审稿、编辑和出版的任何问题, 您可以本页添加留言。我们将尽快给您答复。谢谢您的支持!

姓名
邮箱
手机号码
标题
留言内容
验证码

具有容性负载的直流微电网系统分布式协同控制

刘建刚 杨胜杰

徐任超, 阎威武, 王国良, 杨健程, 张曦. 基于周期性建模的时间序列预测方法及电价预测研究. 自动化学报, 2020, 46(6): 1136−1144 doi: 10.16383/j.aas.c180712
引用本文: 刘建刚, 杨胜杰. 具有容性负载的直流微电网系统分布式协同控制. 自动化学报, 2020, 46(6): 1283−1290 doi: 10.16383/j.aas.c190018
Xu Ren-Chao, Yan Wei-Wu, Wang Guo-Liang, Yang Jian-Cheng, Zhang Xi. Time series forecasting based on seasonality modeling and its application to electricity price forecasting. Acta Automatica Sinica, 2020, 46(6): 1136−1144 doi: 10.16383/j.aas.c180712
Citation: Liu Jian-Gang, Yang Sheng-Jie. Distributed cooperative control of DC micro-grid systems with capacitive loads. Acta Automatica Sinica, 2020, 46(6): 1283−1290 doi: 10.16383/j.aas.c190018

具有容性负载的直流微电网系统分布式协同控制

doi: 10.16383/j.aas.c190018
基金项目: 国家自然科学基金(11601145), 湖南省教育厅科研项目基金(18A309, 16B143), 湖南省自然科学基金(2018JJ3264)资助
详细信息
    作者简介:

    刘建刚:湖南工商大学数学与统计学院特聘副教授. 2015年获得中南大学交通信息工程及控制专业博士学位. 主要研究方向为多智能体系统及微电网分布式协同控制, 并联充电系统均流控制. E-mail: jgangliu@csu.edu.cn

    杨胜杰:湖南工商大学大数据与互联网创新研究院讲师. 2014年获得湖南大学电气工程专业博士学位. 主要研究方向为智慧能源系统. 本文通信作者. E-mail: denan2003@163.com

Distributed Cooperative Control of DC Micro-Grid Systems With Capacitive Loads

Funds: Supported by National Natural Science Foundation of China (11601145), Research Project of the Education Department of Hunan Province (18A309, 16B143), and Natural Science Foundation of Hunan Province (2018JJ3264)
  • 摘要: 针对一类具有容性负载的直流微电网系统, 提出了分布式协同控制方法. 具有容性负载的直流微电网是一类耦合动态互联非线性网络化系统, 可将DC-DC变换器在信息层视为智能体, 在每个子系统模块中, 引入容性负载电压观测器, 耦合并联非线性系统负载均衡控制设计问题可解耦成一阶积分器多智能体系统的输出一致性跟踪问题. 基于最近邻原则, 通过在控制器中引入比例、积分环节, 设计了增益可调的分布式协同PI控制律, 当有向图满足至少含有一棵生成树的条件下, 通过子系统间的局部交互, 可以实现负载均衡的目标. 通过分析增广系统矩阵的特征值证明了整个闭环系统的稳定性. 仿真和实验说明了所提出的控制方法的有效性及可行性.
  • 时间序列数据在现实生活中广泛存在, 例如金融领域中的交易数据和经济统计数据、消费电商领域中的用户浏览和购买数据、医疗领域中的医疗器械的信号记录、天气监测站记录的天气指标数据等[1-4]. 这些时间序列数据是相应领域非常宝贵的数据资源, 对这些数据的准确、有效分析和利用有助于减小人力成本, 提高生产效率, 提高经济收益[5].

    现实中的时间序列通常具有复杂的非线性动态, 这为时间序列预测带来了困难. 另外, 由于人类活动或自然运动的影响, 时间序列数据常常体现出一定的周期性. 周期性的提取对时间序列预测有着积极意义. 时间序列的趋势同样具有重要的意义, 有时甚至作为预测的目的.

    传统的时间序列分析方法源自于自回归模型(Autoregressive model, AR)和移动平滑模型(Mo-ving average, MA). 自回归移动平滑模型(Autoregressive model and moving average, ARMA)和在其基础上发展起来的自回归差分移动平滑模型(Auto-regressive integrated moving average, ARIMA)是时间序列分析的经典方法[6]. 另外, 自回归条件异方差模型(Autoregressive conditional heteroscedasticity, ARCH)[7]和广义自回归条件异方差模型(Gen-eralized autoregressive conditional heteroscedasticity, GARCH)[8]引入了异方差, 对时间序列的波动性进行建模. 基于机器学习的支持向量机回归(Sup-port vactor regression, SVR)和核岭回归(Kernel ridge regression, KRR)等方法在时间序列分析上已经有大量的研究[9-11]. 随着深度学习理论的发展, 循环神经网络(Recurrent neural networks, RNNs)已经成为处理时间序列数据的主流, 在大量应用场景中取得了不俗的效果[12-13]. 回声状态网络(Echo state network, ESN)也是时间序列预测的常用模型[14].

    传统的时间序列分析方法基于平稳性假设[15], 对短期平稳的时间序列有较好的预测效果, 但是难以对复杂非线性时间序列数据进行有效建模. SVR和KRR等机器学习方法使用滑动窗口的方式处理预测序列, 忽略了时间序列数据的序列属性, 不能很好地捕捉时间序列中的长时依赖. 同时SVR和KRR受限于模型容量, 难以达到预测非线性时间序列的最佳效果. 深度神经网络由于其超强的拟合能力, 在复杂非线性时间序列数据的处理方面有着天然的优势. 同样对于分割后的序列窗口, 深度神经网络仍能从中捕捉时间序列的长期依赖.

    能源领域是产生大量时间序列的领域, 如电力用量数据、风力序列数据、太阳能数据和电力价格数据等. 其中, 电力价格是能源市场上的关键因素, 影响着能源市场的流通和运行. 能源市场的自由属性使电力价格具备了金融商品性质, 但其还受到电力传输和需求量的影响. 电力传输受电网传输容量的限制, 而电力需求量受人类活动和天气因素的影响. 在这些影响因素下, 电力价格数据呈现出长期复杂非线性动态, 体现出高波动性. 另外电力价格还存在着明显的周期性.

    传统的时间序列预测方法对电力价格的预测已有大量研究和应用[16], 而循环神经网络在电力价格预测中同样取得了不错的效果[17]. 针对能源领域时间序列的周期性属性, 传统的方法主要采用信号处理方法, 而常规的循环神经网络中并没有对时间序列的周期性进行建模的模块. 目前, 许多研究针对数据的周期性展开, 主要研究工作有: Clements等[18]提出了多方程时间序列方法, 在方程中加入了周期设定, 对澳洲能源市场的电力负载进行预测; Anbazhagan等[19]使用离散余弦变换处理原始序列, 并用神经网络进行建模; Rafiei等[20]使用小波变换处理原始序列, 并用极限学习机对分解结果进行建模等.

    针对循环神经网络难以对时间序列数据的周期性直接进行建模的问题, 本文结合时间序列周期分解的思想, 设计了循环神经网络的周期损失和趋势损失, 分别对时间序列中的周期和趋势进行辅助建模; 在多任务学习框架下, 将周期损失、趋势损失和模型自身的损失函数相结合, 联合优化循环神经网络. 提出的模型用于能源市场的电力价格预测, 实验结果取得了较好的预测精度, 验证了周期和趋势对时间序列预测的作用, 说明本文提出的周期损失和趋势损失能够有效地辅助模型捕捉数据特征.

    循环神经网络是常用的建模时间序列的神经网络模型. 循环神经网络使用基于时间的反向传播算法(Back-propagation through time, BPTT)来训练网络.

    基础的循环神经网络及其展开形式如图1所示. 其数学形式为

    图 1  一个展开的基础循环神经网络
    Fig. 1  The unfold structure of RNN
    $$ h_t = f\left( {Ux_t +Wh_{t-1} } \right) $$ (1)
    $$ o_t = g\left( {Vh_t } \right) \quad \quad \quad \quad \;\; $$ (2)

    其中, $ U $, $ V $, $ W $都是网络的参数, $ f $$ g $表示激活函数, 可以是ReLU、sigmoid和tanh等非线性函数. $ x_t $表示$ t $时刻的输入, $ h_t $表示$ t $时刻网络的隐藏状态, $ o_t $表示$ t $时刻网络的输出.

    基础的循环神经网络在训练时会面对梯度爆炸或梯度消失的问题[21].

    为了克服循环神经网络的梯度爆炸和梯度消失问题, Hochreiter等[22]提出了长短时记忆网络(Long short term memory, LSTM). LSTM的内部结构如图2所示.

    图 2  LSTM的内部结构示意图
    Fig. 2  The schematic diagram of LSTM

    LSTM的主要思想是引入门控单元和长时记忆单元. 门控单元负责控制长时记忆单元中状态的记忆、修改和遗忘. 同时, LSTM还具有和基础循环神经网络相同的短期记忆单元.

    LSTM的数学表示为

    $$ f_t = \sigma \left( {W_f \left[ {h_{t-1} ,x_t } \right]+b_f } \right) \quad \quad \!\!\!$$ (3)
    $$ i_t = \sigma \left( {W_i \left[ {h_{t-1} ,x_t } \right]+b_i } \right) \quad \quad $$ (4)
    $$ o_t = \sigma \left( {W_o \left[ {h_{t-1} ,x_t } \right]+b_o } \right) \quad \quad \!\!\!$$ (5)
    $$ \tilde {C}_t = \tanh \left( {W_C \left[ {h_{t-1} ,x_t } \right]+b_C } \right) $$ (6)
    $$ C_t = i_t \tilde {C}_t +f_t C_{t-1} \quad \quad \quad \quad \quad \!\!\! $$ (7)
    $$ h_t = o_t \tanh \left( {C_t } \right) \quad \quad \quad \quad \quad\quad $$ (8)

    其中, $ C_t $$ \tilde {C}_t $分别表示$ t $时刻的长期记忆和短期记忆, $ f_t $, $ i_t $$ o_t $分别表示LSTM的遗忘门、输入门和输出门在$ t $时刻的值. $ \left( {W_f ,b_f } \right) $, $ \left( {W_i ,b_i } \right) $, $ \left( {W_o ,b_o } \right) $$ \left( {W_C ,b_C } \right) $分别表示LSTM的遗忘门、输入门、输出门和长时记忆单元的参数. $ \sigma $代表sigmoid函数. $ x_t $表示 $ t $时刻的输入, $ h_t $表示 $ t $时刻隐藏状态的输出.

    由于引入了门控单元和长时记忆单元, 状态的更新方式从乘性增量更新变为了加性增量更新[23], 从而一定程度上避免了梯度消失问题.

    门控循环单元(Gate recurrent unit, GRU)[24]是LSTM的一个重要变体. 相比于LSTM, GRU进行了一定的简化: 将遗忘门和输入门合并成为一个门控单元, 称为更新门; 去除了长期记忆单元, 与隐藏状态混合, 保留短期记忆单元; 去除了输出门, 改为重置门. GRU的内部结构如图3所示.

    图 3  GRU的内部结构示意图
    Fig. 3  The schematic diagram of GRU

    GRU的数学表示为

    $$ z_t = \sigma \left( {W_z \left[ {h_{t-1} ,x_t } \right]} \right) \quad \quad \quad $$ (9)
    $$ r_t = \sigma \left( {W_r \left[ {h_{t-1} ,x_t } \right]} \right) \quad \quad \quad $$ (10)
    $$ \tilde {h}_t = \tanh \left( {W\left[ {r_t \times h_{t-1} ,x_t } \right]} \right) $$ (11)
    $$ h_t = \left( {1-z_t } \right)h_{t-1} +z_t \tilde {h}_t \quad \quad $$ (12)

    其中, $ \tilde {h}_t $表示$ t $时刻的短期记忆, $ h_t $表示$ t $时刻的隐藏状态. $ z_t $$ r_t $分别表示GRU的更新门和重置门在$ t $时刻的值. $ W_z $, $ W_r $$ W $分别表示GRU的更新门、重置门和短期记忆单元的参数.

    GRU大大精简了参数, 相同隐藏状态的GRU的参数量约为LSTM的2/3, 使得模型更不容易过拟合. 本文使用GRU作为默认的循环神经网络模型.

    结合时间序列周期分解, 设计了循环神经网络的周期损失和趋势损失, 将周期损失、趋势损失和模型自身的损失函数相结合, 在多任务学习框架下, 联合优化循环神经网络.

    周期分解是一种对时间序列的周期和趋势建模的经典方式.

    周期建模是指, 针对周期性的时间序列, 可以显式的考虑序列跨周期的关系. 周期性的一种形式化表述为

    $$ \begin{split} & ACF\left( {x_t ,x_{t-T} } \right)\gg ACF\left( {x_t ,x_{t-\tau } } \right) \\ & \quad \quad \quad \quad \quad \quad \quad \quad \quad \!\!\!\! \forall \tau :od \left( {\tau ,T} \right)\ne 0 \end{split} $$ (13)

    其中, $ ACF $代表自相关函数. 周期序列按照周期的延迟序列的自相关性应该远远大于其他的延迟序列.

    趋势建模是指除了建模每一个具体时间点的具体数值, 还应该捕捉到一段时间的“整体状态”, 包括总体走势、变化范围等因素.

    可以认为, 时间序列是趋势、周期和余差的组合. 时间序列的分解可以是加性的, 也可以是乘性的, 即

    $$ X_t = T_t +S_t +R_t $$ (14)
    $$ X_t = T_t \times S_t \times R_t $$ (15)

    其中, $ X_t $表示原始时间序列, $ T_t $表示趋势分量, $ S_t $表示周期分量, $ R_t $表示余差. 乘性的组合可以通过对数函数转换为加性组合, 所以这两种组合实质上是一致的.

    时间序列的周期分解启发了周期损失函数和趋势损失函数的提出.

    周期损失函数鼓励循环神经网络预测的隐藏状态出现周期性. 假设一个循环神经网络的隐藏状态具有周期性, 它的隐藏状态需要满足一定的条件:

    $$ \begin{split} \cos nt =\; & h_t +h_{t+1} +\cdots +h_{t+T-1}\cong \\ & h_{t+1} +h_{t+2} +\cdots +h_{t+T} \end{split} $$ (16)

    即有

    $$ h_t \cong h_{t+T} $$ (17)

    为了在循环神经网中加入这样的隐藏状态关系, 在$ \left[ {t_1 ,t_2 ,\cdots ,t_n } \right] $的时间窗上定义如下的周期损失函数

    $$ \ell _{\rm seasonal} \left( {kT} \right) = \frac{1}{n}\sum\limits_{t = t_1 }^{t_n } {D\left( {h_t ,h_{t+\tau } } \right)} $$ (18)

    其中, $ D\left( {\ast ,\ast } \right) $表示距离度量函数, $ \tau $表示隐藏状态之间的时间跨度.

    针对周期为$ T $的时间序列, 一般取$ \tau = kT $. $ \tau $也可以取1, 这样式(18)可以视为循环神经网络的一种正规化方法. $ D\left( {\cdot ,\cdot } \right) $一般取平方距离, 此时的周期损失为

    $$ \ell _{\rm seasonal} \left( {kT} \right) = \frac{1}{nm}\sum\limits_{t = t_1 }^{t_n } {\sum\limits_{i = 1}^m {\left\| {h_t^{\left( i \right)} -h_{t+kT}^{\left( i \right)} } \right\|^2} } $$ (19)

    其中, $ m $表示循环神经网络的隐藏状态的维度, $ h_t^{\left( i \right)} $表示$ t $时刻隐藏状态的第$ i $维的值. 更长周期跨度有助于鼓励长距离的周期平稳性.

    在很多实际应用中, 每个时间点的数值并不是最受关注的问题, 而关注的重点在于捕获某种趋势. 时间序列的趋势可以由一段时间内的均值、最大最小值和波动率来反映.

    $ \left[ {t_1 ,t_2 ,\cdots ,t_n } \right] $的时间窗上对时间序列的趋势进行建模, 从均值、最大最小值和波动率的角度可以得到如下的几个趋势损失函数

    $$ \begin{split} \ell _{\rm trend}^{\rm MEAN} \left( w \right) =\; & \frac{1}{n}\sum\limits_{t = t_1 }^{t_n } {\left\| {mean\left( {\hat {y}_{t-w+1} ,\cdots ,\hat {y}_t } \right)} \right.}- \\ & \left. {mean\left( {y_{t-w+1} ,\cdots ,y_t } \right)} \right\|^2 \end{split} $$ (20)
    $$ \begin{split} \ell _{\rm trend}^{\rm MAX} \left( w \right) =\; & \frac{1}{n}\sum\limits_{t = t_1 }^{t_n } {\left\| {\max \left( {\hat {y}_{t-w+1} ,\cdots ,\hat {y}_t } \right)} \right.} - \\ & \left. {\max \left( {y_{t-w+1} ,\cdots ,y_t } \right)} \right\|^2 \end{split}\;\;\;\; $$ (21)
    $$ \begin{split} \ell _{\rm trend}^{\rm MIN} \left( w \right) =\; & \frac{1}{n}\sum\limits_{t = t_1 }^{t_n } {\left\| {\min \left( {\hat {y}_{t-w+1} ,\cdots ,\hat {y}_t } \right)} \right.} -\\ &\left. {\min \left( {y_{t-w+1} ,\cdots ,y_t } \right)} \right\|^2 \end{split} $$ (22)
    $$ \begin{split} \ell _{\rm trend}^{\rm VAR} \left( w \right) =\; & \frac{1}{n}\sum\limits_{t = t_1 }^{t_n } {\left\| {var\left( {\hat {y}_{t-w+1} ,\cdots ,\hat {y}_t } \right)} \right.} - \\ & \left. {var\left( {y_{t-w+1} ,\cdots ,y_t } \right)} \right\|^2 \end{split} $$ (23)

    其中, $ \ell _{\rm trend}^{\rm MEAN} $$ \ell _{\rm trend}^{\rm MAX} $$ \ell _{\rm trend}^{\rm MIN} $$ \ell _{\rm trend}^{\rm VAR} $分别代表均值趋势损失、最大趋势损失、最小趋势损失和波动趋势损失. $ w $表示趋势窗宽, 一般与序列的时间窗宽度$ n $不同. $ \hat {y} $是循环神经网络的预测值, $ y $是真实值.

    在机器学习中, 通常只关注一个优化目标. 多任务学习(Multi-task learning)[25]是同时学习多个相关的任务并在这些任务间共享某些底层的特征表示的机器学习方式. 在深度学习中, 多任务学习非常普遍.

    一般地, 针对多个优化目标, 多任务学习框架中存在共同优化和分开交替优化两种优化方式. 共同优化适用于紧密相关的任务, 分开交替优化则适用于不相关任务和对抗性任务. 周期性和趋势约束作为时间序列预测的辅助任务, 与预测任务关系密切. 因此, 将周期损失和趋势损失引入优化目标进行共同优化是合理的.

    本文根据多任务学习的框架, 将周期损失和趋势损失将作为预测任务的共同优化目标, 在原来的损失函数的基础上, 加入了辅助损失函数, 得到时间序列多任务学习混合模型的优化目标函数

    $$ J = L_{\rm main} +\lambda _S \ell _{\rm seasonal} +\ell _{\rm trend} \quad \quad \quad \;$$ (24)
    $$ \begin{split} \ell _{\rm trend} =\; & \lambda _T^{\rm MEAN} \ell _{\rm trend}^{\rm MEAN} +\lambda _T^{\rm MAX} \ell _{\rm trend}^{\rm MAX}+ \\ & \lambda _T^{\rm MIN} \ell _{\rm trend}^{\rm MIN} +\lambda _T^{\rm VAR} \ell _{\rm trend}^{\rm VAR} \end{split} \;\;\;\; $$ (25)

    其中, $ \lambda _S $是周期损失的权重, $ \lambda _{\rm trend}^{\rm MEAN} $, $ \lambda _{\rm trend}^{\rm MAX} $, $ \lambda _{\rm trend}^{\rm MIN} $$ \lambda _{\rm trend}^{\rm VAR} $分别代表对应的趋势损失的权重.

    引入周期损失和趋势损失的循环神经网络依然可以通过BPTT算法来训练.

    欧洲能源交易所(European Power Exchange, EPEX)是欧洲最重要的能源交易市场, 覆盖了德国、法国、英国等欧洲最主要的国家. 电力在各个国家的电网之间进行交换, 其中一部分是通过事先规划的方式, 而另一部分则通过能源交易所进行交易. 每个国家都会有自己的子市场, 例如EPEX法国市场. EPEX 法国市场的现货市场主要分为三个子市场: 日前交易市场(Day-ahead market)、日内交易市场(Intraday market)和再平衡市场(Balancing market). 能源市场的实际交易主要发生在日前交易市场. 通常EPEX法国市场的日前交易市场每天形成24个报价, 即每小时一个报价.

    图4展示了EPEX法国市场2012年~2015年的一天的不同小时的价格的均值和标准差. 可以看出, 电力价格的标准差非常高, 在均值的1/4以上, 在个别时间段(9:00~11:00)的标准差甚至超出了均值. 这说明EPEX法国市场的电力价格具有超高的波动性. 图5图6分别展示了EPEX法国市场2012年~2015年每年的日级别平均价格和周级别平均价格. 可以看出, 无论是按日的级别还是周的级别对电价进行统计, 每年的电力价格均呈现非常相似的走势, 体现出明显的周期性.

    图 4  能源市场价格的高波动性
    Fig. 4  High volatility of electricity price
    图 5  能源市场价格的日级别周期性
    Fig. 5  The daily seasonality of electricity price
    图 6  能源市场价格的周级别周期性
    Fig. 6  The weekly seasonality of electricity price

    选用EPEX法国市场的电力价格数据作为仿真来源. 数据来自日前电力市场, 时间段取自2012年1月1日~2016年6月30日, 其中2012年1月1日~2015年12月31日(共1 461天)的序列数据用来做训练和验证, 2016年1月1日~2016年6月30日(共182天)的序列数据用来做测试. 通常每天有24个时间点(夏令时转换日有23个时间点, 冬令时转换日有25个时间点).

    为了保证数据的稳定性, 需要对数据进行预处理, 去除数据的均值和波动率的影响

    $$ \tilde {x}_t^h = \frac{x_t^h -\bar {x}_t }{std\left( x \right)} $$ (26)

    其中, $ x $代表所有的序列数据, $ h $表示序列中的年份信息(2012年~2016年),$ x_t^h $表示不同年份的在同一时间点$ t $的序列值, $ \bar {x}_t $表示$ x_t^h $按年份展开的子序列的均值, $ \tilde {x}_t^h $为处理后的序列值. 经过这样的变换, 大部分时间点的数据处于[−1, 1]区间, 可以避免出现一些数值问题.

    实验对比了几种基础的循环神经网络: RNN、LSTM和GRU. 为了分析周期损失和趋势损失的作用, 在GRU的基础上分别添加周期损失、趋势损失或者两者都添加.

    循环神经网络需要调整的超参数有: 隐层大小、优化器、初始学习率、批大小(batch size)、训练轮数(epochs)以及延迟窗宽. 针对引入周期损失和趋势损失的GRU, 还需要调整的有: 周期损失系数$ \lambda _S $、周期损失中的周期跨度kT、趋势损失系数($ \lambda _{\rm trend}^{\rm VAR} $$ \lambda _{\rm trend}^{\rm MEAN} $$ \lambda _{\rm trend}^{\rm MAX} $$ \lambda _{\rm trend}^{\rm MIN} $)和趋势窗宽$ w $. 这里考虑能源市场的短期周期, 故$ k $取1,$ T $取24. 由于能源市场的价格预测任务往往不关注每日的平均价格和价格的波动预测的误差, $ \lambda _{\rm trend}^{\rm MEAN} $$ \lambda _{\rm trend}^{\rm VAR} $的值都预设为0, 不再纳入超参数选择中. 能源市场的价格预测比较关注一天内的最大最小值, 因此趋势窗宽$ w $设为24. 训练时间段的最后一个月(2015年12月)作为验证时间段. 通过在验证时间段内进行多次实验的方式来选取超参数. 选出来的超参数将被用于在完整的训练时间段上的训练. 循环神经网络的超参数设置如表1所示.

    表 1  循环神经网络的超参数设置
    Table 1  The hyperparameters of RNN
    超参数具体取值
    隐层大小64
    优化器RMSProp, 配合梯度裁剪
    初始学习率0.001
    批大小64
    训练轮数12
    延迟窗宽14
    下载: 导出CSV 
    | 显示表格

    表2列出了周期损失和趋势损失的合理的取值范围.

    表 2  周期损失和趋势损失的权重范围
    Table 2  Weights range of seasonal loss and trend loss
    权重取值范围
    $\lambda_S $0.05~0.15
    $\lambda_T^{\rm{MEAN}} $0
    $\lambda_T^{\rm{MAX}} $0.05~0.1
    $\lambda_T^{\rm{MIN}} $0.05~0.1
    $\lambda_T^{\rm{VAR}} $0
    下载: 导出CSV 
    | 显示表格

    除了与基础的循环神经网络进行对比, 另外还选取了ARIMA、SVR和KRR作为对比模型. SVR和KRR的超参数均通过在训练时间段内的5折交叉验证直接选取, 均选用3阶多项式核. 为了满足ARIMA模型的静态性要求, 电力价格数据还需要经过特殊处理, 即将序列减去最小值后取对数, 然后进行天级和周级的延迟差分

    $$ {p}' = (1-\beta ^{24})(1-\beta ^{168})\ln (p-\min p+1) $$ (27)

    实验采用均方根误差(Root mean square error, RMSE)和平均绝对误差(Mean absolute error, MAE)作为评价指标

    $$ RMSE = \sqrt {\frac{1}{N}\sum\limits_{t = 1}^N {\left( {\hat {y}_t -y_t } \right)^2} } $$ (28)
    $$ MAE = \frac{1}{N}\sum\limits_{t = 1}^N {\left| {\hat {y}_t -y_t } \right|} \quad \quad \quad $$ (29)

    其中, $ N $表示测试时间段的时间点数. RMSE也是各模型训练时的损失指标.

    为了更合理地比较趋势损失的影响, 本文还引入了两个额外指标, 最大趋势绝对误差$ {MAE}^{\rm{MAX}} $和最小趋势绝对误差$ {MAE}^{\rm{MIN}} $, 分别考察模型对每天电力价格最大值和最小值的预测能力

    $$ \begin{split} MAE^{\rm{MAX}} =\; & \frac{1}{M}\sum\limits_{t = 1}^M {\left| {\max \left( {\hat {y}_{t-w+1} ,\cdots ,\hat {y}_t } \right)} \right.}- \\ & \left. {\max \left( {y_{t-w+1} ,\cdots ,y_t } \right)} \right| \\ \end{split} $$ (30)
    $$ \begin{split} MAE^{\rm{MIN}} =\; & \frac{1}{M}\sum\limits_{t = 1}^M {\left| {\min \left( {\hat {y}_{t-w+1} ,\cdots ,\hat {y}_t } \right)} \right.}- \\ & \left. {\min \left( {y_{t-w+1} ,\cdots ,y_t } \right)} \right| \\ \end{split} $$ (31)

    其中, $ M $表示测试时间段划分的趋势窗的数目.

    由于神经网络在训练过程中具有一定的随机性, 每次训练的得到的结果都有所不同. 为了保证实验结果的可信性, 对所有循环神经网络采用了重复10次训练并取测试结果的平均值和标准差. 各方法在能源价格预测的结果见表3.

    表 3  各种方法的能源价格预测效果对比
    Table 3  The result comparisons of different methods for electricity price forecasting
    模型RMSEMAE${MAE}^{\rm{MAX}}$${MAE}^{\rm{MIN}}$
    ARIMA6.414.775.154.82
    SVR4.913.714.273.34
    KRR5.143.753.813.78
    RNN5.09±0.243.75±0.193.72±0.283.78±0.19
    LSTM4.90±0.183.65±0.173.65±0.423.61±0.26
    GRU4.83±0.193.54±0.063.64±0.313.56±0.26
    GRU, $\lambda_S$ = 0.1, $\lambda_T^{\rm{MAX}}$ = 0, $\lambda_T^{\rm{MIN}}$ = 04.71±0.163.49±0.133.53±0.283.53±0.15
    GRU, $\lambda_S$ = 0.05, $\lambda_T^{\rm{MAX}}$ = 0, $\lambda_T^{\rm{MIN}}$ = 04.74±0.113.45±0.183.53±0.233.48±0.26
    GRU, $\lambda_S$ = 0 , $\lambda_T^{\rm{MAX}}$ = 0.1 , $\lambda_T^{\rm{MIN}}$ = 0.14.85±0.163.57±0.203.41±0.263.41±0.18
    GRU, $\lambda_S$ = 0 , $\lambda_T^{\rm{MAX}}$ = 0.05 , $\lambda_T^{\rm{MIN}}$ = 0.054.83±0.113.54±0.083.39±0.183.42±0.15
    GRU, $\lambda_S$ = 0.1, $\lambda_T^{\rm{MAX}}$ = 0.1 , $\lambda_T^{\rm{MIN}}$ = 0.14.68±0.083.45±0.033.35±0.133.33±0.12
    GRU, $\lambda_S$ = 0.05, $\lambda_T^{\rm{MAX}}$ = 0.05 , $\lambda_T^{\rm{MIN}}$ = 0.054.60±0.153.34±0.123.38±0.133.27±0.11
    下载: 导出CSV 
    | 显示表格

    从实验结果可以看出, 对于电力价格预测这类复杂的时间序列预测问题, ARIMA模型的预测效果不佳, SVR、KRR和RNN的效果接近且远远优于ARIMA模型LSTM和GRU的预测效果比SVR和KRR更好, 而基础的GRU在对比模型中效果最佳. 添加周期损失能对GRU起到比较好的辅助效果, 有助于降低模型的预测误差, 提升预测效果. 趋势损失最直接的影响是显著降低最大趋势误差和最小趋势误差, 说明模型通过趋势损失捕捉到了数据在时间窗内的趋势信息(包括电力价格的极值、均值和变化率等), 这对模型捕捉数据特征的能力起到了有力的补充. 另外可以注意到的是, 加入周期损失也能够降低最大趋势误差和最小趋势误差. 这说明周期损失有助于网络捕捉一些数据的本质特征. 实验结果表明: 同时引入周期损失和趋势损失可以使GRU的性能达到最佳.

    引入周期损失和趋势损失的GRU在最佳的参数下($ \lambda _S = \lambda _T^{\rm{MAX}} = \lambda _T^{\rm{MIN}} = 0.05 $)的预测结果如图7所示.

    图 7  加入了周期损失和趋势损失的GRU模型的预测结果
    Fig. 7  The results of electricity price forecasting with seasonal loss and trend loss

    可以看出, 引入周期损失和趋势损失的GRU对电力价格数据的预测效果不错, 预测曲线对真实数值的走势和变化跟踪准确. 预测曲线具有非常好的周期性, 这体现了周期损失中周期性约束的作用. 同时, 预测曲线更偏向于平稳的预测, 这在一定程度上避免了噪声带来的预测性能损失. 另外, 预测曲线在正常情况下的最大最小值的预测效果很好, 说明趋势损失能够起到有效的监督效果. 但可以观察到的是, 模型在一些极端值(电力价格的异常攀升和下降)上的预测效果不佳. 这涉及到突变的预测问题, 在现有模型框架下难有较好的预测效果.

    为了进一步分析周期损失的效果, 将GRU和加入周期损失的GRU在训练一段时间之后的隐藏状态$ h_t $分别抽出, 并将向量$ h_t $的均值作对比, 部分结果如图8所示.

    图 8  GRU在有无周期损失时的隐藏状态均值的比较
    Fig. 8  Hidden states of GRU with and without the seasonality

    由于时间序列本身具有一定的周期性, 使得隐藏状态序列都表现出了一定的周期性. 但是, 使用了周期损失的GRU的隐藏状态明显更加平稳, 并且每个周期内的数值更加平滑; 而未使用周期损失的GRU的隐藏状态的波动性更大, 并且单个周期内的波动也更大. 这些更大的波动可以认为是捕捉到了更多的噪声. 所以, 周期损失有助于捕捉数据更本质的特征而非噪声.

    循环神经网络能够提取时间序列中的深层信息, 是非常有效的时间序列预测方法. 本文通过定义周期损失和趋势损失的合理形式, 试图在循环神经网络内对时间序列的周期和趋势进行建模, 改善模型的性能, 建立了基于周期性建模和多任务学习的时间序列预测模型. 在能源市场价格预测的任务的仿真实验表明: 本文提出的周期损失能够有效引导循环神经网络学习数据的周期性, 提升预测效果, 降低数据噪声的影响. 周期损失还有助于模型捕捉数据的本质特征. 趋势损失则能对提升趋势相关的预测任务的预测效果.

  • 图  1  具有容性负载的直流微电网系统

    Fig.  1  The DC micro-grid systems with capacitive loads

    图  2  3个模块之间的通信拓扑

    Fig.  2  The communication topology for the three modules

    图  3  3个模块的输出电流均衡曲线

    Fig.  3  The current-sharing curves for the three modules

    图  4  通信时断时续下3个模块的输出电流均衡曲线

    Fig.  4  The current-sharing curves for the three modules with time varying communication

    图  5  10个模块的输出电流均衡曲线

    Fig.  5  The current-sharing curves for the ten modules

    图  6  调节增益下10个模块的输出电流均衡曲线

    Fig.  6  The current-sharing curves for the ten modules when the gains are tuned

    图  7  30个模块的输出电流均衡曲线

    Fig.  7  The current-sharing curves for the 30 modules

    图  8  均流实验平台

    Fig.  8  Hardware setup

    图  9  并联模块均流实验结果

    Fig.  9  The current-sharing experimental results for 3 parallel-connected modules

    图  10  增益调节下并联模块均流实验结果

    Fig.  10  The current-sharing experimental results for 3 parallel-connected modules when the gains are tuned

  • [1] Jadbabaie A, Lin J, Morse A S. Coordination of groups of mobile agents using nearest neighbor rules. IEEE Transactions on Automatic Control, 2003, 48(6): 988−1001 doi: 10.1109/TAC.2003.812781
    [2] Olfati-Saber R, Alex Faxand J, Murray R. Consensus and cooperation in networked multi-agent systems. Proceedings of the IEEE, 2007, 95(1): 215−233 doi: 10.1109/JPROC.2006.887293
    [3] Aysal T C, Yildiz M E, Sarwate A D, Scaglione A. Broadcast gossip algorithms for consensus. IEEE Transaction on Signal Process, 2009, 57(7): 2748−2761 doi: 10.1109/TSP.2009.2016247
    [4] Olfati-Saber R, Murray R M. Consensus problems in networks of agents with switching topology and time-delays. IEEE Transactions on Automatic Control, 2004, 49(9): 1520−1533 doi: 10.1109/TAC.2004.834113
    [5] Ren W, Beard R W. Consensus seeking in multi-agent systems under dynamically changing interaction topologies. IEEE Transactions on Automatic Control, 2005, 50(5): 655−661 doi: 10.1109/TAC.2005.846556
    [6] Qu Z H, Wang J, Hull R A. Cooperative control of dynamical systems with application to autonomous vehicles. IEEE Transactions on Automatic Control, 2008, 53(4): 894−911 doi: 10.1109/TAC.2008.920232
    [7] Xin H H, Lu Z, Qu Z H, Gan D F, Qi D. Cooperative control strategy for multiple photovoltaic generators in distribution networks. IET Control Theory and Applications, 2011, 5(14): 1617−1629 doi: 10.1049/iet-cta.2010.0538
    [8] Moayedi S, Nasirian V, Lewis F L, Davoudi A. Team oriented load sharing in parallel DC-DC converters. IEEE Transactions on Industrial Electronics, 2015, 51(1): 479−490
    [9] Behjati H, Davoudi A, Lewis F L. Modular DC-DC converters on graphs: Cooperative control. IEEE Transactions on Power Electronics, 2014, 29(12): 6725−6741 doi: 10.1109/TPEL.2014.2303192
    [10] Nasirian V, Davoudi A, Lewis F L, Guerrero J. M. Distributed adaptive droop control for DC distribution systems. IEEE Transactions on Energy Conversion, 2014, 29(4): 944−956 doi: 10.1109/TEC.2014.2350458
    [11] Shafiee Q, Dragicevic T, Vasquez J C, Guerrero J. M. Hierarchical control for multiple DC-microgrids clusters. IEEE Transactions on Energy Conversion, 2014, 29(4): 922−933 doi: 10.1109/TEC.2014.2362191
    [12] Moayedi S, Davoudi A. Distributed tertiary control of DC microgrid clusters. IEEE Transactions on Power Electronics, 2016, 31(2): 1717−1733 doi: 10.1109/TPEL.2015.2424672
    [13] Ding L, Han Q L, Wang L Y, Sindi E. Distributed cooperative optimal control of DC microgrids with communication delays. IEEE Transactions on Industrial Informatics, 2018, 14(9): 3924−3935 doi: 10.1109/TII.2018.2799239
    [14] Abhinav S, Modares H, Davoudi A, Lewis F L. Resilient cooperative control of DC microgrids. IEEE Transactions on Smart Grid, 2019, 10(1): 1083−1086 doi: 10.1109/TSG.2018.2872252
    [15] Erickson R W. Fundamentals of Power Electronics. London: Kluwer Aademic Publishers, 2004. 1−883
    [16] Zubieta L, Bonert R. Characterization of double-layer capacitors for power electronics applications. IEEE Transactions on Industry Applications, 2000, 36(1): 199−205 doi: 10.1109/28.821816
    [17] Diestel R. Graph Theory. New York: Springer-Verlag, 1997. 1−451
    [18] Bassi E, Benzi F, Lusetti L, Buja G S. Communication protocols for electrical drives. In: Proceedings of the 21st International Conference on Industrial Electronics, Control and Instrumentation. Orlando, USA: IEEE, 1995. 706−711
    [19] Behjati H, Davoudi A, Lewis F L. Distributed multiagent control of parallel Cúk converters using feedback linearization.In: Proceedings of the 29th IEEE Applied Power Electronics Conference and Exposition. Fort Worth, USA: IEEE, 2014. 1979–1985
    [20] Zhang H W, Lewis F L, Qu Z H. Lyapunov, adaptive, and optimal design techniques for cooperative systems on directed communication graphs. IEEE Transactions on Industrial Electronics, 2012, 59(7): 3026−3041
  • 期刊类型引用(6)

    1. 王本斐,张荣辉,冯国栋,Manandhar Ujjal,郭戈. 基于事件触发的直流微电网无差拍预测控制. 自动化学报. 2024(03): 475-485 . 本站查看
    2. 刘伟民,王永越,马欣阳,刘金琨. 输入时滞多智能体系统的输入受限一致性控制. 系统工程与电子技术. 2024(09): 3176-3184 . 百度学术
    3. 王君,焦远. 不确定通信拓扑多智能体一致性容错控制问题研究. 兵工自动化. 2023(03): 31-38 . 百度学术
    4. 邓志良,梁旭. 一种基于动态事件触发的分布式优化算法. 南京信息工程大学学报(自然科学版). 2023(02): 218-224 . 百度学术
    5. 黄博南,王勇,李玉帅,刘鑫蕊,杨超. 基于分布式神经动态优化的综合能源系统多目标优化调度. 自动化学报. 2022(07): 1718-1736 . 本站查看
    6. 杨美辉,周念成,王强钢,廖建权,孟潇潇. 基于分布式协同的双极直流微电网不平衡电压控制策略. 电工技术学报. 2021(03): 634-645 . 百度学术

    其他类型引用(5)

  • 加载中
图(10)
计量
  • 文章访问数:  1383
  • HTML全文浏览量:  204
  • PDF下载量:  204
  • 被引次数: 11
出版历程
  • 收稿日期:  2019-01-08
  • 录用日期:  2019-09-24
  • 网络出版日期:  2020-07-10
  • 刊出日期:  2020-07-10

目录

/

返回文章
返回