组合预测模型
ˆi +1 = axi + (1 − a) x ˆi 即以第 i 期指数平滑值作为 i + 1 期 系数,且 0 ≤ a ≤ 1 ,预测值为 x
的预测值。确定最优的加权系数使得预测值与真实值的误差平方和的均值最小。 目标函数: min S 2 =
1 n ˆt ) 2 ( xt − x ∑ n t =1
ˆ i :第 i 个时段的组合预测方法的预测值 i = 1, 2," , n," y
ε i :第 i 个时段的组合预测方法的预测值与真实值的误差; ηi : 第 i 个时段的时间因子即第 i 个时段的组合预测方法的预测值与真实值的
误差平方的系数。
2
平顶山学院数学建模培训
2012-07-07
3 模型建立
平顶山学院数学建模培训
2012-07-07
组合预测模型
(平顶山学院 王安 2012-07-07)
本节首先为充分利用各种单项预测方法所主要能准确提供的全局的个别部分 信息和达到提高整个系统预测精度的目的,引入了时间因子的概念,并给出了连 续性时间因子的性质然后从单项预测模型出发, 并给出了基于遗传算法的求解单 项预测模型权系数步骤,由此便得出组合预测的预测值,在本章最后通过实例分 析证明了组合预测在保持预测稳定性的同时,可以提高预测的精度。
)
f p + f p +1 2
, ht = f p +
i = p +1
∑
n
t
fi
( t = p + 1, p + 2," , n )
( t = p, p + 1," , n )
(4.1)
ηt =
ht
∑h
t= p
t
2. 通过 n − p + 1 个时段内的真实值和预测值的历史数据,预测第 n + 1 个时段
度最小个体,并将最优个体放到种群最后,不进行交叉变异。 。用轮盘赌法,随 Step4 求出个体累计适应度 fitness = cumsum(ff(i)) 机产生概率,根据概率所在的区间选择个体进行遗传。
Step5 对所有个体随机两两配对,然后按照交叉概率 Pc ,进行单点交叉。
符合变异概率 Pm 的进行变异 Step6 对所有个体的所有基因产生相应的概率, 操作。 Step7 不断进行迭代操作,进行 500 次后,取出最优染色体序列,解码输出 最优 w1 , w2 ,..., wn 值,算法结束。 具体遗传算法求解具有时间因子的组合预测模型权重的算法流程图如图 4.1 所示。
6
平顶山学院数学建模培训
2012-07-07
图 4.2 预测值与真实值比较图
图 4.3 相对误差曲线图
5.2 指数平滑预测模型 指数平滑预测模型,设观测的样本序列为 X = {xi , i = 1, 2,3,…, n} ,则一次平 滑指数平滑式子为:Si (1) = axi + (1 − a ) Si −1(1) 式子为 Si (1) 为次指数平滑值;a 为加权
∑w
j =1
m
j
= 1 0 ≤ wj ≤ 1
(4.5)
时间因子对历史数据的影响,能够加强近期的数据的影响,削弱远期历史数 据的滞后影响,并保持数据变化的连续性,从而对事物进行综合精确的预测。这 能使预测值更有效的反应事物变化的规律。 具有时间因子的组合预测模型的数学模型
⎛ m ⎞ min J = ∑η ε = ∑ηi ⎜ ∑ w j ( yi − yij ) ⎟ i =1 i =1 ⎝ j =1 ⎠
2 符号说明
yi :第 i 个时段的实际值 i = 1, 2," , n
yij : 表 示 在 第 i 个 时 段 第 j 种 单 项 预 测 方 法 的 预 测 值 i = 1, 2," , n," ,
j = 1, 2," , m
w j :表示第 j 种预测方法的权重系数 j = 1, 2," , m aij = yi − yij :为在第 i 个时段第 j 种单项预测方法的单项预测误差
第 i 个时段的组合预测方法的预测值:
ˆi = ∑ w j yij y
j =1 m
(4.3)
第 i 个时段的组合预测方法的预测值的绝对误差:
ˆi = yi − ∑ w j yij ε i = yi − y
j =1 m
(4.4)
设 w1 , w2 ," , wm 分别为 m 种单项预测方法的加权系数,为了使组合预测保持 无偏性,加权系数应满足
个体数为 30 的群体 pop。 Step2 由于 Step1 中产生的群体,有一部分超出了约束范围,为了使所有个 体满足约束条件,我们对群体中的所有染色体进行解码得出相应的
w1 , w2 ,..., wn−1 。如果超出了 w1 , w2 ,..., wn−1 的约束范围( w1 + w2 + w3 + ... + wn = 1 , w1 + w2 + w3 + ... + wn−1 < 1 ),我们重新产生该染色体的基因,直到满足约束条
n 2 i i n 2
(4.6)
s.t.
∑wi =1 nm源自j=1j = 1, 2," , m
(4.7)
∑η
i =1
j
=1
j = 1, 2," , m j = 1, 2," , m j = 1, 2," , m
(4.8) (4.9) (4.10)
0 ≤ wj ≤ 1 0 ≤ηj ≤1
其中(4.6)表示 具有时间因子的组合预测的总误差平方和最小的目标函数; (4.7)表示具有时间因子组合预测方法的单项预测模型的权系数和为 1;(4.8)表示 具有时间因子组合预测方法的权系数和为 1;(4.9)表示具有时间因子组合预测方 法的单项预测模型权系数在 0 到 1 之间; (4.10)表示具有时间因子组合预测方法 的时间因子在 0 到 1 之间。
ˆi +1 = axi + (1 − a) x ˆi , 把第 i 期的指数平滑值 Si 作为 i + 1 期 Step3 依据预测公式 x
的预测值。
Step4 采用最小方差法确定预测值。初始值 S0 =
S2 = 1 n ˆt ) 2 ,求出当 S 2 最小时的 a 值。 ∑ ( xt − x n t =1
表 4.1 某煤矿原煤产量历史数据 序号 年份 产量 序号 年份 产量 序号 年份 产量 1 1988 1813.60 7 1994 2633.29 13 2000 2798.90 2 1989 2020.10 8 1995 2720.74 14 2001 2819.61 3 1990 2100.00 9 1996 2986.00 15 2002 3098.67 4 1991 2111.00 10 1997 3021.37 16 2003 3482.86 5 1992 2204.46 11 1998 2926.91 17 2004 3749.40 6 1993 2392.29 12 1999 2778.16
1 fi =
∑( y − y )
j =1 i ij n
m
2
⎛ ⎞ ⎜ ⎟ 1 ⎜ ⎟ ∑ m 2 ⎟ i= p ⎜ ⎜ ∑ ( yi − yij ) ⎟ ⎝ j =1 ⎠
1
平顶山学院数学建模培训
2012-07-07
作适应度的 x0 序列: x0 = ( f p , f p+1 ,..., f n ) 做 x0 的累加序列得到连续性时间因子序列 x1 : x1 = (η p ,η p +1 ," ,ηn 其中: hp =
1 模型准备
在预测中,由于各种单项预测具有不稳定性,各种预测方法都存在时好时坏的 特点,我们提出了组合预测的方法,通过结合历史预测数据与实际值,我们给定一 个各种预测的最优权重组合,使得这些历史预测数据在加权之后,总误差最小,可 以看出,这种加权预测的方法,结合了大量的历史数据,使得预测结果呈现稳定的 趋势,但由于历史数据太多,各种数据缺乏主次重要性,使得预测结果并不十分精 确.因此,我们依据实际情况,确定出一个合适的呈平滑上升趋势的时间因子序列, 在历史数据的误差中加上相应的时间因子使得近期数据的重要性增大,从而达到 在保证稳定性的前提下,提高了组合预测的预测准确性.这样经过时间因子加权后 确定的最优权重组合,更具有实际意义。 为了加强时间的连续性影响,削弱时间的滞后性影响,在误差平方和最小的 基础上,加入了时间因子,使得根据误差平方和最小原理求出的预测值与真实值 保持一致变化,求出下一时段的组合权重。根据预测量随时间变动的特点,以下 引入了时间因子的定义。 定义 1.1 时间因子定义:时间因子是反映不同时间数据对预测值影响程度 的一种权重ηt t = p, p + 1," , n 。 性质 1.1 如果预测对象具有连续性,则时间因子ηt 是关于 t 的递增函 数或数列 结合实际情况,给出两个连续性时间因子序列,其具体构造过程如下: 1. 求各期适应度:
的预测值,由远期到近期的权重依次为:
ηt =
2t t = p, p + 1," , n ( p + n )( n − p + 1)
(4.2)
连续性时间因子的作用是提高近期数据的良好影响, 削弱远期数据的滞后影 响,对于组合预测模型来说,时间因子可以使近期预测效果好的单项预测模型的 权系数自动适当放大,使得权系数的确定具有时变性,结合组合预测的方法进而 提高预测的稳定性和精确度; 在具有时间因子的组合预测模型中, 时间因子的设置可以提高近期数据对预 测的影响,使预测容纳更多的隐含信息,可以提高预测的稳定性和精确性,使预 测的结果更具有实际意义。