摘 要: 传统的费用估算算法需要大量的样本数据来保证其估算的准确性,但在实际应用中,由于样本数据的有限性,其准确性无法得到保证,针对这种情况提出使用基于统计学习理论的支持向量回归机(SVR)进行费用估算,并通过具体实例详细阐述基于SVR的费用估算具体步骤,包括数据预处理、基于SVR的训练、估算和后处理过程,通过与神经网络方法相比,实验结果验证了SVR在小样本情况下具有更好的估算精度。最后实现了基于SVR的复杂产品费用估算方法,并集成于复杂产品费用估算系统。
关键词: 复杂产品; 支持向量回归机; 小样本; 费用估算
中图分类号: TN711?34; TP319 文献标识码: A 文章编号: 1004?373X(2015)09?0038?05
Abstract: Since plenty of sample data is required to ensure the accuracy of traditional cost estimation algorithm, and it is hard to ensure the accuracy of estimation due to the limitation of sample data in practical application, the support vector regression (SVR) based on statistical learning theory is proposed to make cost estimation. The specific steps of cost estimation is described in detail based on SVR, including data preprocessing, training based on SVR, estimation and post?processing. The experiment result verifies that the estimation accuracy based on SVR in small sample data is better than the method of neural network. Finally, the method of complex product cost estimation based on SVR is implemented, and is integrated in the system of complex product cost estimation.
Keywords: complex product; support vector regression; small sample; cost estimation
0 引 言
随着高新技术及现代生产的发展,复杂产品(如导弹、舰船、飞机等)的性能和复杂性越来越高,其在使用以及维修保障过程中的各种费用也不断增加,若不提前对复杂产品的费用进行有效地预估和判断,将会影响到对复杂产品做出合理性和经济性的生产决策,由此而导致的费用的增长不但会成为沉重的经济负担,而且还会影响到对新型产品的预研和投资。因此,有必要采用科学的费用估算方法,及时准确地对产品未来的费用进行估算,做出合理的费用计划,节约有限的成本费用。
传统的费用估算方法主要有工程法、参数法、类比法和专家判断法,这些方法都存在着一些不足之处。一些比较新的理论包括偏最小二乘回归法、灰色理论、神经网络、遗传算法也已应用于费用估算,取得了不错的效果,如文献。然而,这些统计理论只有在费用样本数量趋于无穷大时才能有理论上的保证,但在实际应用中,受到各种条件的限制,很多用于费用估算问题的产品费用样本容量很小,信息不足,不能反映整个产品费用样本空间的分布,故而这些理论在实际应用中往往难以取得理想的效果。因此建立适合于小样本情况下的复杂产品估算模型显得尤为重要。在此背景下,Vapnik等人基于统计学习理论提出一种借助于最优化方法解决机器学习问题的新工具,即支持向量机(Support Vector Machine,SVM),它根据有限的样本信息,采用结构风险最小化原理,对独立的测试样本能够得到较小的误差,包括支持向量分类机(Support Vector Classification,SVC)和支持向量回归机(Support Vector Regression,SVR),被认为是目前针对小样本的分类和回归问题的最佳方法。本文推广应用了支持向量机中的回归部分,将支持向量机算法应用于复杂产品的费用估算,利用支持向量机对历史费用数据进行训练,逼近费用数据所隐含的函数关系,完成费用与影响参数之间的映射关系,进而完成对复杂产品未来费用的估算。
1 SVR原理
SVM最初是用来解决模式识别的问题,在模式识别中,为了发现具有好的推广能力的决策规则,将所选择的训练数据的一些子集,称做支持向量机。支持向量机的方法也可以应用到回归问题中,标准的SVR算法,分为线性和非线性两种,其基本思想是:通过非线性变换将输入空间向量映射到高维特征空间中,运用结构风险最小化原则在这个特征空间构造回归估计函数,这种非线性变换是通过定义适当的核函数来实现的。其中是指由输入空间到特征空间的非线性映射。
步骤1:收集样本数据,将样本数据分为训练样本数据集和待估算测试样本数据集,选择输入参数、输出变量:其中输入参数主要是指影响到产品最终费用的参数,包括对时间敏感参数(如年份、月份等)和对时间不敏感参数(如质量、体积等),输出变量主要是指所关注的产品费用(如产品整体的费用或者由输入参数影响的产品某一部分的费用等);
步骤2:将训练样本数据集中随时间变化的费用参数数值用居民消费价格指数(Consumer Price Index,CPI)统一转换到基准时间段的费用数值;
步骤3:对统一转换后的数据进行归一化预处理,将参数数值及费用数值限制在之间,形成归一化后的训练样本数据集;
步骤4:选择核函数,设置训练参数,利用SVR对费用样本数据进行训练:训练过程经常采用基于凸优化的对偶理论,来求解式(5),得到解
步骤5:根据训练结果构造回归估计函数:通过训练计算得出的以及选择的核函数,回归估计函数可表示为
步骤6:用回归估计函数对预处理后的待估算费用样本进行估算,计算出估算费用值;
步骤7:将估算出的费用值通过预处理过程的逆处理过程得到估算费用的精确值。
2.2 费用数据预处理
为了提高数据计算效率和保证训练和估算准确度,需要将费用样本数据进行预处理。费用样本数据的预处理包含两部分:费用数据的统一转换与归一化处理。
2.2.1 费用数据的统一转换
随着时间的变化,由于通货膨胀或收缩、物价上涨或下降等原因,相同的费用值在另一个时间段的实际经济价值会有所不同,因此需要把对时间变化敏感的费用数据统一转换到统一的币制和相同基准时间段(在此时间段里
,物价相对比较平稳,费用的实际经济价值浮动变化很小),费用的时间价值采用年或月为基准,并考虑使用CPI指数进行转换,在以往的研究中,对于复杂产品如导弹等的费用估算,相关的时间因素只是作为训练参数进行计算,对受时间影响的费用并没有做转换,因此而训练出的回归估计函数并不能真正反映费用变化规律,如文献中对所需要进行费用估算的产品没有考虑到时间因素的影响,文献中数据所呈现的不同产品的研制年份不同,其费用的真实经济价值是不同的,因此需要将不同时间段(年份或月份)的费用值转换到基准时间段的数值,对费用真实变化规律进行函数拟合,费用数据统一转换的具体转换规则如下:
2.4 训练结果及误差
SVR对费用数据的训练停止后,其训练费用值与实际值对应如表5所示,其中神经网络训练费用值采自文献,费用价格以1985财年为基准。
2.5 费用估算及后处理
对待估算样本数据进行预处理后使用上述SVR进行费用估算,待估算样本数据的预处理以训练样本各特征参数的最大值和最小值为参照进行类似归一化处理,其值可不必在区间之内,估算费用结果如表6所示,其中神经网络费用估算值采自文献进行对比,费用价值以1985财年为基准。估算出产品在基准财年的经济价格之后,可根据需要按CPI指数将其转换到所需要的财年的价格,便于比较和决策。由实验统计数据可见,相比于神经网络算法,SVR在小样本条件下进行费用数据估算时,其训练误差可能不比神经网络小,但其估算的费用误差要远远小于神经网络的估算费用值,这说明在小样本条件情况下,SVR的推广能力要强于神经网络。
3 系统说明及展示
基于本文描述的算法所依赖的项目背景,使用C#.NET基于B/S架构实现一个复杂产品费用估算系统,系统提供了对复杂产品全生命周期中费用不同维度上的分析和管理,以及对复杂产品未来型号的费用估算等功能,将本文实现算法与实际应用项目进行了良好的集成,该系统主要由5个模块组成,分别是基础维度管理模块、参数管理模块、费用分解结构模块、费用估算模块以及费用计算分析模块。图2展示了复杂产品费用模块估算参数数据输入、训练及估算界面。
4 结 语
本文充分利用支持向量机的优点,通过建立支持向量机回归模型对实际复杂产品的统计资料进行实验验证并与神经网络算法比较,实验结果表明,在较少的费用样本情况下,SVR能较好地反映产品费用与各主要影响参数的复杂非线性映射关系,具有较高的估算精度,并在此基础上实现了一个通用的复杂产品费用估算系统,通过对指定复杂产品进行结构分析及参数设定,即可对其进行费用估算,便于对复杂产品进行费用分析和采办决策。
用支持向量机对非线性组合估算函数进行拟合,可以在小费用样本条件下达到较好的估算精度和较强的推广能力,适用复杂产品费用的估算问题。由于目前还没有一定的理论指导,支持向量机核函数的选取仍是一个比较困难的问题。同时,费用影响参数的选取对估算结果也有一定影响,如何在具体条件下对特定的系统确定合适的参数还有待进一步研究。
参考文献
李海军,刘霄,孙伟玮,等.反舰导弹维修费用偏最小二乘估算方法.海军航空工程学院学报,2012,27(1):27?31.
曹广生,乐光,陶金亮,等.基于RBF神经网络的大型客机制造成本分析.电子设计工程,2013,21(1):41?46.
VAPNIK V N. The nature of statistical learning theory . New York: Springer?Verlag, 1995.
刘芳,赵建印,宋贵宝,等.基于CAIV的导弹低成本保障性指标论证技术.海军航空工程学院学报,2012,27(2):171?175.
徐子彬,汪民乐,翟龙刚.基于神经网络的武器系统寿命费用分析方法研究.科教前沿,2011(29):476?477.
冀海燕,张笑,王瑞臣.潜射导弹武器系统维修保障费用灰色预测.青岛大学学报:工程技术版,2013,28(1):72?75.
杨志刚,王海涛,彭绍雄,等.舰空导弹武器装备寿命周期费用分析.兵工自动化,2013,32(10):4?7.