# 污水处理曝气控制AI系统 **Repository Path**: supergame/xgboost ## Basic Information - **Project Name**: 污水处理曝气控制AI系统 - **Description**: 本项目是一个基于XGBoost机器学习算法的污水处理曝气控制系统,旨在通过预测溶解氧(DO)和氨氮(NH4+)浓度,优化污水处理厂的曝气过程,实现能耗降低和处理效果提升。系统结合了传统规则控制和AI预测优化,形成了一套高效的混合控制策略。 - **Primary Language**: Python - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 3 - **Created**: 2025-10-15 - **Last Updated**: 2025-10-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 污水处理曝气控制AI系统 ## 项目概述 本项目是一个基于多种机器学习算法的智能污水处理曝气控制系统,集成了Web界面、API服务、实时监控、模型训练和测试数据管理等功能。系统通过预测溶解氧(DO)和氨氮(NH4+)浓度,优化污水处理厂的曝气过程,实现能耗降低和处理效果提升。 ## 项目特点 1. **多模型预测框架**:支持XGBoost、LSTM、Transformer等多种机器学习模型 2. **Web界面管理**:提供完整的Web界面进行系统管理和监控 3. **RESTful API服务**:完整的API接口支持外部系统集成 4. **实时数据监控**:实时传感器数据采集和监控 5. **智能控制策略**:基于AI预测的智能曝气控制 6. **测试数据管理**:内置测试数据生成和管理功能 7. **回测分析**:支持历史数据回测和策略验证 8. **在线学习**:支持模型在线更新和持续学习 9. **完整的可视化**:丰富的图表和仪表板展示 ## 系统架构 ### 核心组件 1. **Web应用层**: - Flask Web框架 - 响应式前端界面 - 用户认证和权限管理 2. **API服务层**: - RESTful API接口 - API网关和路由 - 请求验证和限流 3. **数据管理层**: - 数据库模型(SQLAlchemy) - 数据预处理和清洗 - 测试数据生成和管理 4. **AI模型层**: - 多种机器学习模型 - 模型训练和评估 - 在线学习服务 5. **控制服务层**: - 智能控制策略 - 实时决策引擎 - 回测分析服务 6. **监控和可视化**: - 实时数据监控 - 性能指标展示 - 报告生成 ### 主要模块 1. **数据处理模块**: - `data/data_simulation.py`:合成数据生成 - `data/data_processor.py`:数据预处理和特征工程 - `routes/test_data_api.py`:测试数据管理API 2. **AI模型模块**: - `models/xgboost_model.py`:XGBoost预测模型 - `models/lstm_model.py`:LSTM时序预测模型 - `models/transformer_model.py`:Transformer预测模型 - `services/model_manager.py`:模型管理服务 3. **Web界面模块**: - `templates/dashboard.html`:系统仪表板 - `templates/training.html`:模型训练界面 - `templates/models.html`:模型管理界面 - `templates/monitoring.html`:实时监控界面 - `templates/test_data.html`:测试数据管理界面 4. **API服务模块**: - `routes/api_routes.py`:核心API接口 - `routes/web_routes.py`:Web页面路由 - `routes/backtest_routes.py`:回测分析API - `services/api_gateway.py`:API网关服务 5. **控制和监控模块**: - `services/online_learning_service.py`:在线学习服务 - `services/backtest_service.py`:回测分析服务 - `utils/realtime_log_handler.py`:实时日志处理 ## 环境要求 - Python 3.9+ - 依赖包: - Flask >= 2.0.0 - SQLAlchemy >= 1.4.0 - pandas >= 1.3.0 - numpy >= 1.21.0 - xgboost >= 1.5.0 - tensorflow >= 2.8.0 - scikit-learn >= 1.0.0 - matplotlib >= 3.5.0 - plotly >= 5.0.0 - redis >= 4.0.0 - celery >= 5.2.0 ## 安装指南 ### 使用Conda创建虚拟环境(推荐) ```bash # 创建conda环境 conda create -n xgboost_env python=3.9 -y # 激活环境 conda activate xgboost_env # 安装依赖包 pip install -r requirements.txt ``` ### 使用pip安装(替代方案) ```bash # 创建虚拟环境 python -m venv env # 激活环境(Windows) env\Scripts\activate # 激活环境(Linux/Mac) # source env/bin/activate # 安装依赖 pip install -r requirements.txt ``` ## 快速开始 ### 1. 启动Web应用 ```bash # 激活虚拟环境 conda activate xgboost_env # 启动Web应用 python app.py ``` 应用将在 `http://localhost:5000` 启动 ### 2. 访问Web界面 - **系统仪表板**:`http://localhost:5000/` - 查看系统状态和实时数据 - **模型训练**:`http://localhost:5000/training` - 训练和管理AI模型 - **模型管理**:`http://localhost:5000/models` - 查看和管理已训练的模型 - **实时监控**:`http://localhost:5000/monitoring` - 实时监控系统运行状态 - **测试数据**:`http://localhost:5000/test_data` - 生成和管理测试数据 - **API文档**:`http://localhost:5000/api` - 查看API接口文档 ### 3. 使用API接口 系统提供完整的RESTful API接口: ```bash # 获取系统状态 curl http://localhost:5000/api/status # 获取传感器数据 curl http://localhost:5000/api/sensor_data # 训练模型 curl -X POST http://localhost:5000/api/models/train \ -H "Content-Type: application/json" \ -d '{"model_type": "xgboost", "target": "do"}' # 进行预测 curl -X POST http://localhost:5000/api/predict \ -H "Content-Type: application/json" \ -d '{"do_value": 5.2, "nh4_value": 2.1, "temperature": 24.5}' ``` ## 主要功能 ### 1. 数据管理 - **实时数据采集**:支持传感器数据实时采集和存储 - **测试数据生成**:内置多种测试数据生成器 - **数据预处理**:自动数据清洗、异常检测和特征工程 - **数据导出**:支持多种格式的数据导出 ### 2. AI模型训练 - **多模型支持**:XGBoost、LSTM、Transformer等 - **自动超参数调优**:支持网格搜索和贝叶斯优化 - **模型评估**:完整的模型性能评估指标 - **模型版本管理**:支持模型版本控制和回滚 ### 3. 智能控制 - **预测性控制**:基于AI预测的智能控制策略 - **多目标优化**:平衡处理效果和能耗 - **实时决策**:毫秒级控制决策响应 - **安全保护**:多重安全机制保护系统稳定 ### 4. 监控和分析 - **实时监控**:系统运行状态实时监控 - **历史分析**:历史数据趋势分析 - **回测验证**:控制策略历史回测 - **报告生成**:自动生成分析报告 ### 5. 系统集成 - **API接口**:完整的RESTful API - **数据库支持**:支持多种数据库 - **消息队列**:支持Redis和Celery - **容器化部署**:支持Docker部署 ## 自定义开发 ### 使用真实数据 替换 `data/data_simulation.py` 中的合成数据生成逻辑,接入真实的SCADA或DCS系统数据: ```python # 示例:接入真实数据源 from your_scada_system import get_sensor_data def get_real_sensor_data(): """获取真实传感器数据""" return get_sensor_data(['DO', 'NH4', 'Temperature', 'pH']) ``` ### 添加新的AI模型 在 `models/` 目录下创建新的模型类: ```python # models/your_model.py from .base_model import BaseModel class YourModel(BaseModel): def __init__(self, config): super().__init__(config) # 初始化您的模型 def train(self, X, y): # 实现训练逻辑 pass def predict(self, X): # 实现预测逻辑 pass ``` ### 扩展API接口 在 `routes/` 目录下添加新的API路由: ```python # routes/your_api.py from flask import Blueprint, request, jsonify your_api = Blueprint('your_api', __name__) @your_api.route('/api/your_endpoint', methods=['POST']) def your_endpoint(): # 实现您的API逻辑 return jsonify({'status': 'success'}) ``` ### 自定义控制策略 修改 `services/` 目录下的控制服务: ```python # services/your_control_service.py class YourControlService: def __init__(self): # 初始化控制参数 pass def make_decision(self, sensor_data, predictions): # 实现您的控制逻辑 return control_actions ``` ## 性能指标 系统通过以下指标评估性能: ### 1. 预测准确性 - **DO预测**:RMSE < 0.5 mg/L,R² > 0.85 - **NH4+预测**:RMSE < 0.3 mg/L,R² > 0.80 - **预测延迟**:< 100ms ### 2. 控制效果 - **DO控制精度**:±0.2 mg/L - **出水水质达标率**:> 95% - **控制响应时间**:< 5分钟 ### 3. 系统性能 - **数据处理能力**:> 1000 点/秒 - **并发用户数**:> 100 - **系统可用性**:> 99.5% ### 4. 能耗优化 - **平均节能率**:15-25% - **峰值功率降低**:10-20% - **运行成本节省**:10-30% ## 部署指南 ### Docker部署 ```bash # 构建镜像 docker build -t xgboost-wastewater . # 运行容器 docker run -d -p 5000:5000 --name wastewater-system xgboost-wastewater # 使用docker-compose docker-compose up -d ``` ### 生产环境部署 ```bash # 使用Gunicorn部署 pip install gunicorn gunicorn -w 4 -b 0.0.0.0:5000 app:app # 使用Nginx反向代理 # 配置nginx.conf server { listen 80; server_name your-domain.com; location / { proxy_pass http://127.0.0.1:5000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } } ``` ## 测试 ### 运行单元测试 ```bash # 运行所有测试 pytest tests/ # 运行特定测试 pytest tests/test_models.py # 生成测试覆盖率报告 pytest --cov=. tests/ ``` ### 性能测试 ```bash # API性能测试 python tests/performance_test.py # 负载测试 locust -f tests/load_test.py --host=http://localhost:5000 ``` ## 故障排除 ### 常见问题 1. **模型训练失败** - 检查数据质量和数量 - 验证模型参数配置 - 查看训练日志 2. **API响应慢** - 检查数据库连接 - 优化查询语句 - 增加缓存机制 3. **预测精度低** - 增加训练数据量 - 调整模型超参数 - 检查特征工程 ### 日志查看 ```bash # 查看应用日志 tail -f logs/app.log # 查看错误日志 tail -f logs/error.log # 查看训练日志 tail -f logs/training.log ``` ## 贡献指南 1. Fork 项目 2. 创建特性分支 (`git checkout -b feature/AmazingFeature`) 3. 提交更改 (`git commit -m 'Add some AmazingFeature'`) 4. 推送到分支 (`git push origin feature/AmazingFeature`) 5. 打开 Pull Request ## 许可证 本项目采用 MIT 许可证 - 查看 [LICENSE](LICENSE) 文件了解详情 ## 联系方式 - 项目维护者:[您的姓名] - 邮箱:[your.email@example.com] - 项目链接:[https://github.com/yourusername/xgboost-wastewater](https://github.com/yourusername/xgboost-wastewater) ## 更新日志 ### v2.0.0 (2024-01-XX) - 新增Web界面管理系统 - 添加多种AI模型支持(LSTM、Transformer) - 实现测试数据管理功能 - 增加回测分析功能 - 支持在线学习和模型更新 ### v1.0.0 (2023-XX-XX) - 初始版本发布 - 基础XGBoost预测功能 - 简单控制策略实现