Discrete Difference Equation Prediction Model (DDEPM)

Discrete Difference Equation Prediction Model (DDEPM)

离散差分方程预测模型从灰度预测模型(grey prediction model)衍生出来,可以用于预测序列的发展趋势。

DDEPM过程

DDEPM的流程如下图所示
DDEPM

其中 x ( 0 ) x^{(0)} x(0)表示原始的序列, x ( 1 ) x^{(1)} x(1)表示DDEPM预测值。AGO表示累加生成器(Accumulated Generating Operation)用于预处理原始序列 x ( 0 ) x^{(0)} x(0),把 x ( 0 ) x^{(0)} x(0)转变成指数增长的序列。对原始序列应用一次AGO(1-AGO)就足够生成一个指数增长序列。接下来构造一个单一变量的二阶离散差分方程(DDE(2,1))来拟合1-AGO生成的序列。通过DDE(2,1)可以预测序列中未知的元素值。因为DDE(2,1)预测的是AGO生成的序列,因此需要把预测结果还原,方法就是IAGO (Inverse Accumulated Generating Operation)。最后得到的就是原始序列的预测结果。

(1)获取n个原始序列数据

(1) x ( 0 ) = { x ( 0 ) ( 1 ) , x ( 0 ) ( 2 ) , x ( 0 ) ( 3 ) , ⋯   , x ( 0 ) ( n ) } n ∈ Z x^{(0)} = \{ x^{(0)}(1), x^{(0)}(2), x^{(0)}(3), \cdots, x^{(0)}(n) \} \quad n \in Z \tag{1} x(0)={x(0)(1),x(0)(2),x(0)(3),,x(0)(n)}nZ(1)
其中 x ( 0 ) x^{(0)} x(0)表示有n个元素的元素序列, x ( 0 ) ( n ) x^{(0)}(n) x(0)(n)表示原始序列的第n个元素。

(2)AGO

生成指数增长序列
(2) x ( 1 ) = { x ( 1 ) ( 1 ) , x ( 1 ) ( 2 ) , x ( 1 ) ( 3 ) , ⋯   , x ( 1 ) ( n ) } n ∈ Z x^{(1)} = \{ x^{(1)}(1), x^{(1)}(2), x^{(1)}(3), \cdots, x^{(1)}(n) \} \quad n \in Z \tag{2} x(1)={x(1)(1),x(1)(2),x(1)(3),,x(1)(n)}nZ(2)
其中
x ( p ) = ∑ i = 1 p x ( 0 ) ( i ) , p = 1 , 2 , ⋯   , n x^{(p)} = \sum_{i=1}^{p}x^{(0)}(i), \quad p=1,2,\cdots,n x(p)=i=1px(0)(i),p=1,2,,n

只对原序列进行一次AGO操作,因此称 x ( 1 ) x^{(1)} x(1)为1-AGO序列。

因为要生成指数增长序列,所以原序列不能有负数元素,否则上述公式不能生成指数增长序列。

(3)DDE(2, 1)

使用单一变量的二阶离散差分公式生成DDE(2, 1)来拟合1-AGO序列
(3) x ( 1 ) ( p + 2 ) + a ⋅ x ( 1 ) ( p + 1 ) + b ⋅ x ( 1 ) ( p ) = 0 x^{(1)}(p+2) + a \cdot x^{(1)}(p+1) + b \cdot x^{(1)}(p) =0 \tag{3} x(1)(p+2)+ax(1)(p+1)+bx(1)(p)=0(3)
其中a和b是系数,为了确定a和b,我们使用最小二乘法。我们把公式(3)重写成
(4) [ − x ( 1 ) ( p + 1 ) − x ( 1 ) ( p ) ] [ a b ] = [ x ( 1 ) ( p + 2 ) ] \begin{bmatrix} -x^{(1)}(p+1) & -x^{(1)}(p) \end{bmatrix} \begin{bmatrix} a \\ b \end{bmatrix} = \begin{bmatrix} x^{(1)}(p+2) \end{bmatrix} \tag{4} [x(1)(p+1)x(1)(p)][ab]=[x(1)(p+2)](4)
p = 1 , 2 , ⋯   , n − 2 p=1,2,\cdots,n-2 p=1,2,,n2,接着公式(4)变为
(5) [ − x ( 1 ) ( 2 ) − x ( 1 ) ( 1 ) − x ( 1 ) ( 3 ) − x ( 1 ) ( 2 ) ⋮ ⋮ − x ( 1 ) ( n − 1 ) − x ( 1 ) ( n − 2 ) ] [ a b ] = [ x ( 1 ) ( 3 ) x ( 1 ) ( 4 ) ⋮ x ( 1 ) ( n ) ] \begin{bmatrix} -x^{(1)}(2) & -x^{(1)}(1) \\ -x^{(1)}(3) & -x^{(1)}(2) \\ \vdots & \vdots \\ -x^{(1)}(n-1) & -x^{(1)}(n-2) \end{bmatrix} \begin{bmatrix} a \\ b \end{bmatrix} = \begin{bmatrix} x^{(1)}(3) \\ x^{(1)}(4) \\ \vdots \\ x^{(1)}(n) \end{bmatrix} \tag{5} x(1)(2)x(1)(3)x(1)(n1)x(1)(1)x(1)(2)x(1)(n2)[ab]=x(1)(3)x(1)(4)x(1)(n)(5)

