1. 实验背景与目标

1.1. 实验背景

随着能源消耗的快速增长和智能电网的普及,准确预测电力需求已成为能源管理系统的核心任务。用电量预测不仅有助于电网运营商进行负荷调度和发电计划,还能为消费者提供节能建议,实现供需平衡和节能减排。本实验基于实际用电量数据集,探索多变量时间序列数据中的用电模式,旨在建立能够同时预测具体用电量数值和识别用电等级的智能模型。

1.2. 实验目标

  1. 回归分析:建立准确的用电量数值预测模型,预测未来时间点的总用电量
  2. 分类分析:将用电量分为低、中、高三个等级,构建分类识别模型
  3. 特征分析:识别影响用电量的关键因素,分析特征间的相互关系
  4. 模型对比:比较同一数据集上回归与分类任务的性能差异
  5. 方法验证:验证完全自主实现的机器学习算法的有效性

2. 数据集描述

2.1. 数据来源

本实验使用公开的用电量数据集,包含多个气象传感器采集的环境数据和三个区域的实际用电量记录。数据以15分钟为间隔采集,覆盖多个季节和时间段,具有良好的时间连续性和数据完整性。

2.2. 数据规格

  • 总样本数:52,416条记录
  • 原始特征数:9个(包括时间戳和8个数值特征)
  • 时间跨度:以15分钟为间隔,覆盖多个月份,反映不同时间尺度的用电模式
  • 数据格式:结构化CSV文件,包含数值型和文本型数据

2.3. 特征说明

特征名称 数据类型 物理意义 单位/说明
datetime 文本 采集时间 年/月/日 时:分
temperature 数值 环境温度 摄氏度
humidity 数值 相对湿度 百分比
wind_speed 数值 风速 m/s
gen_diffuse 数值 总扩散流 物理量
diffuse 数值 扩散流 物理量
zone1_power 数值 区域1用电量 kW
zone2_power 数值 区域2用电量 kW
zone3_power 数值 区域3用电量 kW

3. 数据预处理与标准化

3.1. 时间特征编码

从原始datetime字符串中提取丰富的时序特征:

  • 基础时间特征:小时、分钟、日、月、年
  • 周期性特征:星期几(0-6,周六到周五)
  • 时间分段:深夜(0-6)、上午(6-12)、下午(12-18)、晚上(18-24)
  • 日期类型:是否周末(二值特征)

3.2. 目标变量构造

  1. 回归目标:计算三个区域用电量之和作为总用电量,统计得到总用电量范围36,785.04~134,208.15 kW,均值71,222.89 kW,标准差17,143.14 kW。
  2. 分类目标:使用分位数法(33%和67%)将总用电量划分为三个等级,分布均匀:
    • 等级1(低):用电量 ≤ 33%分位数,占33.0%(17,297个样本)
    • 等级2(中):33%分位数 < 用电量 ≤ 67%分位数,占34.0%(17,822个样本)
    • 等级3(高):用电量 > 67%分位数,占33.0%(17,297个样本)

3.3. 滞后特征工程

考虑用电量的时间依赖性,创建滞后特征:

  • 滞后用电量:前一个时间点的总用电量
  • 滞后用电等级:前一个时间点的用电等级

3.4. 最终特征矩阵

预处理后构建的特征矩阵包含14个特征,涵盖环境因素、时间因素和历史用电模式:

  1. 温度、湿度、风速、总扩散流、扩散流
  2. 小时、分钟、日、月、星期几、是否周末、时间段
  3. 滞后用电量、滞后用电等级

4. 数据探索性分析

4.1. 用电量分布特征

  • 数值分布:总用电量均值为71,222.89 kW,标准差为17,143.14 kW,分布范围较广
  • 等级分布:三个用电等级的样本比例均衡,分别为33.0%、34.0%、33.0%,无明显的类别不平衡问题
  • 时序模式:后续分析将揭示用电量的时间依赖性

4.2. 特征相关性分析

  1. 特征间相关性矩阵:计算14个特征间的Pearson相关系数,通过热力图可视化
  2. 特征-目标相关性
    • 回归目标:与总用电量最相关的特征为滞后用电量(r=0.997)、滞后用电等级(r=0.911)、时间段(r=0.702)和小时(r=0.680)
    • 分类目标:与用电等级最相关的特征为滞后用电等级(点二列相关=0.563)、滞后用电量(0.548)、时间段(0.432)和小时(0.437)
  3. 强相关特征识别:筛选相关系数绝对值大于0.3的特征,发现时间相关特征和滞后特征与目标变量高度相关
  4. 多重共线性检测:滞后用电量与滞后用电等级高度相关(r=0.911),但考虑到两者包含不同信息(数值和等级),均予以保留

