杜 挺 趙壽生 李永祺 陳麗丹
?
基于Matlab GUI的電力負荷預測軟件開發與應用
杜 挺1趙壽生1李永祺2陳麗丹3
(1. 國網浙江省電力公司金華供電公司,浙江 金華 321000;2. 中國南方電網廣州供電局有限公司,廣州 515223;3. 華南理工大學廣州學院,廣州 510800)
負荷預測是電網規劃的基礎。以歷史全社會用電量為例,運用灰色預測模型、改進灰色預測模型和趨勢外推法對十三五電網規劃期間的負荷進行預測,并基于Matlab GUI開發了電力負荷預測軟件,軟件功能豐富,用戶體驗較好,可實現數據導入、修改、保存,可采用多種預測模型開展負荷預測,能對結果進行分析評價,經供電公司應用,具有通用性和良好的工程實用性,可供電網規劃工作人員參考。
負荷預測;Matlab GUI;后驗誤差;灰色預測;趨勢外推法
電力負荷預測是電力系統規劃的重要組成部分,也是電力系統經濟運行的基礎[1],其對電力系統規劃和運行都極其重要[2]。電力負荷是電網公司進行戰略計劃和運營決策的關鍵因素[3],負荷預測的準確度關系著電網規劃的質量[4-5]。區域配電網的中期電力負荷預測能為電網規劃部門對配電網資源的分配和建設方向提供一個相對合理的參照值,以便于資源最優分配。負荷預測是電力規劃部門日常工作最常接觸的,也是工作中的重要一環。現有實用的預測方法很多,但區域性的電力負荷預測工作有著不準確性、時間性等特點,用電量數據的走勢因受地方的經濟、環境等因素影響。因此,開發一款簡單易用、人機界面友好、方便用戶操作、滿足供電公司要求的電力負荷預測軟件具有理論和現實意義。本文考慮到Matlab圖形用戶界面(graphical user interface, GUI)操作簡單[6],具有極強的人機交互功能,便于輔助地區電網規劃工作人員電力負荷預測工作,故而采用Matlab GUI編制了適用于地區電網用電量和最高負荷預測的電力負荷預測軟件,實現對某地區電網負荷預測及進行預測精度的評估等。
為便于負荷預測人員的工作,本軟件利用GUI編制預測界面,通過簡單按鈕選擇即可實現對負荷的預測,同時為保證預測精度,采用豐富的預測模型庫。軟件開發時,采用模塊化結構,有歷史數據數據處理模塊、負荷預測模塊、預測結果處理模塊等。軟件總體框架如圖1所示。

圖1 軟件總體框架設計
1)數據處理模塊
在此模塊中包括處理前的歷史數據,即原始數據,還包括處理后的數據。如國民經濟及社會發展的相關數據、歷史用電量數據等。對于這些原始數據,主要通過Excel進行管理,并利用“原始數據打開”和“原始數據保存”兩個按鈕控件手工操作實現數據的添加、修改、刪除、保存等功能。
2)負荷預測模塊
軟件包提供了豐富的供用戶選擇的預測模型庫,包括灰色預測[7-8]、改進灰色預測[9]、二次滑動平均預測[10]、二次指數平滑[11]等算法。為了方便用戶使用,對軟件的負荷預測模塊,采用美觀、簡潔的按鈕控件的形式,用戶只需要通過簡單的點擊按鈕就可輕松選擇預測方法,通過輸入、修改必要的歷史數據信息,進行負荷預測,可以進行電量預測、負荷預測、曲線預測等。
3)預測結果處理及顯示模塊
包括預測結果打開和保存,誤差計算和預測精度計算。模型預測后,結果被存放到數據庫中,預測結果顯示有表格和曲線兩種形式。
1)預測主流程
電力負荷預測軟件的設計應滿足地方電網規劃人員開展負荷預測的基本需求為出發點,能夠方便實現原始數據的輸入及分析,也應能采用多種預測方法進行預測和結果比較分析,并應具備預測精度評價和結果曲線的呈現等功能,因此,本文從電網規劃人員基本需求出發,開發基于Matlab GUI的電力負荷預測軟件主流程,如圖2所示。