在公式(5)中,我们定义
Y = [ x ( 1 ) ( 3 ) x ( 1 ) ( 4 ) ⋮ x ( 1 ) ( n ) ] ( n − 2 ) × 1 Y = \begin{bmatrix} x^{(1)}(3) \\ x^{(1)}(4) \\ \vdots \\ x^{(1)}(n) \end{bmatrix}_{(n-2) \times 1} Y=x(1)(3)x(1)(4)x(1)(n)(n2)×1

X = [ − x ( 1 ) ( 2 ) − x ( 1 ) ( 1 ) − x ( 1 ) ( 3 ) − x ( 1 ) ( 2 ) ⋮ ⋮ − x ( 1 ) ( n − 1 ) − x ( 1 ) ( n − 2 ) ] ( n − 2 ) × 2 X = \begin{bmatrix} -x^{(1)}(2) & -x^{(1)}(1) \\ -x^{(1)}(3) & -x^{(1)}(2) \\ \vdots & \vdots \\ -x^{(1)}(n-1) & -x^{(1)}(n-2) \end{bmatrix}_{(n-2) \times 2} X=x(1)(2)x(1)(3)x(1)(n1)x(1)(1)x(1)(2)x(1)(n2)(n2)×2

Θ = [ a b ] 2 × 1 \varTheta = \begin{bmatrix} a \\ b \end{bmatrix} _{2 \times 1} Θ=[ab]2×1

公式(5)的解为
(6) Θ = [ a b ] = ( X T X ) − 1 X T Y \varTheta = \begin{bmatrix} a \\ b \end{bmatrix} = (X^TX)^{-1}X^TY \tag{6} Θ=[ab]=(XTX)1XTY(6)

我们之前得到的 x ( 1 ) x^{(1)} x(1)是指数增长序列,所以令 x ( 1 ) ( p ) = r p x^{(1)}(p) = r^p x(1)(p)=rp,因此

(7) r p + 2 + a ⋅ r p + 1 + b ⋅ r p = 0 r p ( r 2 + a ⋅ r + b ) = 0 \begin{aligned} r^{p+2} + a \cdot r^{p+1} + b \cdot r^{p} & = 0 \\ r^p (r^2 + a \cdot r + b) & = 0 \end{aligned} \tag{7} rp+2+arp+1+brprp(r2+ar+b)=0=0(7)

公式(7)的通解是
r 1 = − a + a 2 − 4 b 2 , r 2 = − a − a 2 − 4 b 2 r_1 = \frac{-a+\sqrt{a^2-4b}}{2}, \quad r_2 = \frac{-a-\sqrt{a^2-4b}}{2} r1=2a+a24b ,r2=2aa24b

