





PIMO-Transformer-LSTM-ABKDE:基于投影迭代优化算法的概率区间预测方法
SCI一区顶刊《Knowledge-Based Systems》算法应用 | Matlab实现
📌 研究背景
元启发式优化算法的发展
优化问题在科学研究与工程应用中扮演着核心角色。从工业生产的资源配置到人工智能的模型参数调优,优化算法贯穿于现代技术的方方面面。然而,随着数据规模的指数级增长,优化问题呈现出高维度 、非凸性 、动态性等复杂特征,传统数学方法难以有效应对。
元启发式算法(Metaheuristic Algorithms, MAs)因其不依赖目标函数的解析表达式或连续性,通过模拟自然现象或过程进行迭代搜索,展现出强大的全局搜索能力和适应性。近年来,MAs与机器学习的深度融合成为研究热点,在超参数优化、特征选择等领域取得显著成效。
PIMO算法的诞生
投影迭代优化算法(Projection-Iterative-Methods-based Optimizer, PIMO) 是2025年发表于SCI一区顶刊《Knowledge-Based Systems》的创新性元启发式算法。该算法首次将传统投影方法 与群体智能优化相结合,充分利用投影方法在约束处理方面的优势和群体智能的自适应学习能力。
PIMO的核心创新在于:
- 将投影迭代方法中的几何投影机制引入群体智能优化框架
- 提出四种自适应算子动态平衡全局探索与局部开发
- 在CEC2017基准测试、工程优化问题和特征选择任务中表现优异
概率区间预测的重要性
在实际应用中,单一的点预测往往无法满足决策需求。概率区间预测通过给出预测值的置信区间,量化预测的不确定性,为风险评估和决策制定提供更全面的信息支撑。本文将PIMO算法应用于Transformer-LSTM混合模型的超参数优化,结合自适应带宽核密度估计(ABKDE),构建高效的概率区间预测框架。
🎯 主要功能
本项目实现了一个完整的概率区间预测系统,主要功能包括:
| 功能模块 | 描述 |
|---|---|
| PIMO超参数优化 | 自动优化学习率、隐藏层节点数、L2正则化系数 |
| Transformer-LSTM预测 | 结合注意力机制与时序建模的混合深度学习模型 |
| ABKDE误差估计 | 自适应带宽核密度估计,精确刻画误差分布 |
| 多置信区间构建 | 支持95%、90%、75%、50%等多种置信水平 |
| 全面指标评估 | PICP、PINAW、CRPS、CWC四大区间预测指标 |
🔧 算法步骤
整体流程

