基于机器学习的电网工程量计价预测模型*

2021-05-24 06:38肖立华陈继军韩智忠
沈阳工业大学学报 2021年3期
关键词:人工费决策树单价

肖立华,张 博,胡 伟,陈继军,韩智忠

(1. 清华大学 电机工程系,北京 100084; 2. 国网湖南省电力有限公司 建设部,长沙 410004; 3. 湖南电力工程咨询有限公司,长沙 410116; 4. 湖南华杰工程咨询有限公司,长沙 410000)

《电力建设工程工程量清单计价规范》是电网工程建设的经济标准,并进一步规范了电网工程的招投标计价行为,促进了电网建设招投标市场健康有序协调发展[1].工程量清单[2-3]是目前国际上通用的一种招投标方式,招标人在投标前根据项目情况提供工程量清单,投标人根据工程量清单及相关要求计算综合单价.采用工程量清单模式招投标,能充分体现量价分离、风险共担的原则,逐步放开价格,形成市场竞争机制.招标人承担工程量变更的风险,投标人承担价格风险,因此综合单价[4-5]的确定是工程量清单计价的核心内容,是投标人能否中标、盈利的关键.

胡丹萍[6]利用层次分析法建立了基于风险动态量化的综合单价预测模型,以工程项目施工阶段为划分,计算每一阶段的综合单价风险系数;王维方等[7]分析了综合单价的风险因素,将三角模糊数引入构建风险因素的判断矩阵,计算出风险因素的权重,利用模糊综合评价法结合投标人的预期利润率得到综合单价的综合风险系数;刘必君[8]分析了工程施工成本的主要影响因素及控制因素,通过构建影响因素指标体系明确影响施工成本的各个组成部分,选取栈式降噪自动编码器算法进行成本预测.

1 综合单价影响因素

1.1 工程量清单计价规则

工程量清单计价规则是目前电网工程项目招投标普遍推广的一种计价方式.招标人根据电网工程招投标文件的要求和工程图纸,按照电力行业统一的工程量计算规则及工程项目划分,为投标人提供电网工程项目的实体工程量清单和技术措施;投标人根据招标人提供的工程量清单及施工组织方案,并结合工程情况且考虑企业自身管理水平、技术水平、设备水平,综合各种风险因素,以自主报价的方式填报规定计量单位项目的综合单价,以此作为工程结算时价格调整的依据.

工程量清单计价实施搜集的资料包括完整的工程施工图纸、工程计价依据、市场价格信息、人工费调整文件等.工程量的计算是最终工程造价计算的基础,其工作量庞大且繁琐,因此,应在计算过程中添加层次、位置、轴线等标注,以便清晰地按照顺序逐项计算,防止复算和漏算.

工程造价包括分部/分项工程费、措施项目费、其他项目费、零星项目费、规费项目费以及税金的计算,最后,对工程造价款进行复核并编制相关情况说明,包括但不限于工程量清单的编制依据、工程图纸编号、计价规则依据等.

1.2 综合单价组价分析

综合单价[9-10]指完成一个单位清单项目需要的人工费、材料和工程设备费、施工机具使用费、企业管理费、利润以及可能存在的风险费.人工费主要受日工价格影响;材料和工程设备费随着所有清单项目中材料和设备的价格变化而变化,并且波动性较大,风险性较高;施工机具使用费同样受材料价格的影响,主要包括水电费、油价的波动;企业管理费和利润无论采用何种综合单价计算方式,均是在人工费、材料和工程设备费、施工机具使用费三者之间的组合基础上乘以对应的费率(利率)来进行计算的.因此,人工费、材料和工程设备费、施工机具使用费是综合单价的重要组成部分及影响因素.

2 机器学习

机器学习[11-12]是一门集计算机学、统计学、概率学、经济学等多领域学科为一体的综合交叉学科.本质上属于算法范畴,通过确定一个目标函数f,使输入变量X到输出变量Y可以形成最优映射.

根据算法的功能和形式的类似性,机器学习常见算法包括回归类的最小二乘法、以决策树为基础的集成算法、基于概率论的朴素贝叶斯及适用于推荐关联规则的人工神经网络等.综合单价预测模型属于有监督学习,需要标识数据,回归类、决策树类、贝叶斯类、人工神经网络类算法均可适用于预测模型.综合单价的主要影响因素均属于典型的时间序列[13-15],且样本数据集较小,因此,选择决策树类中随机森林算法进行预测.

3 综合单价预测模型

3.1 数据预处理

电网工程项目中,综合单价相关的信息数据基本由人工进行采集,存在一定的缺失及异常值.数据建模的前提是要保证数据的准确性及完整性,因此需要对数据进行预处理.本文采用箱线图方法进行异常值的判定,采用线性填充法进行缺失值的处理.图1为某地混凝土C30从2016年1月到2019年12月的月均价格,明显可以看到2017年5月,混凝土C30的价格为520元/m3,远高于其余月均价格,属于异常值.

图1 混凝土C30价格Fig.1 Concrete C30 price

采用箱线图的方式对该异常判定进行量化,即

R=U-L

(1)

Ulim=U+1.5R

(2)

Llim=L-1.5R

(3)