4.3. 可视化分析

  1. 相关系数热力图:展示特征间的相关性模式,发现时间特征与滞后特征之间的强相关性
  2. 特征-目标相关性条形图:比较不同特征对两个目标的重要性,显示滞后特征对两个任务都具有最高重要性
  3. 聚类热力图:基于相关性对特征进行重新排序,揭示时间特征和滞后特征的集群结构

5. 回归模型:决策树回归

5.1. 模型选择依据

选择决策树作为回归模型的原因:

  • 解释性强:决策树提供直观的决策规则
  • 非参数性:不依赖数据分布假设
  • 特征重要性:自动评估特征重要性
  • 鲁棒性:对异常值和缺失值不敏感

5.2. 算法实现

完全自主实现决策树回归算法,包含以下关键组件:

  1. 节点结构:定义叶节点和内部节点的数据结构
  2. 分割准则:使用均方误差(MSE)作为分割标准
  3. 停止条件:基于最大深度、最小分裂样本数等参数
  4. 预测机制:递归遍历树结构进行预测

5.3. 超参数设置

  • 最大深度:10(防止过拟合)
  • 最小分裂样本数:100(确保节点有足够样本)
  • 最小叶节点样本数:50(避免过小节点)

5.4. 特征选择策略

基于相关系数分析,选择与回归目标相关性较强的特征(|r| > 0.1),共选择8个特征:温度、湿度、风速、总扩散流、小时、时间段、滞后用电量、滞后用电等级。

6. 分类模型:决策树分类

6.1. 多分类策略

用电等级分类为三分类问题,采用一对多(OvA)策略,每个节点计算基尼指数以评估分类纯度。

6.2. 算法实现

自主实现分类决策树算法,与回归树的主要区别:

  1. 分割准则:使用基尼指数代替MSE
  2. 叶节点值:存储多数类标签而非平均值
  3. 停止条件:增加”所有样本属于同一类”的条件

6.3. 超参数设置

与回归树保持一致的参数设置,便于比较两个任务的表现。

6.4. 特征选择策略

综合考虑回归和分类相关性,取两个特征集的并集,共选择9个特征:温度、湿度、风速、总扩散流、扩散流、小时、时间段、滞后用电量、滞后用电等级。

7. 模型训练与评估

7.1. 数据划分策略

  • 划分比例:70%训练集(36,691个样本),30%测试集(15,725个样本)
  • 划分方法:按时间顺序划分,保持时间序列的连续性
  • 样本数量:训练集和测试集都有足够的代表性

7.2. 回归模型评估

使用多种评估指标全面衡量回归性能,结果如下:

  • 训练集:MSE=975,750.70,RMSE=987.80 kW,MAE=661.73 kW,R²=0.9970
  • 测试集:MSE=865,758.75,RMSE=930.46 kW,MAE=626.91 kW,R²=0.9955

7.3. 分类模型评估

采用多维度评估分类性能,结果如下:

  • 训练集准确率:0.9809
  • 测试集准确率:0.9807
  • 各类别性能(测试集)
    • 类别1(低):精度0.9963,召回率0.9801,F1分数0.9881
    • 类别2(中):精度0.9595,召回率0.9889,F1分数0.9740
    • 类别3(高):精度0.9880,召回率0.9679,F1分数0.9778

7.4. 训练结果分析

两个模型在训练集上都表现出色,回归模型R²达到0.9970,分类模型准确率达到0.9809,表明模型能够很好地学习训练数据中的模式。

7.5. 测试结果分析

在测试集上,回归模型R²为0.9955,分类模型准确率为0.9807,与训练集性能接近,表明模型没有过拟合,具有良好的泛化能力。

8. 结果分析与讨论

8.1. 相关系数分析结果

  1. 强相关特征识别:滞后用电量(r=0.997)和滞后用电等级(r=0.911)与总用电量高度相关,表明用电量具有很强的自相关性
  2. 时间模式:时间段(r=0.702)和小时(r=0.680)与用电量高度相关,验证了用电量的时间依赖性
  3. 环境因素影响:温度(r=0.488)与用电量正相关,湿度(r=-0.299)与用电量负相关,符合物理直觉

8.2. 回归模型性能分析

  1. 预测精度:测试集RMSE为930.46 kW,相对于均值71,222.89 kW,相对误差约为1.3%,预测精度很高
  2. 解释能力:R²为0.9955,说明模型能够解释99.55%的用电量方差,解释能力极强
  3. 误差模式:MAE(626.91 kW)略低于RMSE,表明误差分布相对对称,没有严重的异常误差

