💥💥💞💞欢迎来到本博客❤️❤️💥💥
🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。
⛳️座右铭:行百里者,半于九十。
📋📋📋本文目录如下:🎁🎁🎁
目录
💥1 概述
在当今的能源领域,锂电池的荷电状态(SOC)估计技术无疑是维持电池健康和最优性能的关键。利用PyTorch这一先进的深度学习框架,我们开展了一项前沿的研究,致力于通过基于Basisformer的时间序列预测算法,提高SOC的估算精度。
该研究不仅关注了时间序列数据的深层特征提取,而且在学习过程中融入了自适应监督和自监督的对比学习方法。这种独创的方法能够自主适应各种复杂时序特征,协助模型更准确地捕捉到电池的充电和放电模式。
核心技术之一是通过创新的双向交叉注意力机制,该机制能精巧地抽丝剥茧地计算出历史数据序列与设定的基准数据序列之间的相互影响和相关性。通过这一过程,模型能够智能选择恰当的基准序列,为未来的SOC预测提供一个稳固的起点。
此模型已经被精心打造以适应PyTorch框架,具备处理多种输入输出模式的灵活性,包括多输入单输出、多输入多输出以及单输入单输出模式。无论面对何种数据流结构,它都能迅速适配并发挥其高效的预测能力。
实际应用中,我们的Basisformer优越性已显著体现,在锂电池SOC估算方面取得了突破性的成果。这一技术不仅仅局限于电池领域,它的普适性意味着在适当调整后,可以轻松地适用于其他类型的时间序列预测数据集,极大地扩宽了其应用范围。通过结合强大的深度学习模型和细腻的注意力机制,此方法旨在推动现有预测技术向着更高的准确性、稳健性阶梯攀升。
📚2 运行结果
部分代码:
def map(data,MIN,MAX): """ 归一化映射到任意区间 :param data: 数据 :param MIN: 目标数据最小值 :param MAX: 目标数据最小值 :return: """ d_min = np.max(data) # 当前数据最大值 d_max = np.min(data) # 当前数据最小值 return MIN +(MAX-MIN)/(d_max-d_min) * (data - d_min) from sklearn.preprocessing import StandardScaler scaler = StandardScaler() pred = np.load('results/setting/pred.npy') # 更换自己的路径 print(pred.shape) pred = pred[100:,0,-1].ravel() #丢弃前100个值 print(pred.shape) true = pd.read_csv('NN_UDDS_25.csv') # 更换自己的路径 true = true['SOC'][-pred.shape[0]:,].ravel() pred = map(pred, max(true), min(true)) plt.plot(true * 100, label='true') plt.plot(pred * 100, label='pred') plt.legend() plt.ylabel('SOC(%)') plt.title('Basisformer SOC估计曲线(三次迭代效果)') plt.show() plt.plot((true-pred) * 100) plt.ylabel('SOC误差(%)') plt.title('Basisformer SOC估计误差(三次迭代效果)') plt.show() # 评价指标 print("MAE:", mean_absolute_error(true,pred) * 100) print("MSE:", mean_squared_error(true,pred) * 100) print("RMSE:",sqrt(mean_squared_error(true,pred) * 100)) print("R2: ", r2_score(true,pred))
🎉3 参考文献
文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。
[1]徐东辉.基于混沌时间序列LS-SVM的车用锂离子电池SOC预测研究[J].车用发动机, 2019(2):5.DOI:CNKI:SUN:CYFD.0.2019-02-012.
[2]黄智宇,曹玉恒.基于GA-RBF网络的磷酸铁锂电池SOC预测研究[J].重庆邮电大学学报:自然科学版, 2013, 25(3):6.DOI:10.3979/j.issn.1673-825X.2013.03.024.
[3]何复兴.基于数据驱动的锂离子电池荷电状态及健康状态估计研究[J].[2024-03-24].