基于神经网络的负荷预测(Python代码实现)
2023-09-14 09:05:20 时间
👨🎓个人主页:研学社的博客
💥💥💞💞欢迎来到本博客❤️❤️💥💥
🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。
⛳️座右铭:行百里者,半于九十。
📋📋📋本文目录如下:🎁🎁🎁
目录
💥1 概述
电力负荷,又称“用电负荷" 电能用户的用电设备在某一时刻向电力系统取用的电功率的总和。电力负荷预测的实质是从已知的电力系统、经济、社会、气象等情况出发,根据历史负荷变化规律,对未来某个时刻或时段做出预先估计和推测。电力负荷预测影响着电力系统的管理和运行,是电力系统制定发电计划、交易计划、调度计划等的重要依据。对电力负荷预测进行分类依据的划分标准有很多,预测时间周期是较为常见的一种,可以将电力负荷预测分为超短期负荷预测、短期负荷预测、中期负荷预测和长期负荷预测四类。超短期负荷预测的时间从几秒或几分钟到几个小时,短期负荷预测的时间从小时到周,中期负荷预测和长期负荷预测的时间从月到年。其中,超短期负荷预测和短期负荷预测可归为短期预测,中期负荷预测和长期负荷预测合称为中长期预测[ 1]。电力负荷数据预处理和预测方法选择是电力负荷预测任务的关键环节。在电力负荷预测前,需要对负荷数据进行预处理,以减小异常历史数据对预测精度的影响;预测方法的选择和预测模型的建立直接影响着预测结果能否取得理想的准确度,进而影响整个电力系统的运行,因此是十分重要的。
📚2 运行结果
部分代码:
import matplotlib as mpl mpl.rcParams['figure.dpi']= 100 import matplotlib.pyplot as plt def train(net, X_train, y_train, X_test, y_test, epochs, verbose_epoch, learning_rate, weight_decay): train_loss = [] if X_test is not None: test_loss = [] batch_size = 110 dataset_train = gluon.data.ArrayDataset(X_train, y_train) data_iter_train = gluon.data.DataLoader( dataset_train, batch_size,shuffle=True) trainer = gluon.Trainer(net.collect_params(), 'adam', {'learning_rate': learning_rate, 'wd': weight_decay}) net.collect_params().initialize(force_reinit=True) for epoch in range(epochs): for data, label in data_iter_train: with autograd.record(): output = net(data) loss = square_loss(output, label) loss.backward() trainer.step(batch_size) cur_train_loss = get_rmse_log(net, X_train, y_train) if epoch > verbose_epoch: print("Epoch %d, train loss: %f" % (epoch, cur_train_loss)) train_loss.append(cur_train_loss) if X_test is not None: cur_test_loss = get_rmse_log(net, X_test, y_test) test_loss.append(cur_test_loss) plt.plot(train_loss) plt.legend(['train']) if X_test is not None: plt.plot(test_loss) plt.legend(['train','test']) plt.show() if X_test is not None: return cur_train_loss, cur_test_loss else: return cur_train_loss
🌈3 Matlab代码实现
🎉4 参考文献
部分理论来源于网络,如有侵权请联系删除。
相关文章
- pycharm opencv安装_pycharm自带python
- python win32api messagebox_如何在Python中使用Win32 API?
- python写出表白_简单python 表白代码
- python qt是什么_初识Python与Qt「建议收藏」
- 苹果电脑python官网下载步骤-Python下载和安装图文教程[超详细]
- python进制转换函数-Python中进制转换函数的使用
- python中dtype的使用规范_Python numpy.dtype() 使用实例
- python hashlib_Python hashlib模块实例使用详解
- python在线代码编辑器-5种最佳Python IDE和代码编辑器
- 【说站】python类方法的使用注意
- 【说站】python去除字符串的前导或后续
- python分析人口出生率代码_国家统计局居然也能用的上Python?人口数据Python脚本了解一下?…[通俗易懂]
- 基于卷积神经网络的手写数字识别系统_python 卷积神经网络
- 使用PYTHON中KERAS的LSTM递归神经网络进行时间序列预测|附代码数据
- python重复执行10次_卡bug
- Python字典提取_python字典键对应的值
- Python 冒泡排序_python
- Python保存json_python保存json文件
- 分享一个口碑炸裂的Python可视化模块,简单快速入手!!
- 人生苦短,我用Python-手把手教你如何使用python写串口调试助手
- Python tkinter 制作一个经典的登录界面和点击事件
- 把python脚本编译成exe
- PYTHON链家租房数据分析:岭回归、LASSO、随机森林、XGBOOST、KERAS神经网络、KMEANS聚类、地理可视化|附代码数据
- Python中的封装与多态
- Python学习:6.python内置函数详解编程语言
- Linux创建Python文件的步骤(linux新建python文件)
- python学习Linux、Python,体验自由的乐趣(lexlinux)
- Linux环境下Python开发的历程(linux与python)
- Python如何使用MySQL构建立连接(python怎么连接mysql)
- 简明Python基础学习教程
- Python中的魔法方法深入理解
- python实现多线程暴力破解登陆路由器功能代码分享