圖2 負荷預測主流程
2)軟件開發環境與工具
(1)開發環境
編程環境和編譯環境采用Matlab 7.11.0 (R2010b),Windows 8.1,編譯器為Microsoft Visual C++ 2008 SP1。軟件前端采用GUI進行界面設計,通過編制GUI控件句柄對象、菜單句柄對象、快捷方式句柄對象等圖形句柄對象的回調函數,設計圖形界面,得到符合工程實際應用的GUI程序。
(2)數據庫設計
本文開發的軟件主要針對地區配電網規劃人員,因此考慮操作方便、簡單實用等因素,歷史數據輸入和結果輸出均采用Microsoft Excel,充分利用Excel的易操作性完成數據處理,減少程序員的工作量及提供系統運行效率。
3)軟件功能實現
Matlab GUI電力負荷預測軟件主要基于圖3所示的文件和圖4所示的按鈕。modeling_data.xls、forecasting_data.xls和forecasting_compare.xls三個Excel格式的文件用于存儲各類數據,其中modeling_ data.xls用于讀取并保存原始調研數據,主要功能是建模數據集的來源;forecasting_data.xls主要功能為讀取、寫入并保存預測結果,其中寫入包括絕對誤差和相對誤差的計算函數;forecasting_compare.xls主要用于軟件使用的4種預測方法預測結果的匯總保存并進行對比。GUI.m是Matlab GUI回調函數的主程序,GUI.fig是Matlab GUI的界面文件,使用GUI編輯器對開發的預測界面布局、設計進行調整,是GUI顯示功能的主體部分。

圖3 基于GUI負荷預測軟件主體運行文件

圖4 按鈕模塊運行界面
(1)數據輸入和輸出功能
原始數據和預測數據分別調用Excel,實現打開保存。利用xlsread函數讀取modeling_data.xls表格指定部分的數據(默認設置了10個數據建模),可利用“原始數據保存(*.xls)”按鈕另存或者替換文檔,表格在可編輯狀態,支持實時編輯:①Excel表格打開按鈕,該按鈕利用winopen函數打開表格,直接方便;②Excel表格保存按鈕,該按鈕點擊即可另存Excel文件,方便用戶保存結果,整理數據。
(2)預測模塊
預測計算方法集成到4種預測方法按鈕,分別編寫對應的回調函數,在按下按鈕后自動執行相應算法,得出預測結果。
(3)誤差運算和精度評價功能
根據預測結果計算絕對誤差和相對誤差,將多年預測的誤差平均值顯示在軟件界面,同時采用后驗評價對精度進行評估,以便于規劃人員作出決策。預測結果的呈現功能:開發的軟件能按預測結果繪制曲線圖,并進行注釋,呈現于軟件界面。呈現形式包括兩種:①歷史數據和其中1種預測方法的預測結果的對比圖;②歷史數據與4種預測方法預測結果的綜合對比,直觀性強。保存功能:軟件編制了將當前窗口保存為圖片的功能,既方便保存預測結果,又便于規劃工作人員后期撰寫報告等。即時修改功能:原始數據導入窗口和預測結果窗口均可實現對數據進行即時修改,并能保存修改后的數據表,隨即開展重新預測,不用從后臺原始數據表操作,使得預測工作的開展更加簡便。為解決一部分用戶未安裝Matlab的計算機應用軟件問題,對開發的負荷預測軟件編譯后生成可.exe執行程序,如此只需安裝已打包的相關支持文件,即可使用本軟件,具較強實用性。考慮用戶在不同分辨率的顯示環境下的顯示問題,設置了相應代碼以滿足通用性要求。
(4)預測結果展示模塊
該模塊包括表格和曲線兩種形式展示,并與原始數據輸入模塊一樣利用xlsread函數讀取forecasting_data.xls表格指定部分的數據。
曲線形式的展示利用plot函數,這里主要有兩種實現形式:①歷史數據和一種預測方法預測數據的對比繪圖,如圖5所示;②歷史數據與4種預測方法預測結果的對比繪圖。