式中:U为该组数据的上四分位数;L为该组数据的下四分位数;Ulim为上界值;Llim为下界值.计算该组数据的中位数及均值,绘制箱线图如图2所示.其中“×”表示均值,高于上界值或低于下界值均判定为异常值.异常值可视为缺失值处理,采用线性方式对缺失值进行填充.2017年5月的混凝土C30价格填充为2017年4月与2017年6月的均值353.8元/m3.

图2 混凝土C30价格箱线图Fig.2 Boxplot of concrete C30 price

3.2 基于随机森林算法的预测模型

随机森林是一种以决策树为基础的评估器袋装式集成算法,随机森林模型的构建流程如图3所示.输入容量为N、特征为M的样本,随机且有放回地抽取N次,每次抽取一个样本,作为一棵决策树跟节点处样本;随机选择m个特征(m≤M),由于综合单价的预测属于回归问题,通常采取方差或最小二乘拟合法进行节点分裂,直到节点不能继续分裂形成一棵决策树;当决策树的棵树小于设定值,重复以上步骤继续建立决策树,直至达到设定值,形成森林.

图3 随机森林模型构建流程Fig.3 Construction process of random forest model

当用于综合单价预测时,输入新的样本数据,森林中的每一棵决策树分别进行预测,所有决策树的预测均值将作为随机森林模型的输出预测结果.当模型表现效果较差时,说明模型的泛化程度不足,泛化误差大.泛化误差受到模型的结构复杂度影响,模型结构过于复杂或者简单均使泛化误差增大,故需要通过模型调参确定最优模型复杂度.

对于随机森林中的单棵决策树而言,节点分裂次数越多则深度越深,树的模型越复杂.默认的决策树参数可以让树无限生长下去直到满足停止条件,因此决策树一般容易过拟合.调参时需要注意减少模型复杂度,本文使用的重要影响参数如表1所示.

4 实验结果分析

选取100个电网工程项目的现浇基础清单项进行两组对比实验,一组不考虑特征价格随时间的波动性,一组考虑市场价格的波动性.根据综合单价影响因素分析,综合单价中人工费、材料和工程设备费以及施工机具使用费的主要影响因素包括:人工、板方材、混凝土C30、汽车起重机、载重汽车等,收集相关数据并进行预处理,结果如表2所示.样本容量N为100,特征M为5,综合单价为模型的预测目标.

采用Python开发工具将前70个样本数据作为训练集构建综合单价预测模型(使用默认参数),后30个样本作为测试集验证模型的预测效果,结果如图4所示.训练集中,真实值与预测值的平均绝对误差(MAE)等于9.83,平均绝对误差率(MAPE)为1.51%,说明训练集的模型拟合效果较好;测试集中,MAE为24.59,MAPE为3.86%,则说明预测模型存在过拟合的情况,泛化误差大.除了模型参数影响外,经分析影响综合单价的因素均受市场价格波动的影响,因此在建立模型时应考虑时间特征.

表1 随机森林模型重要参数Tab.1 Important parameters of random forest model

表2 现浇基础清单项相关数据Tab.2 Relevant data of cast-in-place foundation bills

图4 随机森林模型预测结果Fig.4 Forecasting results of random forest model

收集所有工程前12个月的特征价格信息,与综合单价进行皮尔逊相关性分析,即

(4)

通过学习曲线方法确定最优参数,以n_estimators参数为例,考虑模型的运行效率,经验上n_estimators参数从1开始每隔10取1个数,直到取到201,保持其余参数不变,测试每一次模型训练集的得分,得分越接近1表示模型训练效果越好,其学习曲线如图6所示.当n_estimators参数等于81时,得分最高为0.97,因此从82开始每隔1取1个数,直到取到90,训练集得分最高为0.975.按照此方法依次对其余参数进行调优,最后结果max_depth=3,min_samples_leaf=2,min_samples_split=2,max_feature=5.测试集中真实值、优化前预测值、优化后预测值的对比如图7所示.优化后MAE值为9.67,MAPE为1.55%,明显预测效果优于优化前的预测模型.

图5 前12个月特征价格与综合单价的相关系数Fig.5 Correlation coefficient between characteristic price and comprehensive unit price in first 12 months

图6 学习曲线(n_estimators参数)Fig.6 Learning curve (n_estimators parameter)

图7 优化前后测试集预测效果对比Fig.7 Comparison of forecasting effect of test set before and after optimization

5 结 论

工程量清单计价的核心为综合单价的确定,综合单价的确定主要受人工费、材料和工程设备费及施工机具使用费的影响.考虑市场价格波动的影响,选取机器学习中回归预测效果较好的随机森林算法,加入各项影响因素的时间特征进行建模.与优化前相比,优化后的综合单价预测结果MAE减小了14.92,MAPE降低了2.31%,由此验证了所提模型的精确性和可行性.但本文只收集了电网工程项目中现基础清单项的数据进行综合单价预测,后期将收集一个项目完整的清单项数据建立综合单价预测模型,研究如何进一步提高测试集上的预测精度.

猜你喜欢
人工费决策树单价
如何求单价
解决问题有技巧
简述一种基于C4.5的随机决策树集成分类算法设计
算单价
决策树学习的剪枝方法
成本管理在施工单位中的新方法探究
选煤厂低压补水系统管道安装人工费研究
定额人工费和市场人工费的差异分析
2014年中考数学命题大预测试题
决策树在施工项目管理中的应用