彭 灿,李群善,刘浩忠
(1.重庆交通大学经济与管理学院,重庆 400074;2. 青海省交通建设工程造价管理站,青海 西宁 810008)
隧道工程
高海拔地区隧道总造价预测
——基于粗糙集-支持向量机模型
彭 灿1,李群善2,刘浩忠2
(1.重庆交通大学经济与管理学院,重庆 400074;2. 青海省交通建设工程造价管理站,青海 西宁 810008)
利用粗糙集理论对 5个影响隧道总造价的初始因子进行属性约减,筛选出影响隧道总造价的核因子集,然后基于所筛选的核因子集建立支持向量回归模型,最后通过该模型对高海拔地区隧道总造价进行预测。通过实例验证,结果表明测试样本的预测值与实测值相差不大,即证明本文所构建模型是一种有效的隧道总造价预测方法。
粗糙集;支持向量机;隧道;总造价
1.1 粗糙集理论
粗糙集理论(RS理论)是一种处理含糊、不确定性、不一致性问题的智能算法。粗糙集理论通过将研究对象视为一个知识表达系统(也称为信息系统、信息表),根据知识表达中不同属性的重要性,得到有用知识,去掉不重要的与学习任务无关的知识,以此简化表达空间。
(1) 外部数据获取形成决策表
原始数据可以形成一张决策表,输入变量作为条件属性,输出变量(目标)作为决策属性。粗集理论中一个信息表可表示为如下式子
S=(U,A,V,f)
(1)
式中:U为论域;A=C∪D;C为条件属性(对应评价因子),D为决策属性,两者病机构成的集合A为非空有限集;V=∪α⊂AVa为属性值的集合,Va是属性α⊂A的值域;f:U×A→V,f(xj,a)∈V,是一个信息函数,赋予每个信息对象信息值。
(2)属性离散化
对决策表中的决策属性值(包括连续型或整数型变量)进行离散化处理,从而改变属性值的粒度,提高分类准确性。
(3)属性约简
找出相关属性的最小子集,并且保存决策表原始属性的分类能力,简化信息表,可以借助一些软件来进行属性约简。
1.2 支持向量机
(1)支持向量机基本原理
支持向量机(简称SVM)是用于解决回归预测问题的智能算法。SVM可处理线性回归与非线性回归问题,本文所研究的问题——隧道总造价预测属于非线性问题。通过引入核函数方法,将输入空间的非线性样本变换到一个高维空间的线性样本,并在此空间中利用线性方法解决非线性问题。
(2)支持向量机MATLAB实现过程
步骤一:定义功能函数,获取原始样本数据。本文根据支持向量机的简称将这一程序命名为svmfitting,其中定义函数如下:
functionsvmfittingout=svmfitting(fun,rawdata,sigs)
即定义SVM算法的功能函数svmfitting,其中等号左边为输入变量,主要为原始样本的标签、数据及最大迭代次数,等号右边为输出变量,主要为优化后的参数值及实际迭代次数。
步骤二:设置算法运行参数。其中包括学习因子,,最大权重,最大迭代步数;
步骤三:设置参数初始值,实数矩阵进行二进制编码,参数初始值设置为0;
步骤四:训练初始数据,创建适应度函数,计算最优参数。本文以隧道总造价成本预测结果的精度作为适应度函数,若预测结果符合精度要求,则停止算法,若不符合精度要求,则继续进行运算。
步骤五:绘制适应度迭代曲线,输出优化结果。
1.3 模型预测流程
结合粗集理论和支持向量机,得到本文预测模型的建立过程,过程如下:
图1 基于RS-SVM的隧道总造价预测流程图
2.1 粗糙集指标筛选
利用粗糙集进行指标筛选遵循了有效性和关键性两个方面,去掉一些不重要的指标,保留对高海拔隧道总造价预测有重要影响的指标。
表1 隧道造价预测指标体系
2.2 数据收集
通过多方努力,收集到了近几年高海拔地区隧道项目的实际数据,收集的数据如表2所示:
表2 实际工程数据
2.3 属性约简
(1)属性集确定
本文将上述影响隧道造价的指标因素作为条件因素,隧道造价作为决策属性,从而确定属性集S=(U,A,V,f)。
(2)属性量化表
对于定性数据要进行量化处理,其中围岩等级和洞门类型有多种方式,这里以取最主要的一种类型代表该隧道的围岩等级和洞门形式,量化处理如表3所示
表3 属性量化表
(3)连续属性离散化
粗糙集理论知识发现要求决策表中的值用离散数据表达。因此需要对指标因素中的连续性指标进行离散化处理,连续值的离散化的基本原则是:属性离散化的空间维数尽可能小,丢失的信息尽可能少。本文利用SPSS软件对各组数据中的连续性数据进行离散化处理,需要离散化的连续变量有海拔高度d、隧道长度e和隧道造价f,然后结合上面的属性量化表得到初始决策信息表,如表4所示。
表4 初始项目决策表DT
其中各属性对应的指标分别为围岩等级、洞门类型、是否是冻土地区、海拔高度、隧道长度、隧道总造价。论域为U={1,2,3,4,5,6,7,8,9,10},其中1,2,3…10分别表示前10个隧道项目,C={a,b,c,d,e}表示与隧道项目有关的条件属性集,D={f}表示与隧道项目有关的决策属性集,Va={3,4,5},Vb={1,2,3},Vc={1,2}。
(4)指标属性约简
运用粗糙集软件Rosetta的Genetic algorithm属性约简方法对预测知识系统进行知识约简得到相应属性集合A的核为{a,d},并以此核为起点计算,得到属性的重要性,并逐步选择最重要的属性来进行属性的约简,得到以下五个约简分别为:{a,d,e},{a,b,d,e},{a,c,d},{a,c,d,e}运用另一种常用的Johnson's algorithm属性约简方法得到的约简为{a,d,e},规则不冲突。因此,选用{a,d,e}作为支持向量机输入层的指标数,其中a是围岩等级,d海拔高度,e是隧道长度。
2.4 支持向量机模型的建立
(1)首先对约减后的核因子集{围岩等级,海拔高度,隧道长度},和隧道总造价进行等进行数据预处理,消除不同量纲的影响,将其归一化到0到1之间。
(2)将隧道总造价对应的核因子集数据分成两部分,其中第1~10隧道项目的数据作为模型训练样本,第11个隧道项目(大峡隧道)和第12个隧道项目(白马寺隧道)的数据为模型预测及检验样本。
(3)利用MATLAB对支持向量机编码建模进行计算,设置初始参数,令,学习因子取值范围为1.8~2.0,权重系数取值范围,种群规模25~50,迭代步数为100~200,然后搜索得到支持向量机的惩罚因子参数和Gauss径向基核函数参数。利用获得的最佳模型参数对样本数据进行学习,建立隧道总造价与隧道造价影响因子之间的响应模型。
(4)通过上述所建立模型对样本进行预测计算。
2.5 预测结果与分析
利用上述步骤对对第11个和第12个项目大峡隧道和白马寺隧道测试样本进行预测。为了与一般的预测模型SVM进行对比分析,再直接将影响隧道总造价的5个初始影响因子直接作为支持向量机模型的输入集,不经过粗集理论进行约简。两种模型的拟合与预测结果如表5所示。
表5 测试样本模型预测值及误差
比较两种方法的计算结果和相对误差可以发现,采用RS-SVM方法的预测结果准确性明显高于SVM算法,即采用RS-SVM方法与实际结果更为接近,表明了本文预测方法是有效的。
本文基于粗糙集理论和SVM算法,对高海拔冻土地区的隧道造价进行预测,为造价行业提供一种快速精确的估算方法。通过以上理论分析以及实例验证,得出基于RS-SVM模型预测隧道总造价具有以下特点和优势:通过粗糙集筛选得出围岩等级、海拔高度及隧道长度是影响隧道总造价的主要因素;利用粗糙集理论进行属性约减,筛选出影响隧道总造价的核因子集,建立基于核因子集的支持向量回归预测模型,对隧道总造价进行预测,其预测值与实际值相对误差较小,该方法可以为隧道造价提供一种快速精确的估算方法。
[1] 刘勇健,刘义建,张伯友.基于粗糙集—支持向量机的震害预测模型及应用[J].地震研究,2008,31(3):289-295,303.
[2] 黄敏,吴立,姚沅.基于支持向量机-粒子群算法的山区公路隧道造价预测[J].公路,2015,(7):285-288.
[3] 赵艳南,牛瑞卿,彭令,程温鸣.基于粗糙集和粒子群优化支持向量机的滑坡变形预测[J].中南大学学报(自然科学版),2015, 46(6): 2324-2332.
2016-06-08
彭灿(1991-),女,河北石家庄人,在读研究生,研究方向:工程项目管理。
U
C