劉佳星
(齊齊哈爾大學(xué),黑龍江 齊齊哈爾 161006)
負(fù)荷預(yù)測(cè)是電力系統(tǒng)運(yùn)行和規(guī)劃的基礎(chǔ)。精確的負(fù)荷預(yù)測(cè)可以確保電力系統(tǒng)安全可靠運(yùn)行、降低發(fā)電成本,增加經(jīng)濟(jì)效益[1]。根據(jù)其預(yù)測(cè)范圍,大致分為三類:短期負(fù)荷預(yù)測(cè)(少于一周),中期負(fù)荷預(yù)測(cè)(一周至一個(gè)月)和長(zhǎng)期負(fù)荷預(yù)測(cè)(超過(guò)一個(gè)月)[2]。其中短期負(fù)荷預(yù)測(cè)是電力系統(tǒng)資源調(diào)度任務(wù)的重要組成部分[3-4]。
用電功率數(shù)據(jù)具有時(shí)序特性[5],而廣義相加模型(Generalized Additive Model,GAM)具有允許在預(yù)先未知因變量與自變量之間關(guān)系的情況下使用非線性平滑項(xiàng)來(lái)擬合模型這一特點(diǎn),適合分析時(shí)間序列數(shù)據(jù)。
在實(shí)際生產(chǎn)生活中,數(shù)據(jù)采集和傳輸過(guò)程中常出現(xiàn)一些不可控因素,例如:網(wǎng)絡(luò)傳輸受阻、傳感器空采樣和存儲(chǔ)器損壞等機(jī)械故障導(dǎo)致數(shù)據(jù)缺失[6-7]。
鑒于此,本文在R 語(yǔ)言軟件里首先填補(bǔ)時(shí)間序列缺失數(shù)據(jù),然后將廣義相加模型應(yīng)用到電力負(fù)荷時(shí)間序列中進(jìn)行短期負(fù)荷預(yù)測(cè),最后可視化分析,為供電系統(tǒng)和和用電單位提供決策支持。
國(guó)內(nèi)外諸多學(xué)者對(duì)缺失值進(jìn)行研究。根據(jù)Rubin 等人的研究[8-9],存在三種主要的數(shù)據(jù)缺失類型:完全隨機(jī)缺失(Missing Completely At Random)、隨機(jī)缺失(Missing at Random)和非隨機(jī)缺失(Missing At Non-Random)。大多數(shù)研究都假設(shè)缺失模式值是MAR 和MCAR[10-11],在這兩種情況下可以根據(jù)其出現(xiàn)情況刪除缺失值所在行或列的數(shù)據(jù),亦或通過(guò)已知變量對(duì)缺失值進(jìn)行估計(jì)。而在MCAR 情況下,直接刪除可能會(huì)導(dǎo)致預(yù)測(cè)出現(xiàn)偏差。
不完整的數(shù)據(jù)會(huì)增加數(shù)據(jù)挖掘的難度[12]:第一,缺失值的存在使得可用數(shù)據(jù)減少、時(shí)間關(guān)聯(lián)性被破壞;第二,數(shù)據(jù)量的減少會(huì)造成數(shù)據(jù)挖掘過(guò)程陷入混亂、相關(guān)模型的預(yù)測(cè)結(jié)果存在偏差,同時(shí)丟失重要的屬性特征[13-14]。
對(duì)于缺失值的處理方法大體分為三類(見(jiàn)圖1)。忽略和直接刪除缺失值這兩種方法需要視情況而定。但是如果數(shù)據(jù)集的缺失比例很小,刪除方法不僅可取,甚至在有些條件下是更優(yōu)的選擇[15]。第三種方式是估算,再將其細(xì)分為五小類,列舉出若干填補(bǔ)算法,涉及統(tǒng)計(jì)學(xué)方法和機(jī)器學(xué)習(xí)方法。本文將運(yùn)用分類回歸樹(shù)(Classification and Regression Tree)方法進(jìn)行插補(bǔ)。
圖1 缺失值處理方法分類
在R 語(yǔ)言平臺(tái)上使用rpart()通常分兩步建立樹(shù):(1)生成一棵較大的樹(shù);(2)通過(guò)統(tǒng)計(jì)估計(jì)刪除部分節(jié)點(diǎn)來(lái)對(duì)樹(shù)修剪。對(duì)于數(shù)值型變量設(shè)定method=anova 回歸樹(shù),而對(duì)于因子型變量,rpart 函數(shù)設(shè)定method=class 分類樹(shù)。當(dāng)滿足:(1)偏差的減少小于某一個(gè)給定界限值時(shí);(2)當(dāng)結(jié)點(diǎn)中的樣本數(shù)量小于某個(gè)給定界限時(shí);(3)當(dāng)樹(shù)的深度大于一個(gè)給定的界限值這三個(gè)條件時(shí),結(jié)束樹(shù)的構(gòu)建。
廣義相加模型是廣義線性建模的半?yún)?shù)擴(kuò)展[16],它允許對(duì)具有非正態(tài)誤差分布的自變量進(jìn)行建模,可以通過(guò)允許每個(gè)預(yù)測(cè)變量的非線性函數(shù)來(lái)預(yù)測(cè)給定預(yù)測(cè)變量的非線性響應(yīng)變量同時(shí)保持可加性[17]。GAM的非參數(shù)形式使得模型非常靈活,能夠生成平穩(wěn)、光滑曲線的非參數(shù)光滑函數(shù),可以是光滑樣條函數(shù)、薄板樣條函數(shù)或者局部回歸光滑函數(shù)[18-19]。GAM模型的一般形式如下:
圖2 展示了本文整體工作流程,首先對(duì)數(shù)據(jù)進(jìn)行預(yù)處理,分兩步進(jìn)行。首先R 平臺(tái)(版本4.1.2)上加載recode 包調(diào)用car 函數(shù),將工作日字符轉(zhuǎn)化為整數(shù)并重新編碼,使星期一至星期日形成1~7 的狀態(tài)。然后加載rpart 包,運(yùn)用CART算法對(duì)缺失值進(jìn)行插補(bǔ)。
圖2 整體工作流程
為了創(chuàng)建廣義相加模型,我們將使用R 平臺(tái)中的mgcv包,調(diào)用gam 函數(shù)。實(shí)驗(yàn)所用數(shù)據(jù)集由70080 條智能電表數(shù)據(jù)組成。在本研究中,將變量date 即每日和每周(每30 分鐘測(cè)量一次則每天有48 個(gè)測(cè)量值;一周中有7 天)作為建模的預(yù)測(cè)變量,將變量load 作為預(yù)測(cè)短期電力負(fù)荷的響應(yīng)變量。使用te 函數(shù)定義GAM 模型中Daily 和Weekly 兩個(gè)變量的張量積平滑和交互作用,并設(shè)置最大節(jié)點(diǎn)數(shù)k=7。對(duì)于Daily,使用三次回歸樣條cr;對(duì)于Weekly,使用P 樣條ps。GAM模型擬合情況見(jiàn)圖3。
通過(guò)觀察圖3 可知:模型擬合情況整體良好,尤其在用電量波動(dòng)時(shí)擬合值曲線與真實(shí)值曲線重合度高,僅與處在部分高峰和低谷處的極值存在偏差。季節(jié)性分析實(shí)驗(yàn)結(jié)果如圖4。
圖3 GAM 模型擬合值
圖4 短期電力負(fù)荷預(yù)測(cè)3D 圖
從預(yù)測(cè)圖中可以看到最高峰值出現(xiàn)在Daily 變量,接近數(shù)值20,Weekly 變量對(duì)應(yīng)的值為1,即電力負(fù)荷的最高值是星期一的上午10 點(diǎn)。在下午3 點(diǎn)左右出現(xiàn)第二次用電高峰達(dá)到3400Kw,凌晨到早上5 點(diǎn)之間屬于用電低谷時(shí)段,星期六和星期日的負(fù)荷顯著減少。
準(zhǔn)確的負(fù)載預(yù)測(cè)對(duì)于保證電力系統(tǒng)的安全性、穩(wěn)定性和經(jīng)濟(jì)性至關(guān)重要。
本文首先對(duì)時(shí)間序列數(shù)據(jù)進(jìn)行規(guī)范化處理和填補(bǔ)缺失值,然后對(duì)廣義相加模型的優(yōu)點(diǎn)和原理研究分析, 并在R 平臺(tái)上建立GAM模型,利用時(shí)間序列數(shù)據(jù)進(jìn)行短期負(fù)荷預(yù)測(cè)實(shí)驗(yàn),最后預(yù)測(cè)出7 天內(nèi)的用電高峰和低谷時(shí)段。有助于電網(wǎng)的規(guī)劃設(shè)計(jì)和經(jīng)濟(jì)運(yùn)行。