Case 1 如果 r 1 ̸ = r 2 r_1 \not = r_2 r1̸=r2,则二阶离散差分方程的解方程为
(8) x ( 1 ) ( p ) = C 1 ⋅ r 1 p + C 2 ⋅ r 2 p x^{(1)}(p) = C_1 \cdot r_1^p + C_2 \cdot r_2^p \tag{8} x(1)(p)=C1r1p+C2r2p(8)
我们已经知道 x ( 0 ) ( 1 ) , x ( 0 ) ( 2 ) x^{(0)}(1),x^{(0)}(2) x(0)(1),x(0)(2),因此可以获得两个等式
(9) x ( 1 ) ( 1 ) = x ( 0 ) ( 1 ) = C 1 ⋅ r 1 + C 2 ⋅ r 2 x^{(1)}(1) = x^{(0)}(1) = C_1 \cdot r_1 + C_2 \cdot r_2 \tag{9} x(1)(1)=x(0)(1)=C1r1+C2r2(9)
(10) x ( 1 ) ( 2 ) = x ( 0 ) ( 1 ) + x ( 0 ) ( 2 ) = C 1 ⋅ r 1 2 + C 2 ⋅ r 2 2 x^{(1)}(2) = x^{(0)}(1) + x^{(0)}(2) = C_1 \cdot r_1^2 + C_2 \cdot r_2^2 \tag{10} x(1)(2)=x(0)(1)+x(0)(2)=C1r12+C2r22(10)
解上述两个方程得
C 1 = r 1 ⋅ x ( 0 ) ( 1 ) − x ( 0 ) ( 1 ) − x ( 0 ) ( 2 ) r 1 ⋅ r 2 − r 2 2 C 2 = r 2 ⋅ x ( 0 ) ( 1 ) − x ( 0 ) ( 1 ) − x ( 0 ) ( 2 ) r 1 ⋅ r 2 − r 1 2 \begin{aligned} C_1 & = \frac{r_1 \cdot x^{(0)}(1) - x^{(0)}(1) - x^{(0)}(2)}{r_1 \cdot r_2 - r_2^2} \\ C_2 & = \frac{r_2 \cdot x^{(0)}(1) - x^{(0)}(1) - x^{(0)}(2)}{r_1 \cdot r_2 - r_1^2} \end{aligned} C1C2=r1r2r22r1x(0)(1)x(0)(1)x(0)(2)=r1r2r12r2x(0)(1)x(0)(1)x(0)(2)

Case 2 如果 r 1 = r 2 r_1 = r_2 r1=r2,解方程为
(11) x ( 1 ) ( p ) = C 1 ⋅ r 1 p + C 2 ⋅ p ⋅ r 1 p x^{(1)}(p) = C_1 \cdot r_1^p + C_2 \cdot p \cdot r_1^p \tag{11} x(1)(p)=C1r1p+C2pr1p(11)

同理可得到两个方程
(12) x ( 1 ) ( 1 ) = x ( 0 ) ( 1 ) = C 1 ⋅ r 1 + C 2 ⋅ r 1 x^{(1)}(1) = x^{(0)}(1) = C_1 \cdot r_1 + C_2 \cdot r_1 \tag{12} x(1)(1)=x(0)(1)=C1r1+C2r1(12)
(13) x ( 1 ) ( 2 ) = x ( 0 ) ( 1 ) + x ( 0 ) ( 2 ) = C 1 ⋅ r 1 2 + 2 C 2 ⋅ r 1 2 x^{(1)}(2) = x^{(0)}(1) + x^{(0)}(2) = C_1 \cdot r_1^2 + 2 C_2 \cdot r_1^2 \tag{13} x(1)(2)=x(0)(1)+x(0)(2)=C1r12+2C2r12(13)
解得
C 1 = x ( 0 ) ( 1 ) × ( 2 r 1 − 1 ) − x ( 0 ) ( 2 ) r 1 2 C 2 = x ( 0 ) ( 1 ) × ( 1 − r 1 ) + x ( 0 ) ( 2 ) r 1 2 \begin{aligned} C_1 & = \frac{x^{(0)}(1) \times (2r_1-1) - x^{(0)}(2)}{r_1^2} \\ C_2 & = \frac{x^{(0)}(1) \times (1 - r_1) + x^{(0)}(2)}{r_1^2} \end{aligned} C1C2=r12x(0)(1)×(2r11)x(0)(2)=r12x(0)(1)×(1r1)+x(0)(2)

