基于遗传算法优化TCN-LSTM开发预测研究(Python代码实现)

 👨‍🎓个人主页:研学社的博客  

💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Python代码实现


💥1 概述

时间卷积网络( temporal convolutional network ,TCN)是一种新型的、可以对时间序列数据进行处理的神经网络架构,与传统的卷积神经网络相比,它可以更有效地提取时序数据的特征。TCN通过卷积神经网络( convolutional neural network , CNN)变化而来,它由多个残差单元构成。为了提高学习能力, TCN通过加入残差连接模块,使得该模型可以将信息以跨层的方式来进行传递,进而使模型的反馈和收敛速度进一步提升。图1为TCN模型的单个残差单元。
在残差单元中一维扩张因果卷积发挥着重要作用,一维扩张因果卷积通过卷积系数来控制对输入的采样间隔,使得TCN 网络只需要通过很少的层,就能够拥有较长的感受野。同时和CNN不同TCN中的因果卷积不是双向,而是单向的,即模型中t时刻的输出只由前一层中t时刻及t时刻以前的输入来决定,这样避免了模型不会丢失掉历史信息及受到未来信息的影响,这也使得TCN模型变成了一种严格的时间约束模型。

📚2 运行结果

 

 

 

 

 部分代码:

fig, ax = plt.subplots(1, 1, figsize=( 18,6))
plt.plot(actual_entire_lstm_tcn, label = 'Actual production')
plt.plot(forecast_entire_lstm_tcn, label = 'GA-TCN-LSTM predicted values')

# create the horizontal dashed line
plt.axvline(x=train_X.shape[0] + 1, color='black', linestyle='--')
plt.legend()
# add text labels
plt.text(1350, 17500, 'Training set', rotation=0, verticalalignment='center', style='italic', fontweight='bold')
plt.text(1540, 15000, 'Testing set', rotation=0, verticalalignment='center', style='italic', fontweight='bold')

plt.ylabel('Daily Oil Prodcution, bbl', fontsize=15)
plt.xlabel('Days', fontsize=15)
plt.xticks(fontsize=15)
plt.yticks(fontsize=15)

# Create a font object with bold weight
font = FontProperties()
font.set_weight('bold')
plt.legend(fontsize=10, loc= 'upper right', prop=font)


plt.savefig("GA-TCN-LSTM actual-forecast.png", dpi=1600, bbox_inches='tight')
plt.show()

🎉3 参考文献

部分理论来源于网络,如有侵权请联系删除。

[1]赵星宇,吴泉军,朱威.基于CEEMDAN和TCN-LSTM模型的短期电力负荷预测[J].科学技术与工程,2023,23(04):1557-1564.

🌈4 Python代码实现