电力负荷预测基线模型构建

电力负荷预测基线模型构建

数据口径

负荷预测的输入通常包含:历史负荷、气象(温度/湿度)、日历(工作日/节假日)。先把缺失与异常点按以下规则处理:

  1. 连续缺失超过 3 小时用分段线性插值;
  2. 负值或超物理上限的点直接置为缺失;
  3. 节假日当作独立类别而非简单剔除。

季节性朴素法

在建模之前,先用同比昨日同时刻作为朴素基线,它往往已经很强:

import numpy as np
import pandas as pd

def seasonal_naive(load: pd.Series, period: int = 24 * 7) -> pd.Series:
    # 取上周同一时刻作为预测
    return load.shift(period)

任何复杂模型的第一个 KPI 应当是:显著优于这个朴素基线

LightGBM 基线

构造滞后特征与日历特征后,用 LightGBM 拟合:

import lightgbm as lgb

features = [f"lag_{k}" for k in (1, 2, 24, 24 * 7)]
cat_feats = ["hour", "weekday", "is_holiday"]

train = lgb.Dataset(X_train, y_train, categorical_feature=cat_feats)
params = {
    "objective": "regression_l1",
    "n_estimators": 800,
    "learning_rate": 0.05,
    "num_leaves": 64,
    "device": "cpu",
}
model = lgb.train(params, train)

评估要点

  • 同时报告 MAE / MAPE / 峰值误差;
  • 关注日内曲线形状而非仅点误差;
  • 保留一段最近的滚动窗口做外推测试。

构建好基线后,再考虑深度模型才有意义。

评论

评论系统待配置:请部署 Waline 服务并填写 walineServerURL。

详情见 README「Waline 配置步骤」。