基于LSTM深度学习模型的电力负荷预测系统。
现在提供了PyTorch版本,具有更直观的语法和更好的调试体验!
load_forecasting/
├── data/ # 数据文件夹
├── models/ # 保存的模型
├── utils/ # 工具函数
├── notebooks/ # Jupyter笔记本
├── data_generator.py # 数据生成器
├── data_preprocessor.py # 数据预处理
├── lstm_model.py # LSTM模型定义 (TensorFlow)
├── lstm_model_pytorch.py # LSTM模型定义 (PyTorch)
├── train.py # 训练脚本 (TensorFlow)
├── train_pytorch.py # 训练脚本 (PyTorch)
├── predict.py # 预测脚本 (TensorFlow)
├── predict_pytorch.py # 预测脚本 (PyTorch)
└── requirements.txt # 依赖包
- 安装依赖
pip install -r requirements.txt- 生成示例数据
python data_generator.py- 训练模型 (PyTorch版本)
python train_pytorch.py- 或使用TensorFlow版本
python train.py- 进行预测
# 使用PyTorch版本
python predict_pytorch.py- 🔥 基于LSTM的深度学习模型
- 🚀 支持TensorFlow和PyTorch双框架
- 📊 自动数据预处理和特征工程
- 📈 多种评估指标 (RMSE, MAE, R², MAPE)
- 🎯 支持多步预测
- 📋 详细的可视化分析
- ⚡ 模型保存和加载
本项目使用以下核心指标来评估模型的性能:
| 指标 | 全称 (英文) | 公式 | 解释 |
|---|---|---|---|
| MAE | Mean Absolute Error | `(1/n) Σ | y - ŷ |
| RMSE | Root Mean Squared Error | sqrt((1/n) Σ(y - ŷ)²) |
均方根误差:均方误差的平方根。单位与原数据相同 (MW),但由于对误差进行了平方,它会放大较大误差的惩罚,对异常值更敏感。 |
| R² | Coefficient of Determination | 1 - (Σ(y - ŷ)²) / (Σ(y - ȳ)²) |
决定系数:表示模型对数据方差的解释程度。值越接近1,说明模型的拟合优度越好。0表示模型等同于用均值进行预测。 |
| MAPE | Mean Absolute Percentage Error | `(100/n) Σ | (y - ŷ) / y |
其中 y 是真实值, ŷ 是预测值, ȳ 是真实值的平均值, n 是样本数量。
- 支持多变量时间序列预测
- 自动处理季节性和趋势
- 包含天气、时间等外部特征
- 支持不同时间窗口的预测