MayRCH2/SoftwareLibrareSiemensEnergyPT3
GitHub: MayRCH2/SoftwareLibrareSiemensEnergyPT3
面向光伏-储能-电网场景的模块化能源管理系统软件库,整合预测、不确定性分析、异常检测、基于规则的调度和性能评估的全流程。
Stars: 0 | Forks: 0
# 能源管理系统 (EMS) 软件库
## 概述
本代码库包含一个模块化的软件库,实现了面向配备光伏 (PV) 发电、电池储能系统 (BESS) 以及电网连接的工业和第三产业产消者的**能源管理系统 (EMS)**。
该软件是作为**工作包 3 (PT3)** 研究活动的一部分开发的,提供了可复用的 Python 模块以及可执行的 Jupyter notebooks,这些 notebook 重现了完整的 EMS 工作流。
该库集成了能源管理的不同阶段,包括:
- 电力消耗和光伏发电预测
- 预测不确定性估计
- 能源时间序列异常检测
- 基于规则的能源管理
- 电池运行仿真
- 能源管理策略的性能评估
该实现遵循模块化架构,其中可复用的 Python 函数位于 **src** 目录中,而完整的执行示例则通过 **Jupyter notebooks** 提供。
# 代码库结构
```
SoftwareLibrary/
│
├── configs/
│
├── data/
│ ├── dataForecasting/
│ │ ├── Matriz_SOM_TR4-45-5-6.xlsx
│ │ ├── pred_Inc_CONS_4_45_5_6_MC_LSTM_Horaria.csv
│ │ ├── pred_Inc_CONS_4_45_5_6_TimesFM_Horaria.csv
│ │ └── pred_Inc_CONS_4_45_5_6_XGBoost_Horaria.csv
│ │
│ ├── VentanaBajoAnalisis_conIncertidumbre_GEN_2019_H_LSTM_MCD_Fac80-R1_57.csv
│ ├── VentanaBajoAnalisis_CONS_4_45_5_6_MC_LSTM_Horaria_conIncertidumbre.csv
│ └── VentanaBajoAnalisis_Precios.csv
│
├── notebooks/
│ ├── 1_ForecastingWithUncertaintyTechniques.ipynb
│ ├── 2_UncertaintyAndAnomalyDetectionAnalysis.ipynb
│ └── 3_RuleBasedEMS_RealVsForecastErrorComparative.ipynb
│
├── src/
│ ├── forecasting/
│ │ └── models/
│ │ ├── lstm_model.py
│ │ ├── timesfm_model.py
│ │ └── xgboost_model.py
│ │
│ ├── uncertaintyAnalysis/
│ │ └── AnomalyDetection.py
│ │
│ └── ruleBasedEMS/
│ ├── RuleBasedDecisionMaking.py
│ ├── PerformanceComparativeRealVsForecast.py
│ └── metricsPerformanceRuleBased.py
│
├── tests/
├── README.md
├── requirements.txt
└── setup.py
```
# 软件模块
## data/
包含整个 EMS 工作流中使用的历史数据集。
这些数据集包括:
- 电力消耗
- 光伏发电
- 电力市场价格
- 预测结果
- 不确定性估计输出
- 用于异常分析的 SOM 矩阵
这些数据集被预测模块和能源管理模块共同使用。
## forecasting
实现了电力需求和光伏发电的预测模型。
当前的预测技术包括:
- XGBoost
- 带 Monte Carlo Dropout 的 LSTM
- TimesFM
生成的预测构成了能源管理系统的主要输入。
## uncertaintyAnalysis
包含通过不确定性估计和异常检测来评估预测可靠性的方法。
- 自组织映射 (SOM) 算法
该模块的目标是在不可靠的预测被 EMS 决策过程使用之前将其识别出来。
## ruleBasedEMS
实现了基于规则的能源管理系统。
控制器在确定能量调度时会考虑以下因素:
- 预测的电力需求
- 预测的 PV 发电量
- 电力市场价格
- 电池荷电状态
- 运行约束条件
典型的控制动作包括:
- 电池充电
- 电池放电
- 电网输入
- 电网输出
- 可再生能源利用
该模块还通过将基于预测的运行与使用实际测量值的理想场景进行对比,评估了预测误差对 EMS 性能的影响。
# Jupyter Notebooks
这些 notebooks 重现了相关研究中提出的完整工作流。
### 1. ForecastingWithUncertaintyTechniques
实现了不同的预测算法以及不确定性估计方法。
### 2. UncertaintyAndAnomalyDetectionAnalysis
分析预测不确定性,并检测可能损害 EMS 运行的异常预测。
### 3. RuleBasedEMS_RealVsForecastErrorComparative
执行基于规则的 EMS,并评估预测误差如何影响运行决策、电池行为以及经济性能。
# EMS 工作流
```
Historical Data
│
▼
Forecasting
│
▼
Uncertainty Estimation
│
▼
Anomaly Detection
│
▼
Rule-Based EMS
│
▼
Battery Operation
│
▼
Grid Interaction
│
▼
Performance Evaluation
```
# 主要输出
EMS 生成:
- 消耗预测
- PV 发电预测
- 预测不确定性
- 检测到的异常
- 电池荷电状态
- 电网输入
- 电网输出
- 能量流
- 经济指标
- EMS 性能指标
# 作者
**Mayra Ramírez Chávez**
自动控制、机器人和视觉博士研究生
自动控制系
加泰罗尼亚理工大学 (UPC)
西班牙巴塞罗那
### 致谢
本代码库在工作包 3 **PT3** 内开发,支持与面向工业和第三产业产消者的能源预测、不确定性估计、异常检测和智能能源管理系统相关的科学贡献。由“Siemens Energy AI Chair: Energy Sustainability for a Decarbonized Society 5.0” (TSI-100930-2023-5) 提供支持,该项目由西班牙国家数字化与人工智能秘书处通过 ENIA 2022 Chairs 招标提供资助,并由 European Union-Next Generation EU 共同资助。
标签:NoSQL, Python, 云计算, 光伏发电, 后端开发, 异常检测, 无后门, 时间序列预测, 电池储能, 能源管理系统, 规则引擎, 逆向工具