Page 91 - 《软件学报》2026年第2期
P. 91
570 软件学报 2026 年第 37 卷第 2 期
根据 b i 计算扩张因子序列 S, 其中每个扩张因子 s i 为:
s i = (1+m) , i = 1,2,...,T −1 (13)
b i
依据差值的正负确定纵向扩展序列 X V 中的元素:
E
′ ′ ′
X VE = {x , x ,..., x } (14)
1 2 T
{
x i+1 · s i , d i > 0
′
x = , i = 1,2,...,T −1 (15)
i x i+1 /s i , d i ⩽ 0
(4) 纵向收缩
纵向扩展能通过增强趋势变化幅度以帮助模型学习峰值部分的序列模式, 但对于学习图 8 中 t=10 附近序列
区间的低峰值部分效果有限. 为提升模型捕获低峰值序列模式的能力, 本文设计方法对原始序列中的高峰值部分
进行削弱而保留变化幅度较低的波动信息, 以促使模型关注低峰值模式. 图 10 展示了原始序列预测值与 MLP 模
型在削减峰值信息后的序列上的预测结果对比. 可以看出, 峰值削减序列预测值在较低峰值部分的预测准确度优
于原始序列预测值.
0.50
原始序列预测值
0.45
峰值削减序列预测值
0.40
真实值
0.35
输出值 0.30
0.25
0.20
0.15
0.10
0.05
0 10 20 30 40
时间步
图 10 峰值削减序列与原始序列预测结果对比
将该序列构建方法称为纵向收缩, 方法依据序列的极差和单步变化幅度逐点削减序列的趋势变化幅度. 其整
体设计思路和纵向扩展一致, 不同点在于计算扩张因子 s i 时采取相反操作. 图 11 展示了纵向收缩序列构建的过
程. 设输入历史窗口为 X = {x 1 , x 2 ,..., x T }, 纵向扩缩因子为 m, 采用公式 (9)–公式 (11) 计算变量极差 R、差值序列
D、缩放序列 N 和放大因子等级 b i . 随后计算收缩因子序列 s 为:
′
S, 其中每个收缩因子
i
′
s = (1−m) , i = 1,2,...,T −1 (16)
n i
i
最终以差值正负确定纵向收缩序列 X VC , 序列中元素计算方式与公式 (15) 一致.
原始序列 纵向收缩 纵向收缩序列
图 11 纵向收缩序列构建
(5) 横向平移
除峰值预测幅度不足、增减趋势相反外, 预测值偏移也同样影响预测准确度. 从图 8 中 t 取值为 [20, 25] 的区
间可以观察到, 虽然峰值增强序列预测值在增减趋势上与真实值接近, 但存在一定滞后偏移, 即预测值的增长出现
在真实值序列增长的若干步之后. 针对这一现象, 本文对原始序列进行平移操作, 通过头部填充与尾部截断构建横
向平移序列, 使模型更早感知趋势变化的初始信号. 图 12 展示了原始序列预测值与 MLP 模型在平移序列上的预
测结果对比. 可以看出, 在 t 取值为 [6, 12]、[15, 18]、[35, 40] 区间内, 平移序列预测值相较于图 8 中峰值增强序
列预测值的滞后情况有所改善, 平移序列预测值与真实值中峰值所处时间步更加一致.

