这是一个毕业设计完成时间是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
Original: https://blog.csdn.net/c704125391/article/details/124508887
Author: 一壶白开水在烧
Title: 毕设分享–基于神经网络的区域电力负荷短期预测研究(第一次发文章)
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/689405/
转载文章受原作者版权保护。转载请注明原作者出处!