# 风电预测系统 - 项目蓝图设计文档 # 📋 项目概述 风电预测系统是一个基于深度学习的新能源功率预测平台,专注于风电和光伏电站的超短期、短期、中期功率预测。系统集成了气象数据采集、模型训练、预测生成、数据上报、考核管理等完整业务流程,帮助电站实现精准的功率预测和高效的运营管理。 ## 核心数据指标 |指标|数值| |---|---| |核心功能模块|6+| |预测类型|3 种| |预测准确率|90%+| |运行模式|24/7 实时监控| ## 核心特性 - 多类型预测:支持超短期 (0-4 小时)、短期 (0-24 小时)、中期 (1-7 天) 三种预测类型 - 智能模型训练:集成 LSTM、GRU、Transformer 等深度学习模型,支持自动化训练和部署 - 实时数据监控:实时展示功率曲线、气象数据、预测结果,支持多维度数据分析 - 考核管理:自动计算准确率、上报率等考核指标,生成月度和年度考核报告 - 数据上报:自动化数据上报流程,支持多种预测类型的定时上报 - 可视化仪表盘:美观的数据可视化界面,支持 ECharts 图表展示 # 🏗️ 技术架构 ## 系统架构分层 ```plaintext ┌─────────────────┐ 前端展示层 ┌─────────────────────────────┐ │ Vue.js 2.7 │ │ ECharts 5 + Axios + 响应式设计 │ ├─────────────────┤ └─────────────────────────────┘ │ API接口层 │ ┌─────────────────────────────┐ │ FastAPI │ │ RESTful API + Pydantic验证 │ ├─────────────────┤ └─────────────────────────────┘ │ 业务逻辑层 │ ┌─────────────────────────────┐ │ 预测引擎 │ │ 模型训练 + 考核计算 + 数据上报 │ ├─────────────────┤ └─────────────────────────────┘ │ 数据存储层 │ ┌─────────────────────────────┐ │ MySQL │ │ InfluxDB + Redis + 文件存储 │ ├─────────────────┤ └─────────────────────────────┘ │ AI模型层 │ ┌─────────────────────────────┐ │ LSTM/GRU │ │ Transformer + TensorFlow/PyTorch │ └─────────────────┘ └─────────────────────────────┘ ``` ## 技术栈详情 ### 前端技术 Vue.js 2.7 + Composition API、ECharts 5 数据可视化、Axios HTTP 客户端、CSS3 + 响应式布局 ### 后端技术 Python 3.8+、FastAPI Web 框架、SQLAlchemy ORM、Pydantic 数据验证 ### 数据库 MySQL 8.0 - 业务数据、InfluxDB - 时序数据、Redis - 缓存层、SQLite - 开发环境 ### AI/ML 框架 TensorFlow 2.x、PyTorch 1.x、Pandas 数据处理、NumPy 科学计算 ### 部署方案 Docker 容器化、Docker Compose 编排、Nginx 反向代理、Uvicorn ASGI 服务器 # 🎯 功能模块 ## 1. 登录页面 系统入口,提供用户身份认证功能,支持本地存储 Token 实现持久化登录。 ## 2. 仪表盘(Dashboard) 系统首页,提供场站运行状态总览、实时功率监控、气象数据展示、预测曲线等核心功能。 ### 核心功能 - 实时功率卡片:显示当前功率、装机容量、功率百分比 - 上报率监控:展示短期、超短期、气象数据上报率 - 气象数据面板:实时显示温度、风速、风向、湿度等气象参数 - 功率预测曲线:ECharts 折线图展示预测功率与置信区间 - 功率相关性分析:分析功率与气象因素的关联关系 ## 3. 场站管理(Stations) 管理风电和光伏场站信息,包括场站的创建、查看、编辑、删除等操作。 ### 核心功能 - 场站列表:展示所有场站的基本信息、类型、容量 - 新增场站:支持添加风电 / 光伏场站,填写场站编码、名称、容量、经纬度 - 场站详情:查看场站的详细配置信息和运行状态 - 场站删除:支持删除不再使用的场站数据 ## 4. 功率预测(Forecasts) 核心预测模块,展示超短期、短期、中期预测结果,支持生成新预测和历史数据查询。 ### 核心功能 - 预测类型切换:支持超短期 (0-4h)、短期 (0-24h)、中期 (1-7 天) 三种预测 - 统计数据卡片:显示总预测点数、平均功率、峰值功率、谷值功率 - 功率预测曲线:折线图展示预测功率、置信上限、置信下限 - 功率分布统计:柱状图展示不同功率区间的数据分布 - 预测数据明细:表格展示每个预测点的详细信息 - 生成新预测:手动触发预测任务,生成最新预测结果 ## 5. 考核管理(Assessments) 自动化考核计算模块,统计分析准确率、上报率,生成月度和年度考核报告。 ### 核心功能 - 年度统计卡片:显示年度总罚款、平均上报率、平均准确率、合规月份 - 月度罚款趋势:折线图展示 12 个月的罚款变化趋势 - 上报率与准确率对比:柱状图对比各月的上报率和准确率 - 罚款类型分布:饼图展示上报罚款、准确率罚款的占比 - 月度得分雷达图:雷达图展示各月度的综合得分情况 - 月度考核明细:表格展示每月的详细考核数据和得分 - 计算月度考核:手动触发当月考核计算 ## 6. 上报管理(Reports) 数据上报监控模块,展示上报日志、上报统计、上报状态分析等信息。 ### 核心功能 - 上报统计卡片:显示总上报次数、成功次数、失败次数、上报率 - 上报趋势图:折线图展示每日上报次数的变化趋势 - 上报类型分布:饼图展示超短期、短期、中期上报的占比 - 上报状态分布:饼图展示成功、失败、待处理的状态占比 - 各类型上报率:柱状图对比不同预测类型的上报完成率 - 上报日志表格:详细记录每次上报的时间、类型、状态、错误信息 ## 7. 模型训练(Training) AI 模型训练管理模块,支持 LSTM、GRU、Transformer 等深度学习模型的训练、部署和监控。 ### 核心功能 - 模型统计卡片:显示已训练模型数、运行中任务、已部署模型、平均准确率 - 新建训练任务:配置模型类型、预测类型、训练参数启动训练 - 训练进度监控:实时展示训练轮次、损失值、准确率、ETA - 训练曲线图:折线图展示训练损失和验证损失的变化 - 已训练模型列表:展示所有训练完成的模型及其性能指标 - 模型部署:一键部署选中的模型用于生产预测 - 模型删除:删除不再使用的历史模型 # 📊 数据库设计 ## 核心数据表 |表名|说明|关键字段| |---|---|---| |station_info|场站信息表|station_code, station_name, station_type, installed_capacity| |forecast_config|预测配置表|station_id, forecast_type, error_bandwidth, report_interval| |forecast_results|预测结果表|station_id, forecast_type, forecast_time, predicted_power| |report_log|上报记录表|station_id, forecast_type, report_time, status, error_message| |assessment_results|考核结果表|station_id, assessment_period, accuracy, submission_rate, score| |power_data|功率数据表|station_id, time, power| |weather_data|气象数据表|station_id, time, temperature, wind_speed, wind_direction| |training_models|训练模型表|station_id, model_type, forecast_type, accuracy, is_deployed| |training_tasks|训练任务表|station_id, model_type, status, current_epoch, train_loss| ## 数据库选型 - MySQL:业务数据存储,支持事务、复杂查询、数据完整性 - InfluxDB:时序数据存储,高写入性能、数据压缩、时间范围查询 - Redis:缓存和消息队列,高性能、内存存储、丰富数据结构 # 🔌 API 接口设计 ## 场站管理 API - GET /api/v1/stations/ - 获取所有场站列表 - GET /api/v1/stations/{station_id} - 获取指定场站详情 - POST /api/v1/stations/ - 创建新场站 - DELETE /api/v1/stations/{station_id} - 删除指定场站 ## 预测管理 API - GET /api/v1/forecasts/{station_id} - 获取场站预测数据 - POST /api/v1/forecasts/generate - 生成新的功率预测 ## 考核管理 API - GET /api/v1/assessments/yearly/{station_id} - 获取年度考核数据 - POST /api/v1/assessments/monthly - 计算月度考核结果 ## 上报管理 API - GET /api/v1/reports/logs - 获取上报日志 - GET /api/v1/reports/statistics - 获取上报统计数据 ## 模型训练 API - GET /api/v1/training/models - 获取已训练模型列表 - POST /api/v1/training/start - 启动训练任务 - POST /api/v1/training/stop - 停止训练任务 - GET /api/v1/training/status - 获取训练状态 - POST /api/v1/training/models/{model_id}/deploy - 部署模型 - DELETE /api/v1/training/models/{model_id} - 删除训练模型 # 🚀 部署架构 ## Docker 容器化部署 ```plaintext ┌─────────────────┐ │ Frontend容器 │ Nginx + Vue.js静态文件 (8080) ├─────────────────┤ │ Backend容器 │ FastAPI + Uvicorn (8000) ├─────────────────┤ │ MySQL容器 │ 业务数据库 (3306) ├─────────────────┤ │ InfluxDB容器 │ 时序数据库 (8086) ├─────────────────┤ │ Redis容器 │ 缓存服务 (6379) └─────────────────┘ ``` ## 环境配置 |环境|配置详情| |---|---| |开发环境|SQLite 数据库、本地 InfluxDB、本地 Redis、Hot Reload 开发服务器| |生产环境|MySQL 云数据库、InfluxDB 集群、Redis Sentinel 高可用、Nginx 负载均衡| |配置管理|.env 环境变量、config.py 配置文件、Docker Compose 编排、数据库连接池| # ✨ 项目亮点 - 端到端解决方案:从数据采集、模型训练、预测生成到考核管理的完整业务流程 - 高精度预测模型:集成多种深度学习模型,预测准确率达 90% 以上 - 可视化体验:丰富的 ECharts 图表展示,直观呈现数据趋势和分析结果 - 容器化部署:Docker 容器化部署,支持快速扩展和迁移 - 自动化流程:模型训练、数据上报、考核计算全自动化,减少人工干预 - 响应式设计:支持 PC、平板等多种设备访问,适配不同屏幕尺寸 # 📈 未来规划 - 模型优化:引入强化学习和迁移学习,进一步提升预测准确率 - 多源数据融合:集成更多气象数据源和历史数据,丰富特征维度 - 移动端适配:开发专门的移动端应用,支持随时随地监控 - AI 辅助决策:基于预测结果提供运维建议和调度决策支持 - 多语言支持:增加英文等多语言界面,支持国际化部署 - 云原生改造:基于 Kubernetes 实现更灵活的容器编排和自动扩缩容 版本信息:Version 1.0.0 | 2025 年 12 月