MATLAB 代码实现了一个基于 LightGBM(轻量级梯度提升机) 的回归模型,并在其基础上添加了 区间预测 功能(即预测值附带置信区间)。以下是对该代码的详细分析:
1. 研究背景
在机器学习回归任务中,通常只输出一个点预测值(point prediction),但在许多实际应用中(如金融、能源、交通预测),决策者不仅关心预测值,还关心预测的不确定性(即预测区间)。因此,研究如何在 LightGBM 模型基础上构造预测区间具有重要意义。本代码基于残差的正态性假设,使用训练集残差的标准差构造 95% 置信区间,实现区间预测。
2. 主要功能
- 使用 LightGBM 进行回归建模
- 训练集和测试集的划分与归一化
- 模型训练与早停(early stopping)
- 特征重要性分析
- 点预测 + 区间预测(95% 置信区间)
- 多种回归评价指标计算(R², MAE, MAPE, MBE, RMSE)
- 区间预测评价指标(PICP, PINAW)
- 多图可视化(特征重要性、损失曲线、预测区间、误差图、拟合图)
3. 算法步骤
数据加载与预处理
- 读取 Excel 数据
- 按比例划分训练集/测试集(默认 70% 训练)
- 归一化到 [0,1] 区间
LightGBM 数据集构建
- 使用
lgbmDataset创建数据集对象 - 设置标签字段
模型参数配置
- 使用
containers.Map设置 LightGBM 参数 - 目标函数为回归(
regression),评估指标为 RMSE
模型训练
- 使用
train函数训练模型 - 支持早停(基于验证集)
预测与反归一化
- 使用
predictMatrix预测 - 反归一化得到原始尺度预测值
4. 技术路线
text
数据输入 → 数据划分 → 归一化 → 构建 LightGBM 数据集 → 参数设置 → 模型训练(含早停) → 特征重要性分析 → 点预测 → 区间构造(基于残差标准差)→ 评价指标计算 → 可视化输出
7. 运行环境
- 操作系统:Windows(因为加载了
.dll文件) - 软件:MATLAB2020b(需支持调用 C 库)
8. 应用场景
该代码适用于需要进行 回归预测并量化不确定性 的场景,例如:
- 电力负荷预测
- 股票价格区间预测
- 交通流量预测
- 环境监测数据预测
- 工业设备寿命预测