logo资料库

灰色模型GM_1_1_的C语言程序实现.pdf

第1页 / 共3页
第2页 / 共3页
第3页 / 共3页
资料共3页,全文预览结束
中国西部科技 2012 年 06 月第 11 卷第 06 期总第 275 期 35 灰色模型 GM(1,1)的 C 语言程序实现 史振伟 刘河军 徐玉健 (中国地质大学<北京>土地科学技术学院,北京 100083) 摘 要:灰色系统理论从提出到至今,经历了三十年的发展与完善,已在社会、经济、科技、农业、工业、地质、决策、预 测等不同领域得到了广泛应用。以往的应用经验证明了灰色系统理论具有很强的适用性,就灰色模型 GM(1,1)而言,由 于计算复杂,单凭人工计算,计算量大,计算成本高,计算精度也难以保证。采用 C 语言编写程序进行预测计算,将从根 本上解决这一问题,并使灰色模型 GM(1,1)在建筑物沉降研究等方面得到更有效的应用。 关键词:灰色系统理论;灰色模型 GM(1,1);C 语言;沉降预测 DOI:10.3969/j.issn.1671-6396.2012.06.016 1 引言 )1( x ( k )1  )1( x )0(   ak  ; k  , ,2,1 n ——(式 5)    b a  e   b a 灰色系统理论是 80 年代初期由我国学者邓聚龙教授创 立的一门系统科学新学科。所谓灰色系统,是指部分信息已 知,部分未知,即信息不完全的贫信息系统。然而信息不完 设原始数据为: X x ),1( )0( )0(  x ( 全的贫信息系统普遍存在,这使得灰色系统理论具有十分广 按下式对原始数据累加: )0( ),2(  , x )0( ( n )) ——(式 6) 阔的发展前景。短短的几十年,灰色系统理论不仅在理论上 迅速发展,日臻完善,而且在社会、经济、科技、农业、工 业、地质、决策、预测等各方面得到了日益广泛和深入的应 用,取得了一系列重大成果[1]。然而这并不能说明灰色模型 适用于任何研究对象,在使用灰色系统模型前,要系统分析 影响研究对象变化的因素是否具有灰色特征。只有具有灰色 特征的研究对象才可运用灰色模型进行研究。 在建筑物变形监测领域,建筑物沉降过程既包含确定信 息又包含不确定信息,且影响建筑物沉降的因素处于不断变 化之中,无法定量分析。因此建筑物的沉降过程可以看作是 设 一个灰色系统,能够运用灰色系统理论研究其沉降变化。为 了验证这一理论在建筑物沉降预测方面的可行性,以及方便 今后灰色系统理论在建筑物沉降预测领域中的应用,使灰色 系统模型 GM(1,1)应用更灵活,实现简化计算过程的目 的,本文将基于灰色模型 GM(1,1)运用 C 语言实现灰色 模型 GM(1,1)程序化。 2 灰色系统模型[2,3] 2.1 灰色模型 GM(1,1) )1( x n )( n   i 1  )0( x ni ,)(  ,2,1 , n )1( 生成原始数据的 1-AGO 序列:  X x , ——(式 7) 对 1-AGO 序列使用式 1 求紧邻均值,得到 1-AGO 的紧 ),2( ),1( ))  n x x )1( )1( )1( ( ( 邻均值序列: z ( )1( )1( )1( z  ),2( Z ——(式 8) 求灰色微分方程的时间响应序列中的参数 ba, 的值, ˆ  a ),3(  )) n z )1( ( , 为参数列,且: )1( )2( )3( , z z )1( B  )2( )3( Tba ),( )0(  x   x     x  )0( )0(         n )( Y            )1( z n )( ——(式 9)  1   1    1   则灰色微分方程的最小二乘估计参数列满足: ˆ a T  ba ,  x )1( )0(  T )0( k )1  (    ( T BB x )0( )1( ˆ x 1)  )1( k ( 取 ˆ x ——(式 10) YB ,则还原原始数据的模拟值得: )1  kk );  ,2,1 ——(式 11) )1( n ˆ x ( , 2.2 灰色预测模型的检验 对于一个具体的研究对象,究竟选择哪一种模型进行 预测并不是一成不变的,需要对预测模型进行多重检验才 能判断其是否满足要求,只有精度满足一定要求的模型才 能对其进行选择和使用。 2.2.1 残差、相对误差检验 )0( 根据 GM(1,1)模型求得原始序列对应的模拟序列为: ˆ ˆ,  X x ),2( ——(式 12) ˆ n x ( )) )0(  ,求得残差序列为: 按式 ˆ( x  n )(  ˆ),1( x x n )( )0( )) n )0( )0( )0( ( ( )1( )0( b  az k )( k )( 定义方程: x  为 GM(1 , 1)模型,其中: z k x k ( 5.0)( )1( 对 GM(1 , 1)求导得: )1( dx dt 5.0 ax   x )1( )1( )1(   b ——(式 1)  )1 ——(式 2) ——(式 3) 为 GM(1,1)模型的白化方程,对白化方程求解得其 时间响应函数为: )1( )1( t )(  x x    )0(   at e  ; k  ,2,1 , n ——(式 4) b a    b a 则 GM(1,1)灰色微分方程的时间响应序列为:
36 )0(   按式 序列: ),1(( ),2(  k )(  k x )( )0(  k  n (, )) ——(式 13) ; k  ,2,1 , n ,求得相对误差 做法使编写出的程序更可靠和易懂[4]。使用软件 Visual Studio2010 运用 C 语言编写程序,实现了使用 GM(1,1) 模型对原始数据的处理、预测、关联度、残差、相对误 差、平均相对误差的输出。程序内部通过对精度、关联度 与其临界值的比较,输出精度等级及预测值,极大的减少 开发应用 ,     )1(  x )1( )0( k )(  x k )( )0( 平均相对误差。  称 k )1(  x )1( )0( ,  , )1(  x )1( )0(    ——(式 14) 为 k 点的相对误差,  1 n  n 1 k   k 为 给定残差α,当 1<α成立时,称模型为残差合格模型。 2.2.2 关联度检验 设ε为 X(0)与 )(0ˆX 的绝对关联度。计算 X 与 Xˆ 的灰色 绝对关联度ε: s  ˆ s  n 1    k n 2 1  2 k  kx )(   nx )(5.0)1(  x  x )1(   ——(式 15)  )(ˆ kx   )(ˆ5.0)1(ˆ x nx   )1(ˆ x   ——(式 16)   1  1 s   s ˆ s   ˆ s ˆ s s ——(式 17) 对于给定的ε0>0,若ε>ε0,则称模型为关联度合格 模型。 2.2.3 均方差、最小误差概率检验 2 )0( k )(  x ) ——(式 18) x n n ( x x   )0( 2 Sk ), 1 1 n 求原始数据的均值、方差:  1 n 求残差的均值、方差: n  1  n Sk ), 1 n (   1  1  2 2   ( n k k k 1  k 1  S 2 / S 1 称 C  2 k )((   )  ——(式 19) 为均方差比值,对于给定的,C0>C0>, 则称 GM(1,1)模型为均方差比值合格模型。称: (  k )(  ——(式 20) Pp 为小误差概率。对于给定的 P0>0,当 P>P0 时,称模型   6745 1S .0 ) 为小误差概率合格模型。 表 1 精度检验等级参照表 精度等级\ 指标临界 一级 二级 三级 四级 相对误差 α 0.01 0.02 0.10 0.20 关联度 ε 0.90 0.80 0.70 0.60 均方差比值 C 0.35 0.50 0.65 0.80 小误差概率 P 0.95 0.80 0.70 0.60 3 GM(1,1)模型 C 语言程序的实现 3.1 程序介绍 C 语言是一种融合了控制特性的现代语言,其设计使 得用户可以自然地采用结构化编程和模块化设计,而这种 开始 输入数据 计算精度等级 计算参数 a、b 计算 1-AGO 值 计算 B、Y 矩阵 原始数据模拟值 了人们的计算量,提高了工程测量的工作效率,很好实现 了灰色模型 GM(1,1)与计算机技术的结合。 3.2 实现的过程 不能进行预测 输出结果 一级 二级 三级 四级 N Y Y Y Y N N 结束 图 1 程序流程图 (注:N 代表“否”,Y 代表“是”。) 3.2.1 还原模拟值 (1)运行程序,根据提示输入原始数据个数 n,接着依 次输入式 6 中所指的原始数据。 (2)执行程序对式 6 中数据进行累加得到 1-AGO 序 列,for(i=1;i
中国西部科技 2012 年 06 月第 11 卷第 06 期总第 275 期 37 3.2.2 模型精度的检验 (1)将式 6、式 12 中对应的数据相减求出残差序列, 并存放在ε序列中。使用残差数据式 13 除以式 6 中的原始 数据得到相对误差序列。 (2)对相对误差序列求和除 n 取平均值得平均相对误 差(通常使用平均相对误差衡量预测精度的指标)。 (3)通过式 18,编写代码得到原始数据的平均值,并 2。根据式 19,编写代码计算得到残差的平均值 求其方差 S1 与方差。定义 C=S2/S1,定义 C0,源代码通过使用 if 语句与 else 语句判断 C 与 C0 的关系,判断是否为合格均方差比值。 (4)计算得到小误差概率 P,对于给定的 P0>0,当 P> 根据式 15、16,编写代码,完成计算 X 与 Xˆ 的灰色 P0 时,称模型为小误差概率合格模型,并输出结果。 绝对关联度ε,判断并输出绝对关联度和输出相应的精度 等级。 4 使用程序对在建建筑物沉降量进行预测 4.1 预测结果精度分析 为检验使用程序进行数据处理分析结果的可靠性,测 得了某市公共租赁房工程中一栋楼房从开工到建成过程中 发生的沉降量。初期一共测得了五组沉降数据,以这五组 数据作为原始数据,使用灰色模型 GM(1,1)对未来三个 周期的沉降量进行预测。之后继续测得三个周期的沉降数 据与对应的预测数据进行分析,对比沉降观测值与模拟值 曲线的拟合程度,检验 GM(1,1)模型的预测精度。 计算平均相对误差: n   1 n k  1  k  .1 2908 % 。 由表 1 可知,平均相对误差等级为一级。 模拟误差 计算 X 与 Xˆ 的灰色绝对关联度 ,精度为二级。 9.0 05.0%29.0 998.0     5 ,所以关 联度为一级。 计算均方差比 C=0.0259<0.35,所以均方差比值为一级。 计算小误差概率 P=1>0.95,所以小误差概率为一级。 表 2 误差检验表 序号 原始数据 模拟数据 2 3 4 5 4.61 5.92 7.06 8.64 4.71 5.76 7.04 8.61 残差 -0.088 0.161 0.017 0.025 相对误差 1.91% 2.72% 0.23% 0.29% 原始数据的预测序列为 )0( ˆ X  )28.19,76.15,89.12,54.10( 。 为了使精度检验的结果表现直观,利用原始沉降量与 模拟值折线图进行对比分析。 时间间隔 15d 原始数据 模拟数据 表 3 原始沉降量与对应的模拟值 4 7.06 7.04 1 2.02 2.02 2 4.61 4.71 3 5.92 5.76 5 8.64 8.61 首先,通过图 2 可以看出,原始沉降量与模拟沉降量拟 合的较好,第 7 周期至第 9 周期的沉降量与预测的对应周期 沉降量也具有很高的拟合程度,这也验证了灰色模型 GM (1,1)在预测建筑物沉降方面的优越特性;其次,由图 2 还可得知,在预测建筑物沉降方面,离原始值较近周期的 预测值精度要高于离原始值较远周期的预测值。随着预测 周期的逐渐远离,预测值偏离真值的范围也在扩大,这也 证明了,使用此模型在原始数据量较少的情况下,对较近 几个周期的沉降量预测结果更为准确。 图 2 沉降观测值与模拟值折线图 4.2 程序应用分析 实现灰色模型 GM(1,1)C 语言程序化后,成功简化 了使用灰色模型 GM(1,1)进行预测时复杂的数据计算过 程,提高了计算精度,保证了预测结果的真实可靠。此 外,利用此程序一方面很好地证明了灰色模型 GM(1,1) 通过少量已知数据即可完成对未知信息的预测功能,及其 在建筑物沉降预测方面的可行性;另一方面灰色模型 GM (1,1)与计算机技术的结合极大的发挥了灰色模型 GM (1,1)在建筑物沉降预测领域的应用空间。提高了建筑物 沉降预测单位的工作效率,节约了大量的人力物力,满足 了当今工程建设快速发展的需要。 5 结论 灰色模型 GM(1,1)的程序化,很好地实现了 C 语言 程序与灰色模型 GM(1,1)结合,充分发挥了计算机技术 与灰色模型 GM(1,1)的优点,既达到了使用已知数据预 测未知数据的目的,又实现了对数据的准确、快速处理。 从残差、相对误差等评估数据来看,灰色模型的预测精度 非常高,实例也证明了灰色 GM(1,1)模型在预测领域中 具有较高的预测精度。 通过实例证明灰色模型在建筑物沉降预测领域具有广 泛的应用前景,因此,实现模型的程序化将变得更加具有 实际意义。在未来工程界“基于灰色模型 GM(1,1)的建 筑物沉降预测系统”必定会有很好的发展蓝图。 参考文献: [1] 傅立.灰色系统理论及其应用[M].北京:科学技术文献出版社,1992: 68-69. [2] 邓聚龙.灰色系统理论教程[M].湖北:中国理工大学出版社,1990: 189-192. [3] 刘思峰.灰色系统理论及其应用[M].北京:科学出版社,2000:134-135. [4] 姚国清.C 程序设计[M].北京:航空工业出版社,2008:54-55. [基金项目] 中国地质大学(北京)大学生课外科技专项基金。 [作者简介] 史振伟(1989-),男,汉族,大学本科,研究 方向为测绘工程。
分享到:
收藏