楼主: 时光永痕
426 0

[数据挖掘新闻] 能源行业的深度无监督学 [推广有奖]

  • 0关注
  • 14粉丝

svip3

学术权威

12%

(VIP/贵宾)三级

66%

威望
0
论坛币
26 个
通用积分
49.7576
学术水平
4 点
热心指数
4 点
信用等级
4 点
经验
34070 点
帖子
2731
精华
0
在线时间
316 小时
注册时间
2020-7-21
最后登录
2024-4-28

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
能源行业的深度无监督学
在日短文章中,我将讨论非监督学习尤其是在能源d omain。该博客将主要关注实时深度学习的应用,而不是强调基本概念。但是首先,让我们看看无监督机器学习的含义是什么?它是机器学习的一个分支,它处理从数据集中识别隐藏模式的问题,并且不依赖于要标记的数据中目标变量的必要性。因此,这里使用算法来发现数据的基础结构,例如数据集群的存在,奇数数据检测等。
当所研究的期望变量的目标值未知时,深度学习技术的无监督形式用于查找目标(期望变量)与数据中其他变量之间的关系以得出结果(即可能的值目标)。
业务问题
如上所述,该业务案例将来自能源部门,尤其是(太阳能面板)能源的可再生形式。使用光伏和硅太阳能电池将辐射转换成电能的太阳能电池板在世界范围内已变得非常流行。越来越成为未来必不可少的能源选择。考虑这样一种情况:我在特定站点A上安装了太阳能电池板一段时间,并从电表板的计量电中节省了很多钱。
现在,我希望在其他地理位置/区域的其他站点B也安装类似的面板。但是,在我进行另一笔投资之前,根据从站点A上已安装的面板获得的功率,我可以知道在站点B上可以获得多少功率?这将帮助我针对该位置的投资和电力需求做出正确的决定。现在让我们看看问题陈述
问题陈述
根据过去M个月中地点A,B'处已安装的太阳能电池板所产生的功率,预测在将来的任何日期,地点B,B和B'在附近,即在相同的地理位置。
太阳数据集:(239538,10)
数据来自2019年12月至2020年10月期间的特定站点,并且具有10个功能以及23万行。转换为NumPy数组后,将具有以下结构
array(
[2019.,12.,4.,…,6.,0.,0.],
[2019.,12.,4.,…,6.,1.,0.],
[2019., 12.,4.,…,6.,2.,0.],
…,
[2020.,10.,4.,…,17.,57.,0.],
[2020.,10.,4 。,…,17.,58.,0.],
[2020.,10.,4.,…,17.,59.,0.]]]
太阳能电池板的主要动力是日光,因此要适应季节性和其他因素,该数据集包括“年”,“月”,“季度”,“星期几”,“星期几”,“ Dayofyear”,“ Weekofyear”,“ Hour”,“ Minute” 等作为主要预测变量,而“ Generated Power”作为因变量。一天的典型发电量看起来很像高斯曲线
自动编码器-功率趋势图
我们可以看到,发电时间为6.00 AM至晚上18:00(阳光小时),以分钟为单位。功率最初较小,然后逐渐增加,并在中午左右的某个时候达到峰值,然后在一天结束时逐渐减小,似乎继承了钟形曲线的质量。由此我们可以直观地推断出所有太阳能电池板都将具有这种模式,而不管其放置在哪个地理区域中,唯一的区别将在于该特定站点上产生的电量,这反过来可能取决于很多例如季节性,天气等因素,以及可用日照等其他因素。
自动编码器(AE)的强大功能
自动编码器是一种无监督的学习技术,用于压缩原始数据集,然后从压缩数据中对其进行重构。这里有一个编码器和解码器组件,可以完成这些功能。在这里,神经网络的主要思想是将输入转换成很少失真的输出。也就是说,在输出与图像降噪等输入非常相似的情况下,自动编码器会很好地工作。
自动编码器还用于特征提取,尤其是在数据尺寸较大的情况下。传统上,自动编码器通常在Images数据集中使用,但在这里我将在数值数据集上进行演示。概念保持不变。在我的示例中,我将利用AE的这一特性,因为在我的情况下,如上所述,我在另一个站点中获得的功率输出将与当前站点非常相似。我将在Keras中演示AE的2种变体,一种基于LSTM的AE和传统AE。
情况1:基于LSTM的自动编码器
我具有从2019年12月到2020年10月的两个站点A和B'的历史数据。站点B与站点B'处于同一地理边界。我希望找到基于Sita A,B'的历史数据在站点B产生的功率。我没有有关目标站点B的任何信息。
X1和X3是站点A的规范化数据,X3和X4是站点B'的规范化数据。数据集具有10个非常相似的特征,但X2s [:,9]和X4s [:,9]的微小变化在这些位置上具有功效值。我们将尝试使用简单的LSTM自动编码器将X1转换为X2。我在这里使用平均绝对误差作为损失和“线性”激活,因为我需要使预测功率值非常接近实际值(在这种情况下为站点B)。
这只是一个示例代码,旨在提供有关如何构建基于LSTM的AE的想法,需要使用不同的优化器/多层/纪元来调整超参数,以取??得很好的近似值。请参考下面的代码
from keras.models import Sequential
from keras.layers import LSTM
from keras.layers import Dense
from keras.layers import RepeatVector
from keras.layers import TimeDistributed
from keras.callbacks import EarlyStopping
odelCheckpoint
from keras.regularizers import l1
from keras import regularizers
# define model
model = Sequential()
model.add(LSTM(256
model.add(RepeatVector(X1s.shape[1]))
model.add(LSTM(256
model.add(TimeDistributed(Dense(1
adam = keras.optimizers.Adam(lr=0.001)
model.compile(optimizer=adam
model.summary()
earlyStopping = EarlyStopping(monitor='val_loss'
mcp_save = ModelCheckpoint('sola-001.mdl_wts.hdf5'
history = model.fit(X1s
_________________________________________________________________
Layer (type) Output Shape Param #
=================================================================
lstm_8 (LSTM) (None
_________________________________________________________________
repeat_vector_4 (RepeatVecto (None
_________________________________________________________________
lstm_9 (LSTM) (None
_________________________________________________________________
time_distributed_4 (TimeDist (None
=================================================================
Total params: 789
Trainable params: 789
Non-trainable params: 0
下图给出了有关A和B'的站点B预测。期望它应该非常接近B'。在这里,我们使用站点A,B'的数据得出对未知站点B的预测。下图是针对这些站点随机选取的3天趋势
该图表显示了三个站点A,B'和目标站点B在300天内的峰值功率
情况2:传统的自动编码器模型
input_dim = X1s.shape[1]
encoding_dim = 10
input_layer = Input(shape=(input_dim
encoder = Dense(encoding_dim
decoder = Dense(input_dim
encoder = Model(input_layer
autoencoder = Model(inputs=input_layer
adam = keras.optimizers.Adam(lr=0.001)
earlyStopping = EarlyStopping(monitor='val_loss'
mcp_save = ModelCheckpoint('sola-002.mdl_wts.hdf5'
autoencoder.compile(optimizer=adam
autoencoder.summary()
Model: "functional_3" ________________________________________________________________
Layer (type) Output Shape Param #
=================================================================
input_1 (InputLayer) [(None
_________________________________________________________________
dense (Dense) (None
_________________________________________________________________
dense_1 (Dense) (None
=================================================================
Total params: 220
Trainable params: 220
Non-trainable params: 0
在训练LSTM /常规AE模型后评估模型:
from sklearn.metrics import mean_absolute_error
import math
mean_absolute_error(a
MAE –峰值功率
MSE-峰值功率
MAE-即时电源
MSE-即时电源
LSTM AE
16.425307183116885
36.75704731479356
1.8404600416117294
12.231826378081937
常规AE
16.415917917337666
38.456323346248176
2.859275677961502
17.71553061457107
p –当天的即时电量;pd –一天中的峰值功率
act –一天中的实际瞬时功率;a –当天的实际峰值功率
最后,我们随机绘制了站点B'和新的期望站点B在30天的峰值功率
从上面可以清楚地看到,该模型在许多天的对应时间上的预测峰值接近于在站点B'处发现的实际值,而在其他几天则几乎没有宽泛的变化。好吧,在此博客中,我仅强调了自动编码器的功能以及它如何帮助检测未知信息。十分令人惊奇,不是吗?在现场,我们需要包括一些特定于领域的变量,并在超过100万个数据点上训练模型,以获得更好的结果。
题库
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:能源行业 distributed Sequential Functional generated

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-4 19:42