圖5 歷史數據和一種預測方法預測數據的對比截圖
(5)其他功能
窗口保存:點擊該按鈕后可以把整個窗口保存為jpg或bmp格式的彩色圖片,便于用戶撰寫報告等用途。
刷新:主要為了糾正運行過程中可能出現數據來不及更新的問題。
預測結果清空:預測過程中需經常對預測結果的兩個forecasting_data.xls和forecasting_compare.xls文檔的數據進行讀寫,設置該按鈕將空格寫入預測結果,實現對數值的清空。
Matlab編譯是指將使用Matlab語言編寫的函數M文件ASCII代碼轉變成C、C++二進制源代碼,這些源代碼經過編譯器的編譯可以生成exe文件、Excel插件等獨立文件類型,使Matlab能與高級匯編語言C、C++等語言進行混合編程,增強軟件的通用性。此外,從ASCII語言轉換成二進制代碼,可以隱藏M文件源程序的源代碼,保護編制軟件人員的版權。以64位基于Matlab GUI電力負荷預測軟件的編譯結果為例介紹軟件的編譯過程和結果。本次編譯使用的是Microsoft Visual C++ 2008 SP1編譯器進行編譯,編譯后生成名為“power_ forecasting_GUI_*64_pkg.exe”的可執行打包程序。點擊運行后,可執行程序(exe)會自動運行解壓生成電力負荷預測軟件運行所需的文件,如圖6和圖7所示。

圖6 可執行程序文件(exe)解壓運行過程

圖7 可執行程序文件(exe)解壓后生成的文件
針對未安裝Matlab軟件的用戶,可執行程序會提示安裝Matlab的支持文件,進一步增強其通用性。
負荷預測結果偏大將會增加電網投資,預測結果偏小將有可能造成電網供電能力不足[12],因此需對電力負荷預測的精度進行評估。本文采用后驗差檢驗[13],具體步驟如下。
調研收集到的歷史負荷和預測值序列分別為







表1 小誤差概率和后驗差比值評價預測精度的標準
本節以廣州市十三五用電量預測為算例,以此說明軟件的通用性,廣州歷史用電量數據導入軟件如圖8所示。

圖8 廣州市歷史用電量原始數據導入
利用plot函數對原始數據和預測結果對比分析,如圖9所示。

圖9 歷史數據和4種預測方法預測數據的對比截圖
本文開發的軟件設計了誤差計算模塊,主要通過“誤差計算”按鈕計算平均絕對誤差和平均相對誤差并顯示。運行界面如圖10所示。

圖10 誤差計算模塊運行界面
同時軟件還設計了預測精度等級評估模塊,該模塊主要通過“預測精度計算”按鈕計算后驗差比值和小誤差概率兩個具體指標的值,反映預測精度的高低并顯示,同時附上評價標準的說明,運行界面如圖11所示。

圖11 預測精度計算模塊運行界面
表2結合算例情況,對比分析了幾種預測方法的特點。

