load_forecasting部署指南:定时调度+AWS服务器实现每日凌晨自动滚动预测
load_forecasting部署指南定时调度AWS服务器实现每日凌晨自动滚动预测【免费下载链接】load_forecastingForecasting electric power load of Delhi using ARIMA, RNN, LSTM, and GRU models项目地址: https://gitcode.com/gh_mirrors/lo/load_forecastingload_forecasting 是一个电力负荷预测开源项目使用 ARIMA、RNN、LSTM、GRU 等多种时序模型对德里Delhi电网的日用电负荷做每日凌晨自动滚动预测。本文是一份完整的部署指南用 Pythonschedule库实现定时调度每天 00:15 自动抓取昨日负荷数据、用滑动窗口重新训练模型再通过scp把预测结果推送到AWS 服务器让网页上的预测曲线始终保持最新一天。项目总览4 类模型 1 套调度体系项目把实验与生产分开管理模块路径作用模型实验 Notebookmodels/ARIMA.ipynb、models/LSTM.ipynb、models/GRU.ipynb等各算法的建模过程与对比数据爬虫models/load_scrap.py、models/whether_scrap.py抓取德里每日负荷与天气数据生产预测脚本models/aws_arima.py、models/aws_rnn.py、models/aws_smoothing.py滚动训练并输出当日预测 CSV定时调度器models/aws.py每天 00:15 依次触发上面 3 个脚本展示网站server/Django Celery展示各模型预测效果一句话理解数据流抓取昨日数据 → 滑动窗口更新训练集 → 重新拟合模型 → 生成当日预测 CSV → scp 推送到 AWS → 网站刷新展示一键安装部署前的环境准备克隆仓库git clone https://gitcode.com/gh_mirrors/lo/load_forecasting cd load_forecasting/models在预测服务器可以是本地或云服务器上准备好以下依赖Python 依赖pandas、numpy、statsmodelsARIMA、tensorflow/kerasRNN 系、requestsbeautifulsoup4抓取、schedule定时调度AWS 端一台 Ubuntu 实例EC2用 nginx/Apache 将目录/var/www/html/btech_project/server/predictions/指向前端静态站SSH 密钥.pem密钥文件用于scp免密推送预测文件见models/aws_arima.py末尾的 scp 命令⚠️ 部署时请把脚本里硬编码的 Python 解释器路径、密钥路径与 AWS 地址改成你环境的实际值。定时调度配置每天凌晨 00:15 自动触发核心调度器只有 20 行代码位于models/aws.py使用schedule库注册任务schedule.every().day.at(00:15).do(job)job函数按顺序执行三个预测脚本并打印各阶段进度主循环schedule.run_pending()time.sleep(60)每分钟检查一次是否有到期任务生产环境建议用nohup或 systemd 保活这个调度进程nohup python aws.py scheduler.log 21 滚动预测细节滑动窗口是这样滚起来的三个脚本的共同套路是补一天、裁窗口、重训练但窗口长度不同models/aws_arima.py30 天窗口检查monthdata.csv是否缺少昨日数据缺则从 SLDC 站点抓取 288 个 5 分钟值并追加将数据裁剪到最近 30 天按 30 分钟频率重采样用 SARIMAX 拟合order(3,1,1)、季节周期 24 的模型预测未来 48 个半点再展开为 5 分钟粒度输出到predictions/ARIMA/日期.csv并scp到 AWSmodels/aws_rnn.py60 天窗口维护lstm_data.csv裁剪到最近 60 天对数据做差分去趋势 MinMax 归一化到 [-1, 1]8:2 划分训练/验证依次训练SimpleRNN、LSTM、GRU均为 stateful、batch_size1 的序列模型用最近 10 天数据预测今日曲线反变换还原量纲后输出三个 CSVmodels/aws_smoothing.py30 天窗口基于 ARIMA 维护的monthdata.csv分别计算SMA5 日均值、SES自动搜索各时间点最优 α、WMA固定权重组合输出predictions/SMA/、predictions/SES/、predictions/WMA/下的当日 CSV每个脚本都会写入独立日志如aws_arima_log.txt、aws_rnn_log.txt方便排查为什么今天没预测。AWS 推送与网站展示最后一步自动化预测完成后各脚本末尾会用scp -i 你的.pem将 CSV 推送到 AWS 的predictions/模型名/目录网站直接读取这些文件绘图。若想同时部署展示网站server/目录按下面顺序操作按server/README.md安装 MySQL并创建/etc/mysql/db.cnf连接配置启动 Redisserver/website/settings.py中 Celery 的 broker 即redis://localhost:6379运行server/manage.py migrate完成数据库迁移用根目录的 celery.sh 启动 Celerycelery -A website worker与celery -A website beat各一个进程其中server/swag/tasks.py里的reload_task会在每小时第 55 分钟自动抓取当天实时负荷入库保证网站当天的真实值也在滚动更新部署验证清单 ✅部署完成后建议按这份清单逐项确认models/下能生成monthdata.csv、lstm_data.csv首次运行会自动补抓 30/60 天历史predictions/ARIMA/、predictions/LSTM/等目录出现当日 CSVaws_arima_log.txt出现 ARIMA prediction done 且无异常堆栈AWS 站点predictions/模型/日期.csv文件时间戳为当天网站打开后能看到 6 条模型曲线ARIMA / RNN / LSTM / GRU / 平滑类叠加在真实负荷之上按照以上步骤你得到的就是一个零人工干预的每日滚动预测系统凌晨自动调度、自动训练、自动上云白天打开网页即可看到最新一天的负荷预测结果。【免费下载链接】load_forecastingForecasting electric power load of Delhi using ARIMA, RNN, LSTM, and GRU models项目地址: https://gitcode.com/gh_mirrors/lo/load_forecasting创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考