Case 3 如果 r 1 r_1 r1 r 2 r_2 r2是共轭复数,那么解方程为
(14) x ( 1 ) ( p ) = C 1 ⋅ ρ p ⋅ sin ⁡ ( ϕ p ) + C 2 ⋅ ρ p ⋅ cos ⁡ ( ϕ p ) x^{(1)}(p)=C_1 \cdot \rho^p \cdot \sin (\phi p) + C_2 \cdot \rho^p \cdot \cos (\phi p) \tag{14} x(1)(p)=C1ρpsin(ϕp)+C2ρpcos(ϕp)(14)
其中
ρ = ( − a 2 ) 2 + ( 4 b − a 2 2 ) 2 = b , ϕ = tan ⁡ − 1 ( − 4 b − a 2 a ) \rho = \sqrt{\left ( - \frac{a}{2} \right )^2 + \left ( \frac{\sqrt{4b-a^2}}{2} \right )^2} = \sqrt{b}, \quad \phi = \tan^{-1} \left ( - \frac{\sqrt{4b - a^2}}{a} \right ) ρ=(2a)2+(24ba2 )2 =b ,ϕ=tan1(a4ba2 )
同理可得到两个方程
(15) x ( 1 ) ( 1 ) = x ( 0 ) ( 1 ) = C 1 ⋅ ρ ⋅ sin ⁡ ϕ + C 2 ⋅ ρ ⋅ cos ⁡ ϕ x^{(1)}(1) = x^{(0)}(1) = C_1 \cdot \rho \cdot \sin \phi + C_2 \cdot \rho \cdot \cos \phi \tag{15} x(1)(1)=x(0)(1)=C1ρsinϕ+C2ρcosϕ(15)
(16) x ( 1 ) ( 2 ) = x ( 0 ) ( 1 ) + x ( 0 ) ( 2 ) = C 1 ⋅ ρ 2 ⋅ ( sin ⁡ 2 ϕ ) + C 2 ⋅ ρ 2 ⋅ cos ⁡ ( 2 ϕ ) x^{(1)}(2) = x^{(0)}(1) + x^{(0)}(2) = C_1 \cdot \rho^2 \cdot (\sin 2\phi) + C_2 \cdot \rho^2 \cdot \cos (2\phi) \tag{16} x(1)(2)=x(0)(1)+x(0)(2)=C1ρ2(sin2ϕ)+C2ρ2cos(2ϕ)(16)
解得
C 1 = x ( 0 ) ( 1 ) ⋅ ρ 2 ⋅ cos ⁡ ( 2 ϕ ) − x ( 0 ) ( 1 ) ⋅ ρ ⋅ cos ⁡ ϕ − x ( 0 ) ( 2 ) ⋅ ρ ⋅ cos ⁡ ϕ ρ 3 ( sin ⁡ ϕ ⋅ c o s ( 2 ϕ ) − cos ⁡ ϕ ⋅ sin ⁡ ( 2 ϕ ) ) C 2 = x ( 0 ) ( 1 ) ⋅ ρ ⋅ sin ⁡ ϕ + x ( 0 ) ( 2 ) ⋅ ρ ⋅ sin ⁡ ϕ − x ( 0 ) ( 1 ) ⋅ ρ 2 ⋅ sin ⁡ ( 2 ϕ ) ρ 3 ( sin ⁡ ϕ ⋅ c o s ( 2 ϕ ) − cos ⁡ ϕ ⋅ sin ⁡ ( 2 ϕ ) ) \begin{aligned} C_1 & = \frac{x^{(0)}(1) \cdot \rho^2 \cdot \cos(2 \phi) - x^{(0)}(1) \cdot \rho \cdot \cos \phi - x^{(0)}(2) \cdot \rho \cdot \cos \phi}{\rho^3 ( \sin \phi \cdot cos(2 \phi) - \cos \phi \cdot \sin(2 \phi))} \\ C_2 & = \frac{x^{(0)}(1) \cdot \rho \cdot \sin \phi + x^{(0)}(2) \cdot \rho \cdot \sin \phi - x^{(0)}(1) \cdot \rho^2 \cdot \sin(2 \phi)}{\rho^3 ( \sin \phi \cdot cos(2 \phi) - \cos \phi \cdot \sin(2 \phi))} \end{aligned} C1C2=ρ3(sinϕcos(2ϕ)cosϕsin(2ϕ))x(0)(1)ρ2cos(2ϕ)x(0)(1)ρcosϕx(0)(2)ρcosϕ=ρ3(sinϕcos(2ϕ)cosϕsin(2ϕ))x(0)(1)ρsinϕ+x(0)(2)ρsinϕx(0)(1)ρ2sin(2ϕ)