┌─────────────────────────────────────────────────────────────────┐
│ PIMO-Transformer-LSTM-ABKDE │
├─────────────────────────────────────────────────────────────────┤
│ 1. 数据预处理 │
│ └─ 数据导入 → 归一化 → 训练/测试集划分 │
│ │
│ 2. PIMO超参数优化 │
│ └─ 初始化种群 → 迭代搜索 → 输出最优超参数 │
│ │
│ 3. Transformer-LSTM模型训练 │
│ └─ 构建网络 → 训练模型 → 点预测输出 │
│ │
│ 4. ABKDE误差分布估计 │
│ └─ 计算预测误差 → 自适应带宽优化 → 核密度估计 │
│ │
│ 5. 概率区间构建 │
│ └─ 分位数求解 → 区间上下界计算 → 可视化展示 │
│ │
│ 6. 指标评估 │
│ └─ PICP/PINAW/CRPS/CWC计算 → 模型性能评价 │
└─────────────────────────────────────────────────────────────────┘
详细步骤说明
Step 1: 数据预处理
matlab
% 导入数据
res = xlsread('data.xlsx');
% 数据归一化
[P_train, ps_input] = mapminmax(P_train, 0, 1);
[t_train, ps_output] = mapminmax(T_train, 0, 1);
% 数据格式转换(适配深度学习模型)
P_train = double(reshape(P_train, f_, 1, 1, M));
Step 2: PIMO超参数优化
matlab
% 定义优化目标函数
fobj = @(x)fical(x);
% 参数设置
pop = 10; % 智能体数量
Max_iter = 5; % 最大迭代次数
dim = 3; % 优化参数个数
lb = [1e-3, 32, 1e-3]; % 参数下界
ub = [1e-1, 128, 1e-1]; % 参数上界
% 执行优化
[Best_score, Best_pos, curve] = PIMO(pop, Max_iter, lb, ub, dim, fobj);
Step 3: Transformer-LSTM模型构建
matlab
layers = [
sequenceInputLayer(numChannels) % 输入层
positionEmbeddingLayer(numChannels, maxPosition) % 位置编码
additionLayer(2) % 残差连接
selfAttentionLayer(numHeads, numKeyChannels) % 多头注意力
lstmLayer(best_hd, 'OutputMode', 'last') % LSTM层
reluLayer % 激活函数
dropoutLayer(0.2) % Dropout正则化
fullyConnectedLayer(1) % 全连接层
regressionLayer % 回归输出
];
Step 4: ABKDE误差分布估计
matlab
% 计算预测误差
Error = T_sim1 - T_train;
% 自适应带宽核密度估计
[y, t, optim_width, ~, ~, confb95] = ABKDE(Error);
Step 5: 概率区间构建
matlab
% 定义置信水平
z = [0.975; 0.95; 0.875; 0.75; 0.625; 0.55; 0.525];
% 计算分位数
for m = 1:length(z)
Q1(m) = QuantSol_FUN(t, y, 1-z(m)); % 下界分位数
Q2(m) = QuantSol_FUN(t, y, z(m)); % 上界分位数
end
% 构建预测区间
Lower(:,m) = T_sim2 + Q1(m);
Upper(:,m) = T_sim2 + Q2(m);
🛤️ 技术路线
架构图
┌──────────────────────────────────────────────────────────────────────────┐
│ 技术架构图 │
├──────────────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────────────┐ │
│ │ 输入数据 │───▶│ 数据预处理 │───▶│ PIMO超参数优化模块 │ │
│ └─────────────┘ └─────────────┘ │ ┌─────────────────────┐ │ │
│ │ │ RGP: 残差引导投影 │ │ │
│ │ ├─────────────────────┤ │ │
│ │ │ DRP: 双重随机投影 │ │ │
│ │ ├─────────────────────┤ │ │
│ │ │ WRPU: 加权随机投影 │ │ │
│ │ ├─────────────────────┤ │ │
│ │ │ LFGP: Lévy飞行引导 │ │ │
│ │ └─────────────────────┘ │ │
│ └──────────────┬──────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ Transformer-LSTM 混合预测模型 │ │
│ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────────────┐│ │
│ │ │位置编码层 │─▶│自注意力层│─▶│ LSTM层 │─▶│ 全连接输出层 ││ │
│ │ └──────────┘ └──────────┘ └──────────┘ └──────────────────┘│ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ ABKDE 误差分布估计 │ │
│ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────────────┐ │ │
│ │ │ 预测误差计算 │─▶│ 自适应带宽优化│─▶│ 核密度函数估计 │ │ │
│ │ └──────────────┘ └──────────────┘ └──────────────────────┘ │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ 概率区间构建与评估 │ │
│ │ ┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐ ┌──────────────┐ │ │
│ │ │ PICP │ │ PINAW │ │ CRPS │ │ CWC │ │ 可视化展示 │ │ │
│ │ └────────┘ └────────┘ └────────┘ └────────┘ └──────────────┘ │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ │
└──────────────────────────────────────────────────────────────────────────┘
📐 公式原理
1. PIMO算法核心公式
PIMO算法包含四个核心算子,通过自适应组合实现高效优化。
1.1 自适应参数 δ
δ = sin ( π 2 ( 1 − ( 2 t T m a x ) 5 ) ) \delta = \sin\left(\frac{\pi}{2}\left(1 - \left(\frac{2t}{T_{max}}\right)^5\right)\right) δ=sin(2π(1−(Tmax2t)5))
其中 t t t 为当前迭代次数, T m a x T_{max} Tmax 为最大迭代次数。
1.2 残差引导投影(RGP)
利用广义雅可比矩阵近似梯度方向:
J i j = f ( x + ϵ e j ) − f ( x ) ϵ J_{ij} = \frac{f(x + \epsilon e_j) - f(x)}{\epsilon} Jij=ϵf(x+ϵej)−f(x)
位置更新公式:
x n e w = x − δ ⋅ ∇ x_{new} = x - \delta \cdot \nabla xnew=x−δ⋅∇
或
x n e w = x + δ ⋅ J ⋅ ∇ T x_{new} = x + \delta \cdot J \cdot \nabla^T xnew=x+δ⋅J⋅∇T
1.3 加权随机投影更新(WRPU)
ρ 1 = r 1 ⋅ x i + ( 1 − r 1 ) ⋅ x b e s t + r 2 ⋅ ( x i − x b e s t ) \rho_1 = r_1 \cdot x_i + (1-r_1) \cdot x_{best} + r_2 \cdot (x_i - x_{best}) ρ1=r1⋅xi+(1−r1)⋅xbest+r2⋅(xi−xbest)
ρ 2 = x i + a ⋅ ( x n e w − x b e s t ) \rho_2 = x_i + a \cdot (x_{new} - x_{best}) ρ2=xi+a⋅(xnew−xbest)
1.4 Lévy飞行引导投影(LFGP)
x n e w = r ⋅ x e l i t e + ( 1 − r ) ⋅ L e ˊ v y ( β ) ⋅ d ⋅ ( x e l i t e − x i ⋅ 2 t T m a x ) x_{new} = r \cdot x_{elite} + (1-r) \cdot Lévy(\beta) \cdot d \cdot \left(x_{elite} - x_i \cdot \frac{2t}{T_{max}}\right) xnew=r⋅xelite+(1−r)⋅Leˊvy(β)⋅d⋅(xelite−xi⋅Tmax2t)
Lévy飞行步长:
σ u = ( Γ ( 1 + β ) sin ( π β / 2 ) Γ ( ( 1 + β ) / 2 ) β ⋅ 2 ( β − 1 ) / 2 ) 1 / β \sigma_u = \left(\frac{\Gamma(1+\beta)\sin(\pi\beta/2)}{\Gamma((1+\beta)/2)\beta \cdot 2^{(\beta-1)/2}}\right)^{1/\beta} σu=(Γ((1+β)/2)β⋅2(β−1)/2Γ(1+β)sin(πβ/2))1/β
2. 自适应带宽核密度估计(ABKDE)
2.1 核密度估计基本公式
f ^ ( x ) = 1 n h ∑ i = 1 n K ( x − x i h ) \hat{f}(x) = \frac{1}{nh}\sum_{i=1}^{n}K\left(\frac{x-x_i}{h}\right) f^(x)=nh1i=1∑nK(hx−xi)
其中 K ( ⋅ ) K(\cdot) K(⋅) 为核函数(本项目采用高斯核), h h h 为带宽参数。
2.2 高斯核函数
K ( x ) = 1 2 π h exp ( − x 2 2 h 2 ) K(x) = \frac{1}{\sqrt{2\pi}h}\exp\left(-\frac{x^2}{2h^2}\right) K(x)=2π h1exp(−2h2x2)
2.3 自适应带宽优化
通过最小化局部损失函数确定最优带宽:
C ( h ) = ∫ [ f ^ h 2 ( x ) − 2 f ^ h ( x ) f ( x ) ] d x C(h) = \int \left[\hat{f}_h^2(x) - 2\hat{f}_h(x)f(x)\right]dx C(h)=∫[f^h2(x)−2f^h(x)f(x)]dx
采用黄金分割搜索法求解全局最优带宽参数。
3. 区间预测评估指标
3.1 预测区间覆盖概率(PICP)
P I C P = 1 N ∑ i = 1 N 1 [ L i , U i ] ( y i ) PICP = \frac{1}{N}\sum_{i=1}^{N}\mathbf{1}_{[L_i, U_i]}(y_i) PICP=N1i=1∑N1[Li,Ui](yi)
其中 1 [ L i , U i ] ( y i ) \mathbf{1}_{[L_i, U_i]}(y_i) 1[Li,Ui](yi) 为指示函数,当真实值 y i y_i yi 落在区间 [ L i , U i ] [L_i, U_i] [Li,Ui] 内时取1,否则取0。
3.2 预测区间归一化平均宽度(PINAW)
P I N A W = 1 N ⋅ R ∑ i = 1 N ( U i − L i ) PINAW = \frac{1}{N \cdot R}\sum_{i=1}^{N}(U_i - L_i) PINAW=N⋅R1i=1∑N(Ui−Li)
其中 R R R 为目标变量的范围。
3.3 连续排序概率得分(CRPS)
C R P S = 1 N ∑ i = 1 N ∫ − ∞ + ∞ [ F ( x ) − 1 x ≥ y i ] 2 d x CRPS = \frac{1}{N}\sum_{i=1}^{N}\int_{-\infty}^{+\infty}\left[F(x) - \mathbf{1}_{x \geq y_i}\right]^2 dx CRPS=N1i=1∑N∫−∞+∞[F(x)−1x≥yi]2dx
其中 F ( x ) F(x) F(x) 为预测分布的累积分布函数。
3.4 覆盖宽度准则(CWC)
C W C = P I N A W + γ ⋅ exp ( − η ( P I C P − μ ) ) CWC = PINAW + \gamma \cdot \exp\left(-\eta(PICP - \mu)\right) CWC=PINAW+γ⋅exp(−η(PICP−μ))
其中:
γ = { 1 , P I C P < μ 0 , P I C P ≥ μ \gamma = \begin{cases} 1, & PICP < \mu \\ 0, & PICP \geq \mu \end{cases} γ={1,0,PICP<μPICP≥μ
⚙️ 参数设定
PIMO算法参数
| 参数名称 | 符号 | 默认值 | 说明 |
|---|---|---|---|
| 种群规模 | pop |
10 | 智能体数量 |
| 最大迭代次数 | Max_iter |
5 | 优化迭代次数 |
| 问题维度 | dim |
3 | 待优化参数个数 |
| 扰动参数 | epsilon |
1e-6 | 雅可比矩阵计算步长 |
| Lévy指数 | beta |
1.5 | Lévy飞行参数 |
Transformer-LSTM模型参数
| 参数名称 | 搜索范围 | 最优值 | 说明 |
|---|---|---|---|
| 学习率 | [1e-3, 1e-1] | PIMO优化 | Adam优化器初始学习率 |
| 隐藏层节点数 | [32, 128] | PIMO优化 | LSTM层神经元数量 |
| L2正则化系数 | [1e-3, 1e-1] | PIMO优化 | 权重衰减参数 |
| 注意力头数 | - | 4 | 多头注意力机制 |
| Dropout率 | - | 0.2 | 防止过拟合 |
| 最大训练轮次 | - | 200 | 训练迭代次数 |
| 批大小 | - | 64 | 每批样本数量 |
ABKDE参数
| 参数名称 | 默认值 | 说明 |
|---|---|---|
| 带宽优化次数 | 80 | 局部带宽搜索次数 |
| 核函数类型 | Gauss | 支持Gauss/Laplace/Cauchy |
| Bootstrap样本数 | 100 | 置信区间估计抽样次数 |
💻 运行环境
软件要求
| 软件/工具箱 | 版本要求 | 用途 |
|---|---|---|
| MATLAB | R2020a及以上 | 主程序运行环境 |
| Deep Learning Toolbox | 必需 | 深度学习模型构建 |
| Statistics Toolbox | 必需 | 统计分析功能 |
硬件建议
- CPU: 多核处理器(推荐4核以上)
- 内存: 8GB以上(推荐16GB)
- GPU: 可选,支持CUDA的NVIDIA显卡可加速深度学习训练
文件结构
PIMO-Transformer-LSTM-ABKDE/
├── main.m % 主程序入口
├── PIMO.m % PIMO优化算法
├── fical.m % 适应度函数(模型训练与评估)
├── initialization.m % 种群初始化
├── ABKDE.m % 自适应带宽核密度估计
├── QuantSol_FUN.m % 分位数求解
├── PICP_FUN.m % PICP指标计算
├── PINAW_FUN.m % PINAW指标计算
├── CRPS_FUN.m % CRPS指标计算
├── CWC_FUN.m % CWC指标计算
├── PlotError.m % 误差可视化
├── PlotKernelDensity.m % 核密度可视化
├── PlotProbability.m % 概率区间可视化
└── data.xlsx % 示例数据
🚀 应用场景
1. 能源领域
- 电力负荷预测:为电网调度提供置信区间,支持备用容量决策
- 新能源发电预测:量化风电、光伏发电的不确定性
- 能源价格预测:辅助能源交易风险管理
2. 金融领域
- 股票价格预测:构建投资组合风险边界
- 汇率波动预测:外汇风险管理决策支持
- 信用风险评估:违约概率区间估计
3. 工业制造
- 设备故障预测:预测性维护时间窗口
- 产品质量预测:质量控制区间估计
- 生产效率预测:产能规划决策支持
4. 气象环境
- 气温/降水预测:天气预报不确定性量化
- 空气质量预测:污染预警置信区间
- 水文预测:洪涝灾害风险评估
5. 交通运输
- 交通流量预测:智能交通系统决策支持
- 出行时间预测:导航系统可靠性增强
- 物流需求预测:供应链优化
📊 实验结果示例
点预测性能指标
| 指标 | 数值 | 说明 |
|---|---|---|
| R² | >0.95 | 决定系数 |
| MAE | 较低 | 平均绝对误差 |
| RMSE | 较低 | 均方根误差 |
| MAPE | <5% | 平均绝对百分比误差 |
区间预测性能指标
| 置信水平 | PICP | PINAW | CRPS | CWC |
|---|---|---|---|---|
| 95% | ≥0.95 | 较窄 | 较低 | 较优 |
| 90% | ≥0.90 | 较窄 | 较低 | 较优 |
| 75% | ≥0.75 | 更窄 | 较低 | 较优 |
📚 参考文献
-
PIMO原论文 : Yu, D., Ji, Y., & Xia, Y. (2025). Projection-Iterative-Methods-based Optimizer: A novel metaheuristic algorithm for continuous optimization problems and feature selection. Knowledge-Based Systems , 113238. DOI链接
-
Vaswani, A., et al. (2017). Attention is all you need. NeurIPS.
-
Hochreiter, S., & Schmidhuber, J. (1997). Long short-term memory. Neural Computation.
-
Shimazaki, H., & Shinomoto, S. (2010). Kernel bandwidth optimization in spike rate estimation. Journal of Computational Neuroscience.
📝 总结
本项目成功将SCI一区顶刊《Knowledge-Based Systems》发表的PIMO算法 应用于概率区间预测领域,构建了PIMO-Transformer-LSTM-ABKDE完整技术框架:
-
创新性优化策略:PIMO算法首次将投影迭代方法与群体智能相结合,四种自适应算子(RGP、DRP、WRPU、LFGP)实现探索与开发的动态平衡
-
混合深度学习架构:Transformer捕获长距离依赖,LSTM建模时序特征,两者协同增强预测能力
-
精确不确定性量化:ABKDE自适应带宽核密度估计精确刻画误差分布,构建多置信水平预测区间
-
全面评估体系:四大区间预测指标(PICP、PINAW、CRPS、CWC)全方位评价模型性能
该框架具有良好的通用性和可扩展性,可广泛应用于能源、金融、工业、气象等领域的预测决策问题。
关键词: PIMO算法 | Transformer | LSTM | 概率区间预测 | 核密度估计 | 超参数优化 | MATLAB | Knowledge-Based Systems