# power_system_load_forecasting **Repository Path**: bllq/power_system_load_forecasting ## Basic Information - **Project Name**: power_system_load_forecasting - **Description**: 电力负荷预测 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2026-04-17 - **Last Updated**: 2026-09-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 电力负荷预测系统 (demo3) 基于 Spring Boot + Vue 的前后端分离电力负荷预测系统 ## 项目结构 ``` demo3/ ├── backend/ # Spring Boot 后端 │ ├── pom.xml │ └── src/main/java/com/powerload/forecast/ │ ├── PowerLoadForecastingApplication.java # 主启动类 │ ├── controller/ # 控制器 │ ├── service/ # 服务层 │ ├── mapper/ # MyBatis Mapper │ ├── entity/ # 实体类 │ └── algorithm/ # 预测算法(整合demo2 improve) │ ├── frontend/ # Vue 前端 │ ├── package.json │ ├── vite.config.js │ ├── index.html │ └── src/ │ ├── main.js │ ├── App.vue # 主组件 │ └── api/ # API接口 │ └── init.sql # 数据库初始化脚本 ``` ## 技术栈 ### 后端 - Spring Boot 2.7 - MyBatis 2.2.2 - MySQL 8.0 - java-timeseries 0.4 (ARIMA模型) ### 前端 - Vue 3 - Vite - Element Plus - ECharts 5 - Axios ## 数据库 ### 表结构 **t_cons** - 用户表 | 字段 | 类型 | 说明 | |------|------|------| | id | int | 主键 | | cons_no | varchar(20) | 户号 | | cons_name | varchar(255) | 户名 | | trade | varchar(255) | 行业 | **t_cons_curve** - 用户负荷曲线 | 字段 | 类型 | 说明 | |------|------|------| | DATA_POINT_ID | int | 主键 | | CONS_NO | varchar(32) | 用户唯一标识 | | STAT_DATE | date | 日期 | | p1-p96 | decimal(18,4) | 96个时间点负荷值 | ## 快速开始 ### 1. 初始化数据库 ```bash mysql -u root -p source init.sql ``` ### 2. 启动后端 ```bash cd backend mvn spring-boot:run ``` 后端服务运行在 http://localhost:8080 ### 3. 启动前端 ```bash cd frontend npm install npm run dev ``` 前端运行在 http://localhost:3000 ## API 接口 | 接口 | 方法 | 说明 | |------|------|------| | `/api/cons/page` | GET | 分页获取用户列表 | | `/api/cons/curve/{consNo}` | GET | 获取用户负荷曲线 | | `/api/cons/forecast/{consNo}` | GET | 预测用户未来一天负荷 | | `/api/cons/evaluate/{consNo}` | GET | 评估预测效果 | ## 功能特性 ### 1. 用户列表 - 分页展示用户信息 - 点击用户查看负荷曲线 ### 2. 负荷曲线展示 - 显示用户近5天的96点负荷曲线 - 每条曲线使用不同颜色区分 - 支持缩放和平移 ### 3. 负荷预测 - 点击"预测"按钮预测未来一天负荷 - 预测结果显示为第6条虚线曲线 ### 4. 预测评估 - MAE(平均绝对误差) - RMSE(均方根误差) - MAPE(平均绝对百分比误差) - 准确率 ## 预测算法 本系统整合了 demo2/improve 中的预测算法: 1. **ARIMA模型** - 专业统计时序模型 2. **季节性ARIMA** - 处理日周期性 3. **加权周期模式** - 基于历史模式 4. **STL分解** - 趋势+季节性分解 5. **混合预测** - 多模型自适应融合 ## 截图预览 ``` ┌─────────────────────────────────────────────────────────────┐ │ 电力负荷预测系统 │ ├──────────────┬──────────────────────────────────────────────┤ │ 用户列表 │ 负荷曲线 - xxx公司 │ │ ─────────── │ [MAE: xx | RMSE: xx | MAPE: xx% | 准确率: xx%] │ │ 户号 | 户名 │ ┌────────────────────────────────────────┐ │ │ 001 | xxx │ │ │ │ │ 002 | xxx │ │ 负荷曲线图表 │ │ │ 003 | xxx │ │ │ │ │ ... | ... │ │ │ │ │ [分页] │ └────────────────────────────────────────┘ │ │ │ [预测] │ └──────────────┴──────────────────────────────────────────────┘ ``` ## 注意事项 1. 确保 MySQL 数据库已启动并运行 `init.sql` 2. 确保后端 API 能正常访问数据库 3. 前端代理配置已将 `/api` 请求转发到后端 `:8080`