黃龍山
(福建榕能電業(yè)集團(tuán)有限公司,福建 福州 350108)
隨著我國(guó)城網(wǎng)建設(shè)不斷發(fā)展,集中招標(biāo)采購(gòu)規(guī)模不斷擴(kuò)大,預(yù)測(cè)電力物資采購(gòu)價(jià)格是電力企業(yè)提高采購(gòu)管理水平和提高概預(yù)算編制準(zhǔn)確率的必要條件[1]。因此,如何建立電力物資采購(gòu)價(jià)格預(yù)測(cè)的模型,為電力工程建設(shè)規(guī)劃提供比較合理的價(jià)格預(yù)測(cè)區(qū)間,是當(dāng)前電力公司亟待解決的問題。
業(yè)內(nèi)專家與學(xué)者們對(duì)商品購(gòu)買價(jià)格評(píng)估方面,目前采用的方法大多是通過對(duì)歷史數(shù)據(jù)進(jìn)行預(yù)測(cè),張昊等[2]利用隨機(jī)森林和XGBoost模型判斷各特征數(shù)據(jù)對(duì)模型的貢獻(xiàn)程度。葉倩怡[3]以零售業(yè)銷售數(shù)據(jù)作為數(shù)據(jù)挖掘?qū)ο?,?duì)比XGBoost、隨機(jī)森林和Time Series Linear模型在銷售額預(yù)測(cè)上的效果,得到XGBoost模型比其他模型預(yù)測(cè)效果更好。陳宇韶等[4]利用XGBoost模型預(yù)測(cè)股價(jià)走勢(shì)。靳占新等[5]則使用構(gòu)建線性回歸法與隨機(jī)時(shí)間序列兩個(gè)的模型預(yù)測(cè)物品價(jià)格。
該文用統(tǒng)計(jì)方法對(duì)已有的歷史物資價(jià)格信息進(jìn)行收集,分析影響物資定價(jià)的主要原因,并利用支持向量機(jī)與神經(jīng)網(wǎng)絡(luò)算法模型對(duì)預(yù)測(cè)電力物資定價(jià)進(jìn)行對(duì)比,結(jié)果表明支持向量機(jī)的算法模型預(yù)測(cè)的結(jié)果更具有準(zhǔn)確性。
電力建設(shè)的成本大部分取決于電力物資價(jià)格的高低,而電力物資的價(jià)格由多種因素綜合決定。因此,為預(yù)測(cè)電力物資價(jià)格,需要對(duì)電力物資價(jià)格的影響因素進(jìn)行分析。
通過收集榕能集團(tuán)2020年1月—2022年6月電力物資采購(gòu)信息,選取電力物資采購(gòu)價(jià)格的核心影響因素。歷史采購(gòu)數(shù)據(jù)的質(zhì)量直接影響電力物資價(jià)格預(yù)測(cè)的精度,數(shù)據(jù)的完整性和準(zhǔn)確性是影響數(shù)據(jù)質(zhì)量的關(guān)鍵因素。因此,為得到可信度較高的電力物資價(jià)格的影響因素,需要對(duì)數(shù)據(jù)進(jìn)行預(yù)處理。因此,需要清理缺失值和噪聲數(shù)據(jù),再標(biāo)準(zhǔn)化表示數(shù)據(jù)。
從電力物資采購(gòu)數(shù)據(jù)表中可知,采購(gòu)的物資種類共計(jì)35種,對(duì)每件產(chǎn)品的數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理后,利用MATLAB編程求解多元線性回歸的系數(shù)。自變量依次為采購(gòu)方式,購(gòu)買時(shí)間,型號(hào),截面,阻燃特性,鎧裝形式,中標(biāo)數(shù)量,芯數(shù)。以電力電纜為例,得到自變量影響系數(shù),見表1。由表1可知,采購(gòu)方式對(duì)產(chǎn)品單價(jià)的影響程度較大,其中采購(gòu)方式為邀請(qǐng)競(jìng)爭(zhēng)性談判的價(jià)格最低,其次是詢價(jià)采購(gòu),單一來(lái)源采購(gòu)的價(jià)格最高。但低壓電力電纜與時(shí)間呈正相關(guān),采購(gòu)時(shí)間越晚,價(jià)格越高。數(shù)據(jù)分析的結(jié)果也表明,界面尺寸越大,芯數(shù)越多,產(chǎn)品單價(jià)越高。該部分通過建立相關(guān)模型得出采購(gòu)的價(jià)格與采購(gòu)方式密切相關(guān)的結(jié)果,較多產(chǎn)品都反映采購(gòu)方式為邀請(qǐng)競(jìng)爭(zhēng)性談判的價(jià)格最低,其次是詢價(jià)采購(gòu),單一來(lái)源采購(gòu)的價(jià)格最高。因此當(dāng)企業(yè)在購(gòu)入產(chǎn)品時(shí),應(yīng)注意選取采購(gòu)方式,在考慮其他方面成本的前提下多選取邀請(qǐng)競(jìng)爭(zhēng)性談判作為采購(gòu)方式。同理可以分析其他電力物資價(jià)格的關(guān)鍵影響因素。
表1 電力電纜系數(shù)表
預(yù)測(cè)物資價(jià)格通常有兩種理論方法,經(jīng)驗(yàn)預(yù)測(cè)法和數(shù)學(xué)模型預(yù)測(cè)法?;陔娋W(wǎng)物資價(jià)格預(yù)測(cè)具有重要的實(shí)際工程應(yīng)用價(jià)值,因此采用數(shù)學(xué)模型預(yù)測(cè)法進(jìn)行預(yù)測(cè),可以得到更嚴(yán)謹(jǐn)、科學(xué)的預(yù)測(cè)結(jié)果。該文采用支持向量機(jī)的數(shù)學(xué)模型進(jìn)行預(yù)測(cè)分析。
支持向量機(jī)(SVM)是Vapnik等數(shù)學(xué)家在1963年提出的一種二分類型機(jī)器,基本思想是尋找一個(gè)超平面,使樣本可以分為兩類,并且使兩類間的間隔最大,間隔大使其與感知器不同,這種變化通過核函數(shù)實(shí)現(xiàn),使其成為實(shí)質(zhì)上的非線性分類器,可以處理高維數(shù)據(jù)問題,在樣本數(shù)據(jù)量較小的情況下,仍然可以完成分類,無(wú)須依賴整個(gè)數(shù)據(jù),泛化能力強(qiáng)。SVM的學(xué)習(xí)方法是目前求解凸二次的最佳方法[6]。
為方便訓(xùn)練數(shù)須將數(shù)據(jù)映射成數(shù)值,例如單一來(lái)源采購(gòu)=1;詢價(jià)采購(gòu)=2;邀請(qǐng)競(jìng)爭(zhēng)性談判=3。數(shù)據(jù)歸一化處理,因?yàn)樵跀?shù)據(jù)集中不同變量的比例差別很大,不屬于一個(gè)數(shù)量級(jí),所以,必須在構(gòu)建回歸模式前,先對(duì)數(shù)據(jù)進(jìn)行歸一化處理。由于該類數(shù)據(jù)各變量的差異較大,因此為減少誤差增強(qiáng)模型的擬合程度,對(duì)數(shù)據(jù)進(jìn)行歸一化處理,以低壓開關(guān)柜為例,歸一化后數(shù)據(jù)見表2。
表2 低壓開關(guān)柜歸一化后數(shù)據(jù)
核函數(shù)類型及模型參數(shù)是影響SVR模型分析效果的關(guān)鍵因素,因此,在創(chuàng)建SVR模型前,需要尋找合理的核函數(shù)類型以及參數(shù)組合。該文利用 RBF 核函數(shù)并采用交叉驗(yàn)證方法選擇最合適的懲罰因子參數(shù)c和RBF核函數(shù)中的方差,通過選出的最佳參數(shù)對(duì)SVR模型進(jìn)行訓(xùn)練。當(dāng)SVR模型的分析效果相同,選擇懲罰參數(shù)因子時(shí),采用的策略和前面SVM分類方法一致,取參數(shù)數(shù)值較小的c,這樣可以加快模型的計(jì)算速度,避免計(jì)算時(shí)間過長(zhǎng),提高模型效率,在SVR模型訓(xùn)練過程中需要選取ε的值。
利用svmpredict函數(shù),仿真測(cè)試SVR回歸模型,返回的一個(gè)參數(shù)中是對(duì)應(yīng)的預(yù)測(cè)值,在第二個(gè)函數(shù)中描述測(cè)試集的均方誤差E和決定系數(shù)R2。為了保證通用性,也可以采用隨機(jī)方法建立練習(xí)集和測(cè)試集,隨機(jī)選取400、800和1200個(gè)試樣作為練習(xí)集,再隨機(jī)取試樣中的前十個(gè)試樣,作為測(cè)試集對(duì)模型的穩(wěn)定性進(jìn)行評(píng)價(jià)(如圖1所示)。預(yù)測(cè)誤差見表3。
圖1 樣本數(shù)量400
圖2 樣本數(shù)量800
圖3 樣本數(shù)量1200
表3 預(yù)測(cè)誤差
由表3可以看出,數(shù)據(jù)存在一定零散的情況,使用的訓(xùn)練集數(shù)量越多,預(yù)測(cè)的結(jié)果越精確,但預(yù)測(cè)誤差仍然較大。根據(jù)分析發(fā)現(xiàn),在低壓開關(guān)柜的數(shù)據(jù)中,有的型號(hào)數(shù)據(jù)數(shù)量大于1000份,然而有的型號(hào)只有30多份數(shù)據(jù),為了顧及所有型號(hào)的的產(chǎn)品,因此這里考慮對(duì)每一份材料進(jìn)行隨機(jī)抽取一定的數(shù)量來(lái)構(gòu)成新的訓(xùn)練集,既能不失一般性,又能考慮所有情況,通過不斷訓(xùn)練找到一個(gè)合適的訓(xùn)練集并儲(chǔ)存。在得到較優(yōu)的訓(xùn)練集后,在低壓開關(guān)柜數(shù)據(jù)中重新選擇10個(gè)數(shù)據(jù),對(duì)其進(jìn)行價(jià)格預(yù)測(cè),如圖4和圖5所示。由圖可知,支持向量機(jī)對(duì)預(yù)測(cè)低壓開關(guān)柜的中標(biāo)單價(jià)效果較好。
圖4 新訓(xùn)練集下的預(yù)測(cè)一
圖5 新訓(xùn)練集下的預(yù)測(cè)二
還原型神經(jīng)網(wǎng)絡(luò)是通過有機(jī)地融合BP神經(jīng)網(wǎng)絡(luò)和迭代還原方法而產(chǎn)生的神經(jīng)網(wǎng)路模型,通過設(shè)置原始BP神經(jīng)網(wǎng)路模型,采用歷史數(shù)據(jù)集對(duì)神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,再通過對(duì)比輸出數(shù)據(jù)和實(shí)際數(shù)值,反映二者的差值,為校準(zhǔn)模型,通過對(duì)神經(jīng)網(wǎng)絡(luò)中的權(quán)重和參數(shù)進(jìn)行反復(fù)調(diào)整,并采用迭代法進(jìn)行回歸驗(yàn)證,以期提高神經(jīng)網(wǎng)絡(luò)模型的準(zhǔn)確性。為減少各維度數(shù)據(jù)間的數(shù)量級(jí)差異,需要對(duì)各種數(shù)據(jù)來(lái)源進(jìn)行歸一化處理[7],可以避免誤差更大,提高模型預(yù)測(cè)的準(zhǔn)確度。采用最小二乘法對(duì)數(shù)值進(jìn)行歸一化處理,歸一化函數(shù)使用MATLAB自帶函數(shù)mapminmax處理數(shù)據(jù)。為了保證通用性,采用隨機(jī)的方式形成訓(xùn)練集和試驗(yàn)集,即隨機(jī)選擇400、800和1200個(gè)樣品作為訓(xùn)練集,以隨機(jī)取得數(shù)據(jù)中的前十個(gè)樣品作為試驗(yàn)集,對(duì)模型的性能進(jìn)行評(píng)估,如圖6~圖8所示。預(yù)測(cè)誤差見表4。
圖6 樣本數(shù)量400
圖7 樣本數(shù)量800
圖8 樣本數(shù)量1200
表4 預(yù)測(cè)誤差
由表4可知,神經(jīng)網(wǎng)絡(luò)會(huì)受數(shù)據(jù)零散的影響,降低其預(yù)測(cè)的精確度。當(dāng)使用的訓(xùn)練集數(shù)量為400時(shí),預(yù)測(cè)的結(jié)果最精確,但是之間還存在較大預(yù)測(cè)誤差。
通過支持向量機(jī)不斷訓(xùn)練,得到低壓開關(guān)柜較優(yōu)的訓(xùn)練集,將該訓(xùn)練集導(dǎo)入神經(jīng)網(wǎng)絡(luò)中進(jìn)行訓(xùn)練,并在低壓開關(guān)柜中重新選擇10個(gè)數(shù)據(jù)進(jìn)行價(jià)格預(yù)測(cè),如圖9和圖10所示??梢园l(fā)現(xiàn)神經(jīng)網(wǎng)絡(luò)對(duì)低壓開關(guān)柜的中標(biāo)單價(jià)的預(yù)測(cè)效果不理想。
圖9 新訓(xùn)練集下的預(yù)測(cè)一
圖10 新訓(xùn)練集下的預(yù)測(cè)二
對(duì)比基于神經(jīng)網(wǎng)絡(luò)和支持向量機(jī)的預(yù)測(cè),見表5和表6。從預(yù)測(cè)指標(biāo)可以看出,支持向量機(jī)對(duì)低壓開關(guān)柜的數(shù)據(jù)類型預(yù)測(cè)效果最好,精度也最高。但是支持向量機(jī)的訓(xùn)練時(shí)間相對(duì)較長(zhǎng),如果樣本多會(huì)呈現(xiàn)指數(shù)級(jí)增加。當(dāng)對(duì)整個(gè)數(shù)據(jù)進(jìn)行訓(xùn)練或者少部分?jǐn)?shù)據(jù)進(jìn)行訓(xùn)練時(shí),得到大致的價(jià)格,神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)具有一定優(yōu)勢(shì)。
表5 預(yù)測(cè)誤差對(duì)比情況(支持向量機(jī)法)
表6 預(yù)測(cè)誤差對(duì)比情況(神經(jīng)網(wǎng)絡(luò)法法)
如果對(duì)精度要求高,低壓開關(guān)柜的數(shù)據(jù)類型適合采用支持向量機(jī)進(jìn)行預(yù)測(cè),如果只需要大致價(jià)格且想短時(shí)間得出結(jié)果,可以采用神經(jīng)網(wǎng)絡(luò)進(jìn)行預(yù)測(cè)。
電網(wǎng)物資價(jià)格直接影響電網(wǎng)工程的造價(jià),編制正確的預(yù)估價(jià)格可以降低成本,并減少投資風(fēng)險(xiǎn),因此對(duì)企業(yè)購(gòu)買資料的標(biāo)準(zhǔn)化分析后,采用通過MATLAB程序計(jì)算多元線性回歸的系數(shù)評(píng)價(jià)方法確定電網(wǎng)物資采購(gòu)價(jià)值的重要影響因素,并根據(jù)相關(guān)因素選擇基于向量機(jī)的神經(jīng)網(wǎng)絡(luò)方法,對(duì)電網(wǎng)物資價(jià)值進(jìn)行預(yù)測(cè)研究,通過對(duì)比證明基于向量機(jī)的模型估計(jì)準(zhǔn)確性較好,并得到較為理想的結(jié)果。可為預(yù)測(cè)今后電網(wǎng)企業(yè)的物資價(jià)格提供參考。