表2 電力負荷預測方法特點匯總
表4是基于GM(1,1)灰色預測模型和改進GM(1,1)灰色預測模型的廣州市用電量預測結果和精度等級評估情況。各算法的建模數據采用的是2001年至2010年,檢驗數據用的是2011年至2014年,預測期為2015年至2020年。
由表3可看出,預測精度等級都在合格范圍內,但2011年后的預測誤差增大,原因在于2011年后廣州市全社會用電量的增長速度放緩。再對比該兩種算法,改進后的灰色GM(1,1)預測法的預測精度提高了2%,各數據誤差被平均,大誤差有所減小,小誤差有所提高,基本符合預期改進效果。
本文基于灰色預測方法、改進灰色預測方法和趨勢外推法(滑動平均法和指數平滑法)完成地區“十三五”期間電力負荷預測,并編制出基于Matlab GUI電力負荷預測軟件,軟件具有比較豐富的預測分析功能,能實現原始數據導入、修改,能利用單種或多種預測方法進行預測,對預測結果能良好顯示和誤差精度評估,同時解決了軟件的通用性問題,滿足電力系統規劃人員的實際需要,能應用于地區電網規劃實際電力負荷預測工作,進而可以為地區電力規劃提供重要參考。
[1] 程浩忠, 張焰, 等. 電力系統規劃[M]. 北京: 中國電力出版社, 2008.
[2] 黃玉龍, 劉明波, 鄭文杰, 等. 基于可信區間的模糊線性回歸動態負荷參數預測[J]. 電工技術學報, 2015, 30(24): 196-205.
[3] 萬昆, 柳瑞禹. 區間時間序列向量自回歸模型在短期電力負荷預測中的應用[J]. 電網技術, 2012, 36(11): 77-81.
[4] 李濱, 覃芳璐, 吳茵, 等. 基于模糊信息粒化與多策略靈敏度的短期日負荷曲線預測[J]. 電工技術學報, 2017, 32(9): 149-159.
[5] 蔣燕, 王少楊, 封蕓. 基于遞歸等權組合模型的中長期電力負荷預測[J]. 電力系統及其自動化學報, 2012, 24(1): 151-155.
[6] 羅華飛. Matlab GUI設計學習手記[M]. 北京: 北京航空航天大學出版社, 2014.
[7] 侯偉, 肖健, 牛利勇. 基于灰色理論的光伏發電系統出力預測方法[J]. 電氣技術, 2016, 17(4): 53-58.
[8] 韓富堯, 劉亞偉. 基于計量經濟-灰色理論的多變量電力負荷預測方法[J]. 電氣技術, 2017, 18(7): 37-40.
[9] 周國鵬, 傅軍, 李雪梅, 等. 灰色預測GM(1,1)模型的改進及應用[J]. 數學的實踐與認識, 2011, 41(23): 39-46.
[10] 袁鐵江, 袁建黨, 晁勤, 等. 電力系統中長期負荷預測綜合模型研究[J]. 電力系統保護與控制, 2012, 40(14): 143-146.
[11] 陳武, 張山江, 侯春華, 等. 二次指數平滑預測模型回歸系數計算方法探討[J]. 統計與決策, 2016(19): 11-12.
[12] 谷云東, 張素杰, 馮君淑. 大用戶電力負荷的多模型模糊綜合預測[J]. 電工技術學報, 2015, 30(23): 110-115.
[13] 楊琳, 徐慧英, 王艷潔. 基于貝葉斯最大化后驗估計方法的圖片合成模型研究[J]. 計算機科學, 2016, 43(6): 321-324.
Application and development of power load forecasting software based on Matlab GUI
Du Ting1Zhao Shousheng1Li Yongqi2Chen Lidan3
(1. State Grid Zhejiang Electric Power Company Jinhua Power Supply Company, Jinhua, Zhejiang 321000; 2. China Southern Power Grid Guangzhou Power Supply Co., Ltd, Guangzhou 515223;3. Guangzhou College of South China University of Technology, Guangzhou 510800)
Load forecasting is the basis of grid planning, take the electricity consumption of the whole society as an example, this paper predicted the load during the planning period of the 13th five-year grid by trend extrapolation model, grey model and its improved model. Then, the power load forecasting software with lots of functions was developed based on Matlab GUI, the software can implement importing, modifying and saving of the survey data. A variety of prediction models can be used to predict the power load based on the software, and the results can be analyzed and evaluated in the forecasting system, and it has universality and practicability, which can be used by grid planning staff.
load forecasting; Matlab GUI; posteriori error; grey model; trend extrapolation
2017-10-26
杜 挺(1985-),男,漢,浙江東陽人,碩士,工程師,主要研究方向為配電網規劃及配電網工程管理。