文章解读与仿真程序复现思路——电网技术EI\CSCD\北大核心《基于多任务学习和单任务学习组合模型的综合能源系统多元负荷预测》

这篇文章的标题表明它涉及到综合能源系统中的多元负荷预测,并采用了基于多任务学习和单任务学习组合模型的方法。让我们分解一下这个标题:

  1. 综合能源系统: 文章的焦点是在一个综合能源系统上进行研究。综合能源系统通常包括多种能源类型(比如电力、热能等)的集成和优化。

  2. 多元负荷预测: 文章关注的是对综合能源系统中多个负荷(即能源需求或消耗)进行预测。这可能涉及到对电力负荷、热负荷等多种负荷的预测。

  3. 基于多任务学习: 表明在研究中采用了多任务学习的方法。多任务学习是一种机器学习方法,其中模型被设计用于同时执行多个相关任务,以提高整体性能。

  4. 和单任务学习组合模型: 这部分说明了在研究中不仅使用了多任务学习,还结合了单任务学习。单任务学习是传统的机器学习方法,用于处理一个特定的任务。

因此,这篇文章的主要目标是探讨如何利用多任务学习和单任务学习相结合的方法,来进行综合能源系统中多元负荷的预测。这种方法可能有助于提高预测的准确性和系统整体性能。

摘要:针对气象因素对多元负荷变化的灵敏度差异及多元负荷间耦合强度的差异导致多任务学习(multi-task learning,MTL)预测模型精度受限的问题,提出一种MTL和单任务学习(single-task learning,STL)组合的多元负荷预测方法。首先使用基于长短期记忆(long and short-term memory,LSTM)网络的MTL模型提取多元负荷间的耦合信息进行初步预测;然后采用基于前置双重注意力长短期记忆(dual attention before LSTM,DABLSTM)网络的STL模型减少输入噪声进行二次预测;同时将初步的预测值输入STL模型,使得STL模型可以考虑未来的时序信息;最后,通过全连接层对两个模型的预测结果进行融合得到最终的预测结果。实验结果表明,所提组合模型相比单一的MTL和STL模型具有更高的预测精度。

这篇摘要介绍了一种用于多元负荷预测的新方法,目的是解决气象因素对负荷变化和负荷之间耦合强度不同所带来的挑战,这些挑战使得仅采用多任务学习(MTL)方法预测模型的精度受限。

这个新方法的步骤如下:

  1. 多任务学习模型(MTL)的应用: 首先,使用基于长短期记忆网络(LSTM)的多任务学习模型,从多元负荷间提取耦合信息进行初步预测。这个步骤旨在利用多任务学习模型处理负荷之间的关联性。

  2. 单任务学习模型(STL)的引入: 接着,采用基于前置双重注意力长短期记忆网络(DABLSTM)的单任务学习模型,以减少输入的噪声进行二次预测。这个模型的作用是进一步提高预测的准确性。

  3. 信息融合: 初步的预测值被输入到单任务学习模型,使得单任务学习模型可以考虑未来的时序信息。最后,通过全连接层将两个模型的预测结果融合,得到最终的预测结果。

实验结果表明,这种新的组合模型相较于仅使用单一的多任务学习或单任务学习模型,具有更高的预测精度。这意味着这种方法可能更有效地处理了负荷预测中存在的气象因素差异和负荷间耦合强度差异所带来的挑战。

关键词:综合能源系统;多任务学习;单任务学习;长短时记忆网络;注意力机制;负荷预测;

当结合这些关键词时,涉及到一个综合能源系统的问题,该系统可能包括多种能源类型(比如电力、风能、太阳能等)的生产、储存和分配。在这样的系统中,负荷预测是一个关键的任务,它涉及对未来能源需求的估计。而为了更有效地进行这种预测,研究者们引入了多任务学习(MTL)和单任务学习(STL)的概念。

长短时记忆网络(LSTM)是一种适用于序列数据的神经网络结构,常用于时间序列预测任务,包括负荷预测。它能够捕捉数据中的长期依赖关系,有助于更准确地预测未来的负荷变化。

注意力机制在神经网络中被广泛应用,能够使模型更加专注于输入数据的特定部分,有助于提高预测精度。在这里,提到了注意力机制可能是指在模型中引入了一种机制,让模型能够有选择性地关注负荷预测中最重要的特征或信息。

