system: [SYSTEM]

user: 2. 灰色分数阶马尔科夫模型 2.1. 分数阶FGM(1，1)模型 定义1：设原始非负序列为 X ( 0 ) = ( x ( 0 ) ( 1 ) ， x ( 0 ) ( 2 ) ， x ( 0 ) ( 3 ) ， ⋯ ， x ( 0 ) ( n ) ) ， r ∈ R ，则 X ( r ) = ( x ( r ) ( 1 ) ， x ( r ) ( 2 ) ， x ( r ) ( 3 ) ， ⋯ ， x ( r ) ( n ) ) 是 X ( 0 ) = ( x ( 0 ) ( 1 ) ， x ( 0 ) ( 2 ) ， x ( 0 ) ( 3 ) ， ⋯ ， x ( 0 ) ( n ) ) 的r阶累加生成序列，其中： x ( r ) ( k ) = ∑ i = 1 k Γ ( r + k − i ) Γ ( k − i + 1 ) Γ ( r ) x ( 0 ) ( i ) ， k = 1 ， 2 ， ⋯ ， n (1) 这里 Γ ( r + k − i ) = ( r + k − i − 1 ) ! ， Γ ( k − i + 1 ) = ( k − i ) ! ， Γ ( r ) = ( r − 1 ) ! 。 定义2：设 X ( 0 ) 与 X ( r ) 如定义1所示， X ( r ) 是 X ( 0 ) 的分数阶累加生成序列， Z ( r ) = ( z ( r ) ( 2 ) ， z ( r ) ( 3 ) ， ⋯ ， z ( r ) ( n ) ) ，其中： z ( r ) ( k ) = x ( r ) ( k ) + x ( r ) ( k − 1 ) 2 ， k = 2 ， 3 ， ⋯ ， n (2) 称灰色微分方程 x ( r ) ( k ) − x ( r ) ( k − 1 ) + a z ( r ) ( k ) = b 为r阶累加灰色GM(1，1)模型，即为FGM(1，1)模型。特别的，当阶数r = 1时为GM(1，1)模型。 FGM(1，1)模型 x ( r ) ( k ) − x ( r ) ( k − 1 ) + a z ( r ) ( k ) = b 中 u ^ = [ a ， b ] T 可以运用最小二乘法估计： u ^ = ( B T B ) − 1 B T Y (3) 其中Y，B分别为： Y = [ x ( r − 1 ) ( 2 ) x ( r − 1 ) ( 3 ) ⋮ x ( r − 1 ) ( n ) ] ， B = [ − z ( r ) ( 2 ) 1 − z ( r ) ( 3 ) 1 ⋮ ⋮ − z ( r ) ( n ) 1 ] (4) 其中， x ( r − 1 ) ( k ) = x ( r ) ( k ) − x ( k ) ( k − 1 ) ， k = 2 ， 3 ， ⋯ ， n 。 定义3：参数如定义2所述，则称 d x ( r ) ( t ) d t + a x ( r ) ( t ) = b (5) 为r阶累加灰色FGM(1，1)模型 x ( r ) ( k ) − x ( r ) ( k − 1 ) + a z ( r ) ( k ) = b 的白化微分方程。设B，Y， u ^ 如定义2所述，则求解微分方程(3)，可以得到模型 x ( r ) ( k ) − x ( r ) ( k − 1 ) + a z ( r ) ( k ) = b ，令 x ^ ( 0 ) ( 1 ) = x ( 0 ) ( 1 ) ，得到时间序列响应式为： x ^ ( r ) ( t ) = [ x ( 0 ) ( 1 ) − b a ] e − a ( t − 1 ) + b a ， t = 1 ， 2 ， ⋯ ， n (6) 离散后的得到： x ^ ( r ) ( k ) = [ x ( 0 ) ( 1 ) − b a ] e − a ( k − 1 ) + b a ， k = 1 ， 2 ， ⋯ ， n (7) 还原后的值为： x ^ ( 0 ) ( k ) = ( x ^ ( r ) ) ( − r ) ( k ) = ∑ i = 0 k − 1 ( − 1 ) i Γ ( r + 1 ) Γ ( i + 1 ) Γ ( r − i + 1 ) x ^ ( r ) ( k − i ) ， k = 2 ， 3 ， ⋯ ， n (8) 其中 Γ ( r + 1 ) = r ! ， Γ ( i + 1 ) = i ! ， Γ ( r − i + 1 ) = ( r − i ) ! 。 2.2. 马尔科夫模型 马尔科夫过程是一类重要的随机过程。它通过对预测对象不同状态的初始概率和状态之间的转移概率的研究，确定预测对象未来状态的变化趋势。马尔科夫过程适合处理波动的数据且具有无后效性和短期预测效果良好的特点，已被广泛运用到军事、生物、气象等领域 [ 10 ] [ 11 ] [ 12 ] 。 本文运用马尔科夫模型对FGM(1，1)模型的预测值与实际值的相对误差进行状态划分。依据数据序列的状态可以构造状态转移矩阵，从而能够预测出后一个数据最可能所处的误差状态。根据误差状态划分的上下限，即可得到马尔科夫模型的修正值。马尔科夫模型可表示为： C h + 1 = C h ∗ P (9) 其中， C h + 1 ， C h 分别为在 h + 1 、h时刻的状态概率向量，P为一步状态转移概率矩阵。 2.2.1. 划分预测状态 根据原始数据与FGM(1，1)模型预测数据的相对误差，可以将误差划分为若干个状态。状态的数量没有严格的限制，一般由原始数据的多少和数据误差的范围大小来确定。状态区间为： E i = [ Q i 1 ， Q i 2 ] ， [ i = 1 ， 2 ， ⋯ ， u ] (10) 其中， Q i 1 ， Q i 2 分别表示状态区间相对误差的上、下限，u为状态划分数量。 2.2.2. 构造状态转移概率矩阵 由状态 E i 经过一个时期转移到 E j 的一步转移概率为 P i j ，将所有状态的一步转移概率构成一个矩阵，即： (11) 其v步转移概率矩阵为 P ( v ) = P ( v − 1 ) P = P v ， v = 1 ， 2 ， ⋯ ， u 。 2.2.3. 确定预测值 选取离预测数据最近的u组数据，按照由近到远的顺序确定步数t为 1 ， 2 ， 3 ， ⋯ ， u ，然后取各数据对应的t步状态转移矩阵的行向量构成新的矩阵，由新矩阵的列向量之和确定预测值最可能所处的状态。状 态确定以后，状态区间也就确定了，马尔可夫修正值为该区间的中点，即 Q i 1 + Q i 2 2 ，最终得到的预测值为： y ( k ) = x ^ ( r ) ( k ) 1 + ( Q i 1 + Q i 2 ) (12) 2.3. 模型误差检验准则 为了检验本文中模型的预测精度，本文采用平均绝对百分误差MAPE来描述拟合预测数据与真实数据的误差。根据模型得出的数据与实际数据可以计算出用于建模的拟合数据(Fitting data)的平均绝对误差(MAPEF)，建模后预测数据(Predicted data)的平均绝对误差(MAPEP)和总数据(Total data)的平均绝对误差MAPET，其表达式分别如下： MAPEF = 1 00 m ∑ i = 1 m | x ^ ( 0 ) ( k ) − x ( 0 ) ( k ) x ( 0 ) ( k ) | (13) MAPEP = 1 00 n − m ∑ i = m + 1 n | x ^ ( 0 ) ( k ) − x ( 0 ) ( k ) x ( 0 ) ( k ) | (14) MAPET = 1 00 n ∑ i = 1 n | x ^ ( 0 ) ( k ) − x ( 0 ) ( k ) x ( 0 ) ( k ) | (15) 其中，m是用于预测模型的样本个数，n是样本数据的总个数。 2.4. 最优阶数的确定 使用分数阶FGM(1，1)模型对原始数据进行预测时，首先要确定累加生成算子的阶数r，然后利用式(2)求出参数 ( a ， b ) 。最后利用时间响应方程求出原始数据预测值 x ^ ( 0 ) ( k ) 。为了找到最优阶数r，本文采用MAPET作为目标函数，形式如下： min MAPET = 1 00 n ∑ i = 1 n | x ^ ( 0 ) ( k ) − x ( 0 ) ( k ) x ( 0 ) ( k ) | s . t . { r ∈ R ， k = 2 ， 3 ， ⋯ ， n (16) 由于以上公式具有非线性性，直接利用公式寻找最优阶数十分困难。为此，本文使用粒子群算法对分数阶算子进行计算。 粒子群算法(PSO)是一种模拟自然界中鸟集群飞行觅食的行为方式演化而来的随机搜索方法。它于1995年由James Kennedy和Russell Eberhart共同提出 [ 13 ] 。两人于2001年出版《群体智能》将粒子群算法的影响扩大，引起了国内外学者的广泛关注 [ 14 ] 。粒子群算法模拟鸟类的觅食行为，将求解问题的搜索空间类比成鸟类的飞行空间，将每一只鸟抽象成一个没有质量和体积的粒子，用来表征问题的一个可行解，最后将寻找最优解的过程看作鸟类寻找食物的过程，进而求解复杂的优化问题。 粒子群算法作为一种新兴的智能优化算法，主要优点是有很好的并行性和全局寻优能力，并且不存在求导和函数连续性的限定。粒子群算法参数少而容易实现，对于非线性问题和多峰问题都有很好的全局搜索能力。近年来，粒子群算法已被广泛应用于机器学习、函数优化、能源预测、模式分类、自适应控制等领域。本文粒子群算法以MAPET最小为目标，寻找最优阶数，其算法步骤如下： 1) 初始化群体粒子个数，粒子维数等。 2) 初始化种群粒子位置和速度，计算每个粒子的适应度值，分别与个体极值和全局极值的最优位置及最优值比较，择优选取。 3) 迭代更新粒子的速度和位置，进行边界条件处理。 4) 判断是否满足终止条件；若不满足，则继续搜索；若满足，则将该粒子作为粒子群算法的最优计算结果。