tkacha467/Electricity-Demand-Forecasting-
GitHub: tkacha467/Electricity-Demand-Forecasting-
这是一个基于 XGBoost 和 Streamlit 的端到端机器学习系统,用于高精度预测每小时电力需求并检测潜在的用电高峰风险。
Stars: 0 | Forks: 0
# ⚡ 电力需求预测与峰时风险检测系统
## 📌 概述
本项目构建了一个端到端的机器学习系统,用于预测每小时电力需求并检测高峰风险期。
该系统使用 XGBoost 模型,基于 2 年的每小时数据(17,496 条记录)进行训练,并包含了时间、天气和滞后变量等工程特征。
该系统通过 Streamlit Web 应用程序进行部署,以实现实时可视化与决策支持。
## 🚀 主要功能
- 📊 高精度预测 (R² = 0.9964)
- ⚡ 峰值需求检测 (Recall = 1.0)
- 📈 未来 24 小时需求预测
- 🧠 基于 XGBoost 的回归与分类
- 🌐 交互式 Streamlit 仪表板
- 📉 误差分析与可视化
## 🛠️ 技术栈
- Python
- Pandas, NumPy
- XGBoost
- Scikit-learn
- Streamlit
- Plotly
## 📊 模型性能
| 指标 | 数值 |
|------|------|
| MAE | 1.84 MW |
| RMSE | 2.38 MW |
| R² | 0.9964 |
| Precision | 0.889 |
| Recall | 1.000 |
| F1 Score | 0.941 |
## 📂 项目结构
electricity_project/
│── app.py
│── model.ipynb
│── README.md
│── requirements.txt
│── models/
│── data/
## ▶️ 运行方法
1. 克隆仓库
git clone https://github.com/your-username/repo-name.git
2. 安装依赖
pip install -r requirements.txt
3. 运行 Streamlit 应用
streamlit run app.py
## 📸 截图
### 仪表板

### 预测视图

### 峰值检测

## ⚠️ 局限性
- 仅基于 2 年的数据进行训练
- 无实时数据集成
- 依赖外部天气输入
## 🚀 未来改进
- 实时数据集成 (SCADA)
- LSTM / Transformer 模型
- 概率预测
- 适配移动端的 UI
## 👨💻 作者
Tushar Kacha, Isha Kakadiya, Drashti Parecha
MSc Data Science
标签:Apex, Kubernetes, NumPy, Plotly, Python, Scikit-learn, Streamlit, XGBoost, 代码示例, 仪表盘, 决策支持, 分类模型, 回归分析, 峰荷检测, 数据分析, 数据科学, 无后门, 时间序列分析, 机器学习, 特征工程, 电力需求预测, 能源大数据, 访问控制, 资源验证, 逆向工具