(4)IAGO

因为得到的离散差分方程式基于1-AGO序列,因此需要反AGO操作还原AGO操作,得到预测值。
(17) x ^ ( 0 ) = x ( 1 ) ( p ) − x ( 1 ) ( p − 1 ) \hat{x}^{(0)} = x^{(1)}(p) - x^{(1)}(p-1) \tag{17} x^(0)=x(1)(p)x(1)(p1)(17)
其中 x ^ ( 0 ) \hat{x}^{(0)} x^(0)是预测值,p是DDEPM的预测步长。

DDEPM过程总结

  1. 用公式(2)对原序列进行1-AGO操作。
  2. 构造公式(5)的矩阵X和向量Y。
  3. 使用公式(6)计算系数a和b。
  4. 预测未知的序列数据。
    • Case 1. 如果 a 2 − 4 b > 0 a^2-4b \gt 0 a24b>0,使用公式(8)来预测未知序列数据。
    • Case 2. 如果 a 2 − 4 b = 0 a^2-4b = 0 a24b=0,使用公式(11)来预测未知序列数据。
    • Case 3. 如果 a 2 − 4 b &lt; 0 a^2-4b \lt 0 a24b<0,使用公式(14)来预测未知学列数据。
  5. 给定一个预测步长p,使用公式(17)进行IAGO还原并得到最后的预测结果。

DDEPM属性

  • DDEPM的预测精度比灰度预测模型要高,而且不需要太多的样本点数据(4-5个样本点数据就足够了,算出系数a和b至少需要3个样本点)。
  • 计算简单。
  • 可以作为混沌时间序列预测机制。

Universal DDEPM

DDEPM有一个缺点是原始序列必须是非负序列,为了解决这个问题,通用的DDEPM(Universal DDEPM)增加了两个操作:映射生成操作(MGO)和反映射生成操作(IMGO)。通用DDEPM流程如下图所示
Universal DDEPM

MGO

MGO操作把原始序列映射成非负序列 x m ( 0 ) x_m^{(0)} xm(0)
(18) x m ( 0 ) = { x m ( 0 ) ( 1 ) , x m ( 0 ) ( 2 ) , x m ( 0 ) ( 3 ) , ⋯ &ThinSpace; , x m ( 0 ) ( n ) } x m ( 0 ) ( i ) = M G O ( x ( 0 ) ( i ) ) = s + γ ⋅ x ( 0 ) ( i ) , i = 1 , 2 , 3 , ⋯ &ThinSpace; , n \begin{aligned} x_m^{(0)} = \{ x_m^{(0)}(1), x_m^{(0)}(2), x_m^{(0)}(3), \cdots, x_m^{(0)}(n) \} \\ x_m^{(0)}(i) = MGO(x^{(0)}(i)) = s + \gamma \cdot x^{(0)}(i), \quad i=1,2,3,\cdots,n \end{aligned} \tag{18} xm(0)={xm(0)(1),xm(0)(2),xm(0)(3),,xm(0)(n)}xm(0)(i)=MGO(x(0)(i))=s+γx(0)(i),i=1,2,3,,n(18)
即对原始序列进行缩放平移处理,其中 s s s表示偏移值, γ \gamma γ表示缩放因子。

IMGO

IMGO操作把映射之后的预测值还原为映射之前的预测值。
(19) x p ( 0 ) = I M G O ( x ^ ( 0 ) ( p ) ) = 1 γ ( x ^ ( 0 ) ( p ) − s ) x_p^{(0)}=IMGO(\hat{x}^{(0)}(p)) = \frac{1}{\gamma} (\hat{x}^{(0)}(p)-s) \tag{19} xp(0)=IMGO(x^(0)(p))=γ1(x^(0)(p)s)(19)
其中 x ^ ( 0 ) ( p ) \hat{x}^{(0)}(p) x^(0)(p)是IAGO的输出值, x p ( 0 ) x_p^{(0)} xp(0)是最终的预测值。

内容来自《An Efficient Gradient Forecasting Search Method Utilizing the Discrete Difference Equation Prediction Model》

weixin073智慧旅游平台开发微信小程序+ssm后端毕业源码案例设计 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值