综合起来,这些关键词指向了一个领域,即在综合能源系统中,利用多任务学习和单任务学习结合长短时记忆网络和注意力机制的方法,以提高负荷预测的准确性和效率。这种方法可能有助于更好地理解和应对复杂能源系统中的负荷波动和需求变化。

仿真算例:本文使用美国亚利桑那州立大学的综合能源系统公开数据集[26],该系统包含电、冷、热负荷,数据采样频率为 1h 采集一次,同时,收集该地区对应时期的气象数据[27],收集到的气象特征包括风速、风向、降水量、气压、表面反射率、太阳天顶角、相对湿度、总辐射、直接辐射、露点温度、云层覆盖、温度及散射水平辐射。选用数据集的范围为 2019 年 12 月—2020 年11 月。其中,2019 年 12 月—2020 年 3 月的数据用于多任务学习模型的训练;2020 年 4 月—2020年 8 月的数据用于单任务学习模型的训练,同时,使用训练完毕的多任务学习模型对这一阶段的数据进行初步预测,单任务学习模型的输入特征应包含多任务学习的初步预测结果;2020 年 9月—2020 年 10 月的数据用于最后全连接层的训练,其输入特征为多任务学习的初步预测结果和单任务学习的二次预测结果;每个模型将最后一周的数据化分为测试集,其余部分按照 8:2 划为训练集和验证集。2020 年 11 月的数据作为整体模型的测试集。

仿真程序复现思路:

复现该仿真的思路包括以下步骤:

  1. 数据准备: 首先,需要准备美国亚利桑那州立大学的综合能源系统公开数据集和气象数据。确保数据集的格式和结构符合模型的输入要求。

  2. 数据预处理: 对数据进行预处理,包括但不限于缺失值处理、归一化、特征工程等。确保数据在输入模型之前是干净、可用的。

  3. 多任务学习模型训练(2019 年 12 月—2020 年 3 月): 使用多任务学习模型对这个阶段的数据进行训练。在训练过程中,考虑将电、冷、热负荷作为多个任务进行学习。

# 伪代码示例
from your_model_library import MultiTaskModel
from data_processing import prepare_data

# Load and preprocess data
data = prepare_data("path_to_dataset", start_date="2019-12-01", end_date="2020-03-31")

# Define and train the multi-task learning model
model = MultiTaskModel()
model.train(data)

4.单任务学习模型训练和初步预测(2020 年 4 月—2020 年 8 月): 使用单任务学习模型对这一阶段的数据进行训练。同时,使用训练完毕的多任务学习模型对这一阶段的数据进行初步预测。

# 伪代码示例
from your_model_library import SingleTaskModel

# Load and preprocess data
data = prepare_data("path_to_dataset", start_date="2020-04-01", end_date="2020-08-31")

# Train the single-task learning model
single_task_model = SingleTaskModel()
single_task_model.train(data)

# Use the multi-task model for initial predictions
initial_predictions = model.predict(data.features)

# Include initial predictions as features for the single-task model
data_with_initial_predictions = combine_data_and_predictions(data, initial_predictions)

# Train the single-task model with the combined data
single_task_model.train(data_with_initial_predictions)

5.最后全连接层的训练(2020 年 9 月—2020 年 10 月): 使用多任务学习的初步预测结果和单任务学习的二次预测结果,训练一个包含最后全连接层的模型。

# 伪代码示例
from your_model_library import FinalModel

# Load and preprocess data
data = prepare_data("path_to_dataset", start_date="2020-09-01", end_date="2020-10-31")

# Use the trained models for predictions
multi_task_predictions = model.predict(data.features)
single_task_predictions = single_task_model.predict(data.features)

# Combine predictions for final model training
final_model_input = combine_predictions(multi_task_predictions, single_task_predictions)

# Train the final model with the combined predictions
final_model = FinalModel()
final_model.train(final_model_input)

6.模型测试: 使用每个模型将最后一周的数据化分为测试集,然后使用整体模型对 2020 年 11 月的数据进行测试。

# 伪代码示例
test_data = prepare_data("path_to_dataset", start_date="2020-11-01", end_date="2020-11-30")

# Use the trained models for predictions on the test data
final_predictions = final_model.predict(test_data.features)

以上伪代码示例中的函数和方法需要根据实际情况进行替换,具体实现可能依赖于所选的深度学习框架和库。

你可能感兴趣的:(文章解读,学习,能源,分布式)