2. College of Power and Energy Engineering, Harbin Engineering University, Harbin 150001, China;
3. Shaanxi Diesel Engine Heavy Industry Co., Ltd., Xingping 713105, China
GM(1,1)模型是灰色预测模型中最基础的模型,具有建模简单、准确的优点,目前已经成功应用在电力、航天、船舶等多个领域[1, 2, 3, 4, 5]。由于模型自身局限性,GM(1,1)模型主要适用于单调数列或光滑性好的数列,为此不少学者都提出不同的改进方法[6, 7, 8],为灰色预测的实现和优化奠定了理论基础与有效方法。现有的GM(1,1)模型仿真程序大多是通过编程在命令行界面中完成,无法实现程序的模块化,不便于实际应用。如DU等[9]采用MATLAB语言编写灰色预测程序m文件,进而调用该m文件进行计算仿真,完成对柴油机相继增压系统的故障预测与诊断。然而,改进后的建模方法大多在原模型基础上,对原有公式进行修正或者融入新的数学理论,使得预测程序更加复杂,编程的工作量也随之增加。在对模型进行大量计算和验证中,命令行界面操作会给仿真程序运行带来诸多不便,影响仿真效率。
GUI (graphical user interfaces)是MATLAB软件的一个重要模块,是指采用图形方式显示的计算机操作用户界面,具有开发周期短、操作方便、界面友好的特点[10],有利于更方便快捷地控制仿真程序[11, 12, 13]。目前,针对灰色预测仿真及优化问题的界面化仿真平台的研究相对较少,故文中利用MATLABT中的GUI设计了基于传统GM(1,1)预测模型以及改进模型的灰色预测仿真平台,该平台集输入、输出、仿真计算以及后处理为一体,简化了建模过程,提高了仿真计算的效率,有效解决了灰色预测的预测精度的优化问题。最后以某型增压柴油机为研究对象,在该平台上进行实例验证,结果表明了该平台的准确性和实用性。
1 灰色预测模型 1.1 GM(1,1)模型
GM(1,1)模型是一阶单变量的微分方程模型,其建立的基本思路如下:若原始序列
满足 式中: 则称x(1)(k)为x(0)的一次累加生成,记为1-AGO。在式(1)的基础上建立白化微分方程:
式中a和u为待辨识参数,记参数列为α^且 根据最小二乘法求解,得: 式中:由此可得GM(1,1)的离散响应方程为
对作一次累减还原得到预测模型 1.2 精度检验模型建立后需要进行精度检验,主要包括:残差检验、后验差检验以及关联度检验,相应的计算程序均由M语言编写,精度等级参照如表 1所示。
模型精度 等级 | 相对 误差α | 关联度 ε | 均方差 比值C0 | 小概率 误差值P0 |
一级(优) | 0.01 | 0.90 | 0.35 | 0.95 |
二级(良) | 0.05 | 0.80 | 0.50 | 0.80 |
三级(合格) | 0.10 | 0.70 | 0.65 | 0.70 |
四级(不合格) | 0.20 | 0.60 | 0.80 | 0.60 |
文中引用最常用的几种改进模型,包括残差GM(1,1)预测模型、残差均值GM(1,1)预测模型以及加常数优化的GM(1,1)预测模型。
1.3.1 残差GM(1,1)模型
建立残差模型的步骤如下:首先定义残差为
令k=i,i+1,…,n,得到残差序列: 为便于表示,令n′=n-i+1: 对ε(0)(k)建立GM(1,1)模型可以得到: 将上述残差的GM(1,1)模型加入原模型中得: 式中: 1.3.2 残差均值GM(1,1)模型如果按原始数据x0(i)建立的GM(1,1)模型,经检验不合格,则对原模型进行修正的最简单的方法,就是对模型预测值
都加上残差平均值ε,即修正后的预测值为,此新模型为残差均值修正模型。1.3.3 序列变换GM(1,1)模型
针对波动数据预测精度受限的问题,在原始序列中每一个数据均加上同一常数b,以此来弱化数据波动带来的影响。通过研究不同b值下衡量指标的变化关系,找出最优b值。其中,衡量指标设定为:建模平均相对精度P0、残差方差σ、关联度ε、绝对平均误差E 、后验误差C。其中:
2 人机交互实现本平台通过MATLAB的图形用户界面(GUI)的设计环境来实现人机交互界面设计,设计主要包括GUI界面设计和回调函数的设计,分别对应生成.fig和.m文件。仿真优化平台界面设计如图 1所示。
GUI界面设计通过设置菜单和各个控件,并对其进行位置布置和属性编辑来实现,在设计好GUI界面之后,编写菜单和各个控件的回调函数的程序代码,实现各个控件相应的功能。其中回调函数均采用M语言设计。该平台设计有多个功能模块,每个模块包含多个子程序,结构控制流程如图 2所示。
2.1 初始设置模块
该模块包括模型的设置和基本参数的输入。在GM(1,1)模型的基础上,引入了3种GM(1,1)改进模型,便于用户比较不同模型的仿真计算效果;通过导入功能,可以从指定的EXCEL或WORD中读取历史数据作为输入,有利于进行实时在线预测。
2.2 操作模块
该模块包括仿真、精度检验、误差分析、预测、步长选择等操作。用户只需要通过这些操作即可完成对原始数据序列的灰色预测仿真计算。
2.3 输出模块
该模块负责建模精度检验结果和仿真结果的输出,主要包括预测值、仿真计算过程中的中间反馈参数、曲线对比图以及误差分析的输出等,每项输出均可独立显示。此外,模块设置有导出功能,可以将每次仿真计算的结果以及相关反馈参数保存至工作目录下EXCEL或WORD文件中。
3 仿真实例
本计算实例根据文献[9]中的试验数据,分别取7个采样时刻,前6个时刻的数据为原始数据,第7个采样时刻数据用来验证模型的预测精度。部分试验数据如表 1所示。
采样 时刻 | 功率/ kW | 燃油消耗率/ (kg·(kWh)-1) | 增压器转速/ (r·min-1) |
1 | 889 | 182.5 | 640 |
2 | 995 | 184.7 | 642 |
3 | 937 | 186.6 | 622 |
4 | 905 | 190.5 | 644 |
5 | 838 | 195.9 | 643 |
6 | 800 | 200.7 | 640 |
7 | 765 | 205.9 | 642 |
1)单调数据。如油耗率,模型设置为传统GM(1,1)模型,平台仿真计算结果如图 3所示。从图 3可以看出,平台输出的模型拟合值为:[182.5 183.472 6 787.483 4 191.581 9 195.769 9 200.019 5];相对误差为:[0 1.227 4 -0.883 41 -1.081 9 0.1301 0.650 51];误差精度“良好”;模型预测值为204.423,与文献[9]中的预测值为204.4基本吻合,说明了仿真平台的准确性。相比于文献[9]的命令窗口操作形式,本平台操作方便,仿真计算效率更高,同时所有中间反馈信息可以通过导出功能保存至工作目录下.xls文件中,以便于用户查询和后处理。
2)波动数据。如增压器转速,模型设置为传统GM(1,1)模型,平台仿真计算结果如图 4所示。
从图 4可以看出,对于波动数据传统GM(1,1)模型拟合出的序列已经无法准确描述原序列的变化趋势,因而无法进行准确预测,需要采取改进模型。模型设置改为残差GM(1,1)模型,不同i值下的模型结果与试验值对比图如图 5所示。
从图 5可以看出,当i=1时即残差GM(1,1)模型能够反应出增压器转速的波动特点,因此宜采用残差GM(1,1)模型来对增压器转速进行预测,这与文献[9]中的结论一致,进一步说明了该平台的准确性。
4 结束语
利用MATLAB GUI 编程环境开发了多功能灰色预测仿真优化平台,有效避免了灰色预测建模过程中编程以及程序运行的繁琐,简化了建模过程,提高了建模仿真的效率;平台提供多种改进模型选择,可以有效解决不同特点原始序列的灰色预测仿真及其优化;通过编译生成的.exe可执行文件可脱离MATLAB单独运行,便于实际应用。通过实例验证结果表明,此仿真平台界面友好,操作方便,具有良好的实用性和交互性。
同时本研究在日后的工作中,将为平台不断补充更多的GM(1,1)优化模型如全负数据序列GM(1,1)预测模型、基于Gourier GM(1,1)模型、GM(1,1)幂模型等,以此丰富模型库,为用户的灰色预测建模研究提供更多的方式选择。
[1] | ZHANG Y J, ZHANG X T, LI Q H, et al. Gray theory based energy saving potential evaluation and planning for distribution networks[J]. Information and Software Technology, 2013, 57: 298-303. |
[2] | 吴军, 刘涤尘. 基于灰色预测的电力系统静态频率特性系数计算[J]. 电力系统保护与控制, 2012, 40(2): 97-103. |
[3] | 王霄婷, 周军, 林鹏, 等.变质心再入飞行器的灰色预测PID控制[J]. 西北工业大学学报, 2012, 30(4): 485-490. |
[4] | LU X Z, LU W K. Pre-alarm model of diesel vapour detection and alarm based on grey forecasting[J]. Measurement, 2012, 45(4): 656-662. |
[5] | 朱显辉, 崔淑梅, 师楠, 等. 电动汽车电机故障时间的粒子群优化灰色预测[J]. 高电压技术, 2012, 38(6): 1391-1396. |
[6] | 王正新, 党耀国, 赵洁珏, 等.优化的GM(1,1)幂模型及其应用[J]. 系统工程理论与实践, 2012, 32(9): 1973-1978. |
[7] | 张华, 任若恩. 基于小波分解和残差GM(1,1)-AR的非平稳时间序列预测[J]. 系统工程理论与实践, 2010, 30(6): 1016-1020. |
[8] | 尚军亮, 方敏. 一种优化的高精度灰色GM(1, 1)预测模型[J]. 电子与信息学报, 2010, 32(6): 1301-1305. |
[9] | DU J W, WANG Y Y. Fault forecast and diagnosis of sequential turbocharging system based on grey theory and neural network[J]. Transactions of CSIC, 2008, 26(6): 543-545. |
[10] | 陈垚光, 毛涛涛. 精通MATLAB GUI设计[M]. 北京: 北京航空航天大学出版社, 2011:47-52. |
[11] | 王兆文, 李浩, 黄都, 等. Matlab/GUI 的汽油机缸内直接喷雾图像处理方法[J]. 农业机械学报, 2013, 44(9): 19-23. |
[12] | 秦辉, 席裕庚. 基于 Matlab GUI 的预测控制仿真平台设计[J]. 系统仿真学报, 2006, 18(10): 2778-2781. |
[13] | 杨娟, 郭海湘, 杨文霞, 等. 基于MATLAB的GUI设计车辆路径问题的仿真优化平台[J]. 系统仿真学报, 2012, 24(3): 722-727. |