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