【正文】
Relative Error08701869282838684946599061061710828112391269101213111163121244131183141182151233125416121917133118134019134720128621112222106523964為了方便比較,我們將根據(jù)兩種不同的輸入矢量所獲得的預(yù)測結(jié)果計算出的相對誤差在表74中比較。表74 相對誤差的比較時間相對誤差(不采用股票技術(shù)指標(biāo))相對誤差(采用股票技術(shù)指標(biāo))01234567891011121314151617181920212223我們可以從圖表中明顯的讀出,采用結(jié)合股票技術(shù)的負(fù)荷預(yù)測的精度稍高。 負(fù)荷準(zhǔn)確率是我國調(diào)度部門同行對標(biāo)的重要內(nèi)容,現(xiàn)我們在選取所有輸入矢量的情況下分別計算日負(fù)荷準(zhǔn)確率和當(dāng)月平均的日負(fù)荷準(zhǔn)確率。l 日負(fù)荷準(zhǔn)確率我們采用武漢市1999年6月份的預(yù)測結(jié)果進(jìn)行計算,計算結(jié)果見表75。.表75日期日負(fù)荷預(yù)測準(zhǔn)確率(%)1999/6/11999/6/21999/6/31999/6/41999/6/51999/6/61999/6/71999/6/81999/6/91999/6/101999/6/111999/6/121999/6/131999/6/141999/6/151999/6/161999/6/171999/6/181999/6/191999/6/201999/6/211999/6/221999/6/231999/6/241999/6/251999/6/261999/6/271999/6/281999/6/291999/6/30l 當(dāng)月平均的日負(fù)荷預(yù)測準(zhǔn)確率根據(jù)公式(54)%。l 通過仿真發(fā)現(xiàn)SVM方法計算速度較快,而且不需要太多的樣本就能得到較高精度的結(jié)果。l 從仿真結(jié)果上可以看出不同的輸入矢量對仿真結(jié)果有著較大的影響,而加入股票技術(shù)指標(biāo)作為輸入矢量對仿真結(jié)果有一定的改進(jìn)。l 采用以SVM為核心的電力系統(tǒng)負(fù)荷預(yù)測日負(fù)荷準(zhǔn)確率較高,基本上在97%以上。第8章 結(jié)論電力系統(tǒng)短期負(fù)荷預(yù)測是電力系統(tǒng)運(yùn)行調(diào)度的基礎(chǔ),關(guān)系到整個電力系統(tǒng)的效率、效益和安全。特別是隨著電力市場改革的深入,它已經(jīng)成為電力市場技術(shù)支持系統(tǒng)的重要組成部分,是電力交易市場的主要數(shù)據(jù)來源,其預(yù)測精度對電力系統(tǒng)有著非常重要的意義。因此提高預(yù)測精度尤其短期負(fù)荷預(yù)測的精度已成為當(dāng)務(wù)之急。論文對電力系統(tǒng)負(fù)荷預(yù)測的特點和理論基礎(chǔ)以及股票趨勢技術(shù)進(jìn)行了詳細(xì)的研究,具有一定的理論和實踐價值,最后介紹了以這些理論為基礎(chǔ)開發(fā)的電力系統(tǒng)負(fù)荷預(yù)測系統(tǒng),并對預(yù)測結(jié)果做了討論分析。本文的創(chuàng)新點和結(jié)論體現(xiàn)在如下方面:l 本文詳細(xì)的分析了電力系統(tǒng)負(fù)荷預(yù)測和股票指數(shù)預(yù)測之間的聯(lián)系,為采用股票指數(shù)預(yù)測方法預(yù)測電力系統(tǒng)負(fù)荷找到了理論根據(jù),發(fā)現(xiàn)了預(yù)測兩者的交集SVM(支持向量機(jī))。l 本文將負(fù)荷指數(shù)與股票價格指數(shù)做了類比對應(yīng)處理,計算出類似的股票技術(shù)指標(biāo),并將這些指標(biāo)作為輸入矢量運(yùn)用于SVM進(jìn)行預(yù)測,并且得到了較好的結(jié)果。l 本文根據(jù)股票K 線圖的應(yīng)用思想,創(chuàng)造性的將其引入到負(fù)荷分析中,負(fù)荷K 線圖具有負(fù)荷趨勢判斷和豐富信息瀏覽等功能,有助于幫助運(yùn)行人員形成專家經(jīng)驗,為了解決負(fù)荷的時間跨度問題,設(shè)計了一種獨特的負(fù)荷自然增長的處理辦法。l 本文以如上假想通過MATLAB編寫了具有友好界面負(fù)荷預(yù)測軟件,包含了查詢,預(yù)測,高級選項,K線圖輸出,保存幾個功能,大大方便了仿真和測試。電力系統(tǒng)負(fù)荷預(yù)測是一個龐大的系統(tǒng)工程,它受到方方面面因素的影響,不是單純的通過計算就能得出很好的結(jié)果的。傳統(tǒng)的影響因素如降雨量,天氣,節(jié)假日,經(jīng)濟(jì)形勢以及現(xiàn)如今出現(xiàn)的階梯電價等因素,都需要我們的預(yù)測系統(tǒng)要根據(jù)不同的情況智能的選擇不同的預(yù)測模型,得到最佳的結(jié)果。圍繞如何提高預(yù)測精度這個中心問題,我們還有很多方面需要更深入的研究。致謝 本文在導(dǎo)師謝榮軍老師的悉心指導(dǎo)下完成,在此表示對導(dǎo)師的衷心感謝!在畢業(yè)設(shè)計及撰寫論文期間,謝老師在專業(yè)知識方面給了很多的教誨,并且有很多啟發(fā)性提議。這些教誨使我能夠順利地完成這篇畢業(yè)論文,并將使我受益終生。感謝我的父母,謝謝他們在我學(xué)習(xí)生涯中對我的理解和支持。感謝電氣中英班的全體同學(xué),他們使我感受到集體的團(tuán)結(jié)、友愛及互助精神。 感謝MATLAB中文論壇的斑竹和眾位MATLAB高手,為我們免費提供視頻指導(dǎo),悉心的解決程序方面的問題。最后,感謝所有關(guān)心和愛護(hù)我的人。附錄附錄1 BIAS的意義與算法l 意義乖離率又稱為y值,是反映股價在波動過程中與移動平均線偏離程度的技術(shù)指標(biāo)。它的理論基礎(chǔ)是:不論股價在移動平均線之上或之下,只要偏離距離過遠(yuǎn),就會向移動平均線趨近,據(jù)此計算股價偏離移動平均線百分比的大小來判斷買賣時機(jī)。l 計算方法乖離率=(當(dāng)日收盤價N日內(nèi)移動平均價)/N日內(nèi)移動平均價╳100% 5日乖離率=(當(dāng)日收盤價5日內(nèi)移動平均價)/5日內(nèi)移動平均價╳100% 式中的N日按照選定的移動平均線日數(shù)確定,一般定為5,10。 通用公式函數(shù): BIAS1 : (CLOSEMA(CLOSE,L1))/MA(CLOSE,L1)*100。 BIAS2 : (CLOSEMA(CLOSE,L2))/MA(CLOSE,L2)*100。 BIAS3 : (CLOSEMA(CLOSE,L3))/MA(CLOSE,L3)*100。附錄2 SVM預(yù)測的詳細(xì)代碼function varargout = forecast(varargin)% FORECAST Mfile for % FORECAST, by itself, creates a new FORECAST or raises the existing% singleton*.%% H = FORECAST returns the handle to a new FORECAST or the handle to% the existing singleton*.%% FORECAST(39。CALLBACK39。,hObject,eventData,handles,...) calls the local% function named CALLBACK in with the given input arguments.%% FORECAST(39。Property39。,39。Value39。,...) creates a new FORECAST or raises the% existing singleton*. Starting from the left, property value pairs are% applied to the GUI before forecast_OpeningF gets called. An% unrecognized property name or invalid value makes property application% stop. All inputs are passed to forecast_OpeningF via varargin.%% *See GUI Options on GUIDE39。s Tools menu. Choose GUI allows only one% instance to run (singleton).%% See also: GUIDE, GUIDATA, GUIHANDLES % Edit the above text to modify the response to help forecast % Last Modified by GUIDE 24May2011 11:01:22 % Begin initialization code DO NOT EDITgui_Singleton = 1。gui_State = struct(39。gui_Name39。, mfilename, ... 39。gui_Singleton39。, gui_Singleton, ... 39。gui_OpeningF39。, @forecast_OpeningF, ... 39。gui_OutputF39。, @forecast_OutputF, ... 39。gui_LayoutF39。, [] , ... 39。gui_Callback39。, [])。if nargin amp。amp。 ischar(varargin{1}) = str2func(varargin{1})。end if nargout [varargout{1:nargout}] = gui_mainf(gui_State, varargin{:})。else gui_mainf(gui_State, varargin{:})。end% End initialization code DO NOT EDIT % Executes just before forecast is made visible.function forecast_OpeningF(hObject, eventdata, handles, varargin)% This function has no output args, see OutputF.% hObject handle to figure% eventdata reserved to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% varargin mand line arguments to forecast (see VARARGIN) % Choose default mand line output for forecast = hObject。 % Update handles structureguidata(hObject, handles)。 % UIWAIT makes forecast wait for user response (see UIRESUME)% uiwait()。addpath libsvmmat load Userdata。global parameter。=data。=mydate。 =Actualdata。(:,1)=dmin。 (:,2)=dmax。(:,3)=dmean。(:,4)=MA5。(:,5)=BIAS5。(:,6)=temperature(:,1)。(:,7)=temperature(:,2)。(:,8)=temperature(:,3)。global MA15Line。MA15Line=MA15。 global Train。=[0 0 1 1 1 1 1 1]。=(111:141,:)... .*(ones(141111+1,1)*)。=(111:141,:)。=(182,:).*。=[]。 global Dayinmonth。Dayinmonth=[28,31,30,31,30,31,31,30,31,30,20]。 global showdata。showdata=cell(24,4)。showdata(:,1)=mat2cell([0:23]39。,ones(24,1),1)。set(,39。data39。,showdata)。 set(,39。value39。,6)。set(,39。value39。,7)。 global choose。choose=0。 global KLineDate。=6。=1。=7。=1。=7。=20。 % Outputs from this function are returned to the mand line.function varargout = forecast_OutputF(hObject, event