毕设分享--基于神经网络的区域电力负荷短期预测研究(第一次发文章)

这是一个毕业设计完成时间是2021年四月份,当时我做毕设遇到了很多问题,磕磕绊绊也是做完了。前段时间调剂失败,现在自己也工作了,嵌入式。

五一假期觉得做点别的,把毕设传上来吧! 用的是python tensorflow bp神经网络

数据来源老师提供的

先给大家看看流程图 下图

下图这是真是数据

线性回归部分见下图

 

神经网络部分见下图

(1)先分析影响因素

 

 

参数

相关度(series库)

最高温度

0.49

最低温度

0.47

平均温度

0.52

相对湿度

0.15

降雨量

-0.06

(2)网络层数 学习率这部分我就省略 直接看效果

 

 

参数

设置

Batch_size

64

Epoch

200

Loss

Mse

Optimizer

Adam

Learning_rate

0.01

 下面是论文的附录代码,完整代码放在了GitHub

附录一:
线性回归核心部分代码

#设置超参数
lr=0.02
epoch = 40
display_step =1
#设置参数初值
np.random.seed(123)
w=np.random.randn(6,1)

#训练模型
mse_train= [] #保持迭代后的损失
mse_test = []

for i in range(0,epoch+1):
    dl_dw = np.matmul(np.transpose(x_train),np.matmul(x_train,w)-y_train)
    w= w-lr*dl_dw
    pred=(np.matmul(x_train,w))
    loss=1000*(np.mean(np.square(y_train-pred))/2)
    mse_train.append(loss)

    if i % display_step == 0:
        # print(mse_train[i])
        print("i :%i,loss:%f" %(i,mse_train[i]))



附录二:
神经网络核心部分代码

model= tf.keras.Sequential(
    [tf.keras.layers.Dense(64,input_shape=(4,),activation='relu'),
     tf.keras.layers.Dense(64,activation='relu'),
        tf.keras.layers.Dense(32,activation='relu'),
     tf.keras.layers.Dense(1)
     ]
     )

model.summary()
model.compile(
    optimizer=tf.optimizers.Adam(lr=0.01),
    loss='mse',)

history=model.fit(x_train,y_train,epochs=400)

训练和测试的负荷数据也放GitHub了

https://github.com/waterinput/Graduation-Short-term-forecasting-of-power-load-based-on-neural-network

最后关于我的学习过程我放到b站了,有兴趣可以看,没兴趣跳过

电力负荷短期预测神经网络(python&tensorflow)_哔哩哔哩_bilibili

评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值