8.3. 分类模型性能分析

  1. 等级识别能力:总体准确率98.07%,表明模型能够准确识别用电等级
  2. 类别特异性:各类别的F1分数均在0.97以上,说明模型在各个类别上表现均衡
  3. 混淆模式:从混淆矩阵可以看出,主要混淆发生在相邻等级之间,如中等级别偶尔被误分为低或高

8.4. 模型对比分析

  1. 任务难度对比:分类任务(准确率98.07%)比回归任务(R² 0.9955)略难,但两者都达到了很高的性能水平
  2. 特征重要性一致性:两个任务中,滞后特征和时间特征都是最重要的,特征重要性排序高度一致
  3. 误差相关性:回归误差较大的样本往往也是分类错误的样本,说明两个任务的难点相似

8.5. 特征重要性分析

  1. 滞后特征的重要性:滞后用电量和滞后用电等级在两个任务中都是最重要的特征,验证了用电量的强时间依赖性
  2. 环境因素的影响:温度在两个任务中都有中等程度的重要性,表明环境因素对用电量有显著影响
  3. 时间特征的作用:小时和时间段特征在两个任务中都有较高重要性,反映了用电量的日内模式

9. 改进建议与未来工作

9.1. 数据层面改进

  1. 更多气象数据:增加降水量、日照强度等气象特征,提高模型对环境因素的捕捉能力
  2. 节假日信息:加入节假日和工作日标志,捕捉特殊日期的用电模式
  3. 用户行为数据:考虑用户活动的周期性模式,如上班时间、周末活动等
  4. 外部经济指标:纳入电价、经济指数等宏观因素,提高长期预测能力

9.2. 模型层面改进

  1. 集成方法:采用随机森林或梯度提升树,可能进一步提升性能
  2. 深度学习模型:尝试LSTM等时间序列专用模型,捕捉更复杂的时间依赖关系
  3. 多任务学习:构建同时优化回归和分类损失的统一模型,利用任务间的相关性
  4. 在线学习:实现模型的在线更新和自适应调整,适应用电模式的变化

9.3. 评估与解释

  1. 更细时间粒度:尝试分钟级预测,提高预测精度,满足实时调度需求
  2. 不确定性量化:为预测结果提供置信区间,增强预测结果的实用性
  3. 可解释性增强:使用SHAP等方法提供特征贡献度分析,提高模型透明度
  4. 因果分析:探索特征与用电量之间的因果关系,为干预措施提供依据

9.4. 应用扩展

  1. 异常检测:基于预测误差识别异常用电模式,用于故障检测和安全监控
  2. 节能建议:根据预测结果为用户提供个性化节能建议,促进节能减排
  3. 电网优化:将预测结果应用于电网负荷调度和发电计划,提高电网运行效率
  4. 需求响应:结合电价信号实现需求侧管理,平衡供需关系

10. 结论

10.1. 主要结论

  1. 特征有效性:验证了时间特征、环境特征和滞后特征对用电量预测的有效性,其中滞后特征最为重要
  2. 模型可行性:证明了完全自主实现的决策树算法在用电量预测任务上的可行性,取得了极高的预测精度
  3. 任务差异性:回归和分类任务都取得了优异性能,但分类任务略难,两者特征重要性排序高度一致
  4. 预测精度:回归模型测试集R²达到0.9955,分类模型准确率达到0.9807,具有很高的实用价值

10.2. 研究意义

  1. 方法学贡献:展示了不使用任何工具箱的完整机器学习分析流程,为教育和小规模应用提供了参考
  2. 应用价值:为智能电网和能源管理系统提供了高精度的用电量预测方案
  3. 教育意义:为机器学习教学提供了完整的实践案例,涵盖数据预处理、特征工程、模型构建和评估全流程
  4. 可扩展性:建立的分析框架可扩展至其他时间序列预测任务,如交通流量预测、销售量预测等

10.3. 实践建议

基于研究结果,提出以下实践建议:

  1. 特征工程优先:在用电量预测中,精心设计的特征(特别是滞后特征和时间特征)比复杂模型更重要
  2. 多任务视角:同时考虑数值预测和等级分类,满足不同应用需求,如精确调度和异常监测
  3. 持续优化:建立模型监控和定期更新机制,适应用电模式的变化,保持预测精度
  4. 系统集成:将预测模型嵌入能源管理系统,实现预测与控制的闭环,提高系统智能化水平