基於支援向量迴歸機的複雜產品費用估算技術發展研究論文

基於支援向量迴歸機的複雜產品費用估算技術發展研究論文

  摘 要: 傳統的費用估算演算法需要大量的樣本資料來保證其估算的準確性,但在實際應用中,由於樣本資料的有限性,其準確性無法得到保證,針對這種情況提出使用基於統計學習理論的支援向量迴歸機(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.

最近訪問