【可再生能源场景生成】使用生成对抗性网络的数据驱动场景生成方法研究(该方法基于两个互连的深度神经网络与基于概率模型的现有方法相比)(Python代码实现)
👨🎓个人主页:研学社的博客
💥💥💞💞欢迎来到本博客❤️❤️💥💥
🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。
⛳️座右铭:行百里者,半于九十。
📋📋📋本文目录如下:🎁🎁🎁
目录
💥1 概述
情景发电是可再生能源渗透率高的电力系统运行和规划的重要步骤。在本文中,提出了一种使用生成对抗性网络的数据驱动场景生成方法,该方法基于两个互连的深度神经网络,与基于概率模型的现有方法相比,我们的方法是数据驱动的,在时间和空间维度上捕获了大量相关资源的可再生能源生产模式。为了验证,我们使用了来自NREL积分数据集的风能和太阳能时间序列数据。证明所得,所提出的方法能够以完全多样的行为生成真实的风力和光伏功率分布我们还说明了如何在训练期间使用标记数据,根据不同的兴趣条件生成场景。例如,场景可以根据天气事件(例如
大风天、强烈的斜坡事件或大的预测误差)或一年中的时间(例如,7月的一天的太阳能发电)。由于神经网络的前馈性质,无需复杂的采样技术,就可以非常有效地生成场景。
GAN背后的直觉是利用深度神经网络(DNN)的力量,既表达复杂的非线性关系(生成器),又对复杂信号进行分类(鉴别器)。GAN的关键见解是在生成器DNN和鉴别器DNN之间建立一个最小最大两人游戏(因此名称中使用了“对抗性”)
在每个训练时期,生成器更新其权重以生成“假”样本,试图“欺骗”鉴别器网络,而鉴别器试图区分真实历史样本和生成的样本之间的差异。理论上,在达到纳什均衡时,GAN的最优解将为我们提供一个生成器,该生成器可以准确地恢复真实数据的分布,因此鉴别器将无法区分样本是来自生成器还是来自历史训练数据。此时,生成的场景与真实历史数据无法区分,因此尽可能真实。图2显示了我们特定环境下GAN培训程序的总体架构。
📚2 运行结果
部分代码:
Y_np_sample = OneHot(np.random.randint(5, size=[visualize_dim]), n=events_num) Zs = np.random.normal(mu, sigma, size=[batch_size, dim_z]).astype(np.float32) generated_samples = sess.run( image_tf_sample, feed_dict={ Z_tf_sample: Z_np_sample, Y_tf_sample: Y_np_sample }) generated_samples=generated_samples.reshape([-1,576]) generated_samples = generated_samples * 16 #16 is the maximum value for wind capacity we use. Change to your max value here csvfile=open('sample1.csv', 'wb') writer=csv.writer(csvfile) writer.writerows(generated_samples) csvfile=open('label1.csv', 'wb') writer=csv.writer(csvfile) writer.writerows(Y_np_sample) #plot the loss and P_real as well as P_fake print("P_real",P_real) print("P_fake",P_fake) plt.plot(P_real,label="real") plt.plot(P_fake,label="fake") plt.legend() plt.show() plt.plot(discrim_loss,label="discrim_loss") plt.legend() plt.show()
🎉3 文献来源
部分理论来源于网络,如有侵权请联系删除。
🌈4 Python代码、数据、文章讲解
相关文章
- python skitlearn_Python sklearn
- python中矩阵的转置怎么写_Python 矩阵转置的几种方法小结
- 【Python基础】Python简介
- python jieba库_Python jieba库的使用说明「建议收藏」
- python判断linux中文件是否存在_Python判断文件是否存在的三种方法
- Keras/Tensorflow+python+yolo3训练自己的数据集
- Python 一行代码输出心形图案
- python海龟绘图画圆_Python启蒙之海龟作图「建议收藏」
- Python 技巧篇-pip卸载python库实例演示,查看pip命令大全方法[通俗易懂]
- 【说站】python如何制作探针模块
- python修改第三方库重写_对Python第三方库,再次封装
- python判断文件后缀_Python 判断文件后缀是否被篡改
- python设置时间过期改变状态_Python Redis设置过期时间「建议收藏」
- 对比VBA学习Python,让办公更自动化!
- 【Python】协程学习笔记
- python-Python与MongoDB数据库-使用Python执行MongoDB查询(二)
- 一步一步学会在Linux上运行Python程序(linux运行python程序)
- 使用Python执行Linux命令的方法(python调用linux命令)
- Linux系统如何运行Python脚本(linux执行python脚本)
- 安装Python MySQL驱动之快速指南(python安装mysql驱动)
- Linux查看Python安装路径的方法(linux查看python安装路径)