本發(fā)明涉及電力的領域,尤其涉及一種基于x13季節(jié)調整和因素回歸的售電量預測方法及裝置。
背景技術:
售電量預測是國家電網(wǎng)公司營銷部一項重要的基礎性工作,月度售電量預測對于國家電網(wǎng)公司合理的確定銷售電量總定額、分解售電量銷售指標、制定有序用電方案、指導發(fā)電廠和輸配電網(wǎng)的合理運行、推動電力市場發(fā)展和建設都具有十分重要的意義。
現(xiàn)有技術中,通常會采用單一方法或者組合方法進行預測,例如單一方法主要包括:灰度系統(tǒng)預測法、時間序列預測法和回歸分析法等;組合方法一般是指在最大信息利用的基礎上,集結了多種單一模型包含的信息,進行最優(yōu)組合。傳統(tǒng)的方法雖然在一定程度上對售電量進行了預測,但是預測的精度不理想。
技術實現(xiàn)要素:
有鑒于此,本發(fā)明實施例公開了一種基于x13季節(jié)調整和因素回歸的售電量預測方法及裝置,解決了現(xiàn)有技術中精度不高的問題。
本實施例公開的基于x13季節(jié)調整和因素回歸的售電量預測方法,所述方法包括:
對歷史售電量數(shù)據(jù)進行預處理,得到預處理后的歷史售電量數(shù)據(jù);
依據(jù)x13季節(jié)調整方法將所述預處理后的歷史售電數(shù)據(jù)分解為趨勢項、季節(jié)項和隨機項三個序列;
依據(jù)所述趨勢項、多個第一機器學習算法以及相關行業(yè)對應的因素建立所述趨勢項預測模型,并依據(jù)所述趨勢項預測模型計算待預測時間售電量的趨勢項預測值;其中,所述相關行業(yè)為所述歷史售電量數(shù)據(jù)對應的行業(yè);
依據(jù)所述季節(jié)項和第二機器學習算法建立季節(jié)項預測模型,并依據(jù)所述季節(jié)項預測模型計算待預測時間售電量的季節(jié)項預測值;
依據(jù)所述隨機項、第三機器學習算法和預設的隨機項因素建立隨機項預測模型,并依據(jù)所述隨機項預測模型計算待預測時間售電量的隨機項預測值;
將待預測時間售電量的趨勢項預測值、季節(jié)項預測值和隨機項預測值進行加和重構,得到第一售電量預測值;
采用層次分析法ahp對所述第一售電量進行擇優(yōu)處理,得到第二售電量預測值。
可選的,所述對歷史售電量數(shù)據(jù)進行預處理,得到預處理后的歷史售電量數(shù)據(jù),包括:
采用分箱法從所述歷史售電量數(shù)據(jù)中識別出異常值,并將識別出的異常值由所述歷史售電量均值代替,得到除去異常值的歷史售電量數(shù)據(jù);
采用分箱法從所述除去異常值的歷史售電量數(shù)據(jù)中篩選出建模數(shù)據(jù)。
可選的,所述依據(jù)所述趨勢項、多個第一機器學習算法以及相關行業(yè)對應的因素建立所述趨勢項預測模型,并依據(jù)所述趨勢項預測模型計算待預測時間售電量的趨勢項預測值,包括:
依據(jù)所述趨勢項、相關行業(yè)對應的因素和多個預設的機器學習算法,建立多個趨勢項預測模型;其中,所述相關行業(yè)為所述歷史售電量數(shù)據(jù)對應的行業(yè);
采用l1/2稀疏迭代算法對相關行業(yè)對應的因素進行預測,得到所述因素的預測值;
將所述因素的預測值分別代入到所述多個趨勢預測模型中,并分別計算每個趨勢預測模型對應的待預測時間售電量的趨勢項預測值。
可選的,所述依據(jù)所述季節(jié)項和第二機器學習算法建立季節(jié)項預測模型,并依據(jù)所述季節(jié)項預測模型計算待預測時間售電量的季節(jié)項預測值,包括:
采用l1/2稀疏迭代算法建立季節(jié)項預測模型,并依據(jù)所述季節(jié)項預測模型計算待預測時間售電量的季節(jié)項預測值。
可選的,所述依據(jù)所述隨機項、第三機器學習算法和預設的隨機項因素建立隨機項預測模型,并依據(jù)所述隨機項預測模型計算待預測時間售電量的隨機項預測值,包括:
依據(jù)所述隨機項、混合專家模型算法和預設的隨機項因素建立隨機預測模型;
獲取所述預設的隨機項因素的預測值;
將所述隨機項因素的預測值代入到所述隨機項的預測模型中,計算待預測時間的售電量隨機項預測值。
可選的,所述采用分箱法從所述歷史售電量數(shù)據(jù)中識別出異常值,并將識別出的異常值由所述歷史售電量均值代替,得到除去異常值的歷史售電量數(shù)據(jù),包括:
從所述歷史售電量數(shù)據(jù)中確定疑似異常點;將所述疑似異常點作為目標點;
將歷史售電量數(shù)據(jù)中相連的數(shù)據(jù)點進行差分運算,得到歷史售電量數(shù)據(jù)的差分序列和目標點的兩個相關點;其中,所述相關點為與所述目標點與相鄰的兩個點進行差分的結果;
從所述歷史售電量數(shù)據(jù)的差分序列中中除去所述目標相關點,并對除去目標相關點的歷史售電量數(shù)據(jù)的差分序列進行分箱處理,得到售電量數(shù)據(jù)差分序列的正常范圍;
判斷兩個所述目標相關點是否均不在所述售電量數(shù)據(jù)差分序列的正常范圍內;
若兩個所述目標相關點均不在所述正常范圍內,則所述目標點為異常值并利用歷史均值代替所述目標點,得到除去異常值的歷史售電量數(shù)據(jù);
可選的,所述采用分箱法從所述歷史售電量數(shù)據(jù)中篩選出建模數(shù)據(jù),包括:
從所述除去異常值的歷史售電量數(shù)據(jù)中獲取各個年份的歷史售電量數(shù)據(jù);并計算各個年份的歷史售電量增速;
對所述連續(xù)n年的增長率進行分箱操作,得到增長率的正常范圍;所述連續(xù)n年為距離當前年份最近的n年;所述n≥2;
判斷第n+p年的增長率是否在所述增長率的正常范圍內;p為從1開始遞增的正整數(shù);
若連續(xù)n+p年的增長率不在所述增長率的正常范圍內,將連續(xù)n+p年的歷史售電量數(shù)據(jù)篩選出來作為建模數(shù)據(jù);
若連續(xù)n+p年的增長率在所述增長率的正常范圍,將p在當前數(shù)值的基礎上加1,并返回執(zhí)行判斷第n+p年的增長率是否在所述增長率的正常范圍內。
本發(fā)明實施例還公開了一種基于x13季節(jié)調整和因素回歸的售電量預測裝置,所述裝置可以包括:
預處理單元,用于對歷史售電量數(shù)據(jù)進行預處理,得到預處理后的歷史售電量數(shù)據(jù);
分解單元,用于依據(jù)x13季節(jié)調整方法將所述預處理后的歷史售電數(shù)據(jù)分解為趨勢項、季節(jié)項和隨機項三個序列;
趨勢項預測單元,用于依據(jù)所述趨勢項、多個第一機器學習算法以及相關行業(yè)對應的因素建立所述趨勢項預測模型,并依據(jù)所述趨勢項預測模型計算待預測時間售電量的趨勢項預測值;其中,所述相關行業(yè)為所述歷史售電量數(shù)據(jù)對應的行業(yè);
季節(jié)項預測單元,用于依據(jù)所述季節(jié)項和第二機器學習算法建立季節(jié)項預測模型,并依據(jù)所述季節(jié)項預測模型計算待預測時間售電量的季節(jié)項預測值;
隨機項預測單元,用于依據(jù)所述隨機項、第三機器學習算法和預設的隨機項因素建立隨機項預測模型,并依據(jù)所述隨機項預測模型計算待預測時間售電量的隨機項預測值;
加和重構單元,用于將待預測時間售電量的趨勢項預測值、季節(jié)項預測值和隨機項預測值進行加和重構,得到第一售電量預測值;
擇優(yōu)處理單元,用于采用層次分析法ahp對所述第一售電量進行擇優(yōu)處理,得到第二售電量預測值。
可選的,所述預處理單元,包括:
異常值處理單元,用于采用分箱法從所述歷史售電量數(shù)據(jù)中識別出預設的異常值,并將識別出的異常值由所述歷史售電量均值代替,得到除去異常值的歷史售電量數(shù)據(jù);
建模數(shù)據(jù)篩選單元,用于采用分箱法從所述除去異常值的歷史售電量數(shù)據(jù)中篩選出建模數(shù)據(jù)。
可選的,所述趨勢項預測單元,包括:
趨勢項預測模型建立子單元,用于依據(jù)所述趨勢項、相關行業(yè)對應的因素和多個預設的機器學習算法,建立多個趨勢項預測模型;其中,所述相關行業(yè)為所述歷史售電量數(shù)據(jù)對應的行業(yè);
因素值預測子單元,用于采用l1/2稀疏迭代算法對相關行業(yè)對應的因素進行預測,得到所述因素的預測值;
趨勢項預測值計算子單元,用于將所述因素的預測值分別代入到所述多個趨勢預測模型中,并分別計算每個趨勢預測模型對應的待預測時間售電量的趨勢項預測值。
本實施例中,對售電量進行預測時,首先對歷史售電量數(shù)據(jù)進行預處理,利用x13季節(jié)調整算法將預處理后的售電量序列分解為趨勢項、季節(jié)項和隨機項三個子序列,然后根據(jù)各子序列的影響因素和曲線特征采用預測算法分別進行預測,由于趨勢項量級大,對最終結果影響大,為保證預測精度和預測魯棒性,趨勢項預測采用多種算法分別進行預測。再后,將各子序列的預測結果加和重構得到售電量預測結果,最后在多種預測結果中綜合選擇性能最優(yōu)的預測結果;同時本發(fā)明實施例還充分考慮了一些影響因素對各分解項的影響;因此,采用本實施例的方案得到的預測結果精度更高。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
圖1示出了本發(fā)明實施例提供的一種基于x13季節(jié)調整和因素回歸的售電量預測方法的流程示意圖;
圖2示出了本發(fā)明實施例提供的一種采用x13季節(jié)調整對歷史售電量數(shù)據(jù)分解后的示意圖;
圖3示出了本發(fā)明實施例提供的一種基于x13季節(jié)調整和因素回歸的售電量預測方法的流程示意圖;
圖4示出了本發(fā)明實施例提供的一種基于x13季節(jié)調整和因素回歸的售電量預測方法的流程示意圖;
圖5示出了本發(fā)明實施例提供的一種基于x13季節(jié)調整和因素回歸的售電量預測裝置的結構示意圖;
圖6示出了svm回歸通過定義硬-ε帶超平面示意圖;
圖7示出了正類點集d+和負類點集d-的二分類示意圖;
圖8示出了混合專家結構示意圖。
具體實施方式
下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
參考圖1,示出了本發(fā)明實施例提供的基于x13季節(jié)調整和因素回歸的售電量預測方法的流程示意圖,在本實施例中,所述方法可以包括:
s101:對歷史售電量數(shù)據(jù)進行預處理,得到預處理后的歷史售電量數(shù)據(jù);
歷史售電量數(shù)據(jù)中會存在一些異常高或者異常低的數(shù)據(jù)點,這些點若是直接用于建模會影響模型的泛化能力,造成預測精度下降,因此需要將這些異常數(shù)據(jù)進行處理,并且,由于經(jīng)濟發(fā)展周期或其它影響因素的變化,較早年份的售電量趨勢可能和距離現(xiàn)在較近的年份有較大的差異,因此需要對售電量數(shù)據(jù)進行篩選,因此,對歷史售電量數(shù)據(jù)進行預處理具體可以包括兩方面:
第一方面:采用分箱法從所述歷史售電量數(shù)據(jù)中識別出預設的異常值,并將識別出的異常值由所述歷史售電量均值代替,得到除去異常值的歷史售電量數(shù)據(jù);
第二方面:采用分箱法從所述除去異常值的歷史售電量數(shù)據(jù)中篩選出建模數(shù)據(jù)。
其中,第一方面具體可以包括:
從所述歷史售電量數(shù)據(jù)中確定疑似異常點;將所述疑似異常帶你作為目標點;
將歷史售電量數(shù)據(jù)中相鄰的數(shù)據(jù)點進行差分運算,得到歷史售電量數(shù)據(jù)的差分序列和目標點的兩個相關點;其中,所述相關點為與所述目標點與相鄰的兩個點進行差分的結果;
從所述歷史售電量數(shù)據(jù)的差分序列中除去所述目標相關點,并對除去目標相關點的歷史售電量數(shù)據(jù)的差分序列進行分箱處理,得到售電量數(shù)據(jù)差分序列的正常范圍;
判斷兩個所述目標相關點是否均不在所述售電量數(shù)據(jù)差分序列的正常范圍內;
若兩個所述目標相關點均不在所述正常范圍內,則所述目標點為預設的異常值并利用歷史均值代替所述目標點,得到除去異常值的歷史售電量數(shù)據(jù);
舉例說明:
假設記歷史售電量數(shù)據(jù)記為
計算歷史售電量數(shù)據(jù)的差分序列:
其中,目標點
對除去目標相關點的歷史售電量數(shù)據(jù)的差分序列進行分箱處理操作,如以下公式1)和公式2):
1)pup=a+1.5*(a-c);
2)pdouw=c-1.5*(a-c);
其中pup為上邊界,pdown為下邊界,a為上四分位數(shù),c為下四分位數(shù),即pup,pdown為所述售電量數(shù)據(jù)差分序列的正常范圍。
判斷目標點
若u(i)和u(i-1)都不在售電量數(shù)據(jù)差分序列的正常范圍內,則判定目標點
第二方面具體可以包括:
從所述除去異常值的歷史售電量數(shù)據(jù)中獲取各個年份的歷史售電量數(shù)據(jù);并計算各個年份的歷史售電量增速;
對所述連續(xù)n年的增長率進行分箱操作,得到增長率的正常范圍;所述連續(xù)n年為距離當前年份最近的n年;所述n≥2;
判斷第n+p年的增長率是否在所述增長率的正常范圍內;p為從1開始遞增的正整數(shù);
若連續(xù)n+p年的增長率不在所述增長率的正常范圍內,將連續(xù)n+p年的歷史售電量數(shù)據(jù)篩選出來作為建模數(shù)據(jù);
若連續(xù)n+p年的增長率在所述增長率的正常范圍,將p在當前數(shù)值的基礎上加1,并返回執(zhí)行判斷第n+p年的增長率是否在所述增長率的正常范圍內。
舉例說明:本實施例中,假設獲取到的連續(xù)m+1年的歷史售電量數(shù)據(jù)為2年,則可以計算出1年的增長率,例如:獲取的為2016年和2015年這兩年的數(shù)據(jù),則只可以得到2016年對2015年的增長率。
對于x13季節(jié)調整算法要求數(shù)據(jù)至少3年,因此,在本實施例中假設獲取的m+1年可以為3年;
第一步假設獲取到的各個年份的售電量歷史數(shù)據(jù){y(i)|i=1,2,...,m};m表示為距離當前最近的年份;
采用如下公式3),計算歷史年度增長率絕對值{s(i)|i=2,3,...,m}:
3)
第二步利用{s(i)|i=m-1,m}執(zhí)行分箱,得到連續(xù)2年增速的正常范圍;假設,距離當前最近的年份為2016年,則連續(xù)兩年的增速為2016年對2015年的增速和2015年對2014年的增速;
第三步判斷s(m-2)是否在分箱邊界內,若不在,則選擇近三年售電量數(shù)據(jù)參與建模;例如:若2014年對2013年的增速不在增速的正常范圍內,則參與建模的數(shù)據(jù)包括:2016年、2015年和2014年;
否則判斷s(m-3)是否在分箱邊界內,若不在,則選擇近四年售電量數(shù)據(jù)參與建模,以此類推。
記經(jīng)過數(shù)據(jù)篩選之后的月度售電量數(shù)據(jù)為{q(i)|i=1,2,...,n}。
s102:依據(jù)x13季節(jié)調整方法將所述預處理后的歷史售電數(shù)據(jù)分解為趨勢項、季節(jié)項和隨機項三個序列;
由于月度售電量受經(jīng)濟發(fā)展、季節(jié)變化、溫度和假日等因素的影響,直接預測難度較大。在本實施例中,可以在對歷史售電量數(shù)據(jù)進行了預處理后,將該歷史售電量數(shù)據(jù)分解為趨勢項、季節(jié)項和隨機項三個子序列。
舉例說明:利用x13季節(jié)調整對預處理后的歷史售電量數(shù)據(jù)分解后可以通過公式4)表示:
4)q(i)=qt(i)+qs(i)+qr(i);
其中,{q(i)|i∈1,2,...,n}表示預處理后的歷史售電量數(shù)據(jù),{qt(i)|i∈1,2,...,n}為售電量趨勢項,{qs(i)|i∈1,2,...n,}為售電量季節(jié)項,{qr(i)|i∈1,2,...n,}為售電量隨機項。
如圖2所示,示出了某歷史售電量數(shù)據(jù)分解曲線。從圖中可以看出,分解得到的趨勢項較為平穩(wěn),發(fā)展變化主要受經(jīng)濟發(fā)展狀況的影響。季節(jié)項規(guī)律性較強,主要反映季節(jié)對售電量的影響,因此只依靠算法就能得到高精度的預測,故不考慮影響因素。隨機項有一定的波動,反映了節(jié)假日、溫度等因素的影響。
s103:依據(jù)所述趨勢項、多個第一機器學習算法以及相關行業(yè)對應的因素建立所述趨勢項預測模型,并依據(jù)所述趨勢項預測模型計算待預測時間售電量的趨勢項預測值;其中,所述相關行業(yè)為所述歷史售電量數(shù)據(jù)對應的行業(yè);
本實施例中,月度售電量趨勢項曲線較為平滑,主要受到經(jīng)濟因素的影響,同時由于趨勢項占歷史售電量數(shù)據(jù)比重較大,為了保證預測精度,可以采用多種機器學習算法建立趨勢項預測模型,例如可以采用svm、l1/2稀疏迭代、回聲狀態(tài)網(wǎng)絡和極限學習機四種算法,參考圖3,s103具體可以包括:
s301:依據(jù)所述趨勢項、相關行業(yè)對應的因素和多個預設的機器學習算法,建立多個趨勢項預測模型;其中,所述相關行業(yè)為所述歷史售電量數(shù)據(jù)對應的行業(yè);
s302:采用l1/2稀疏迭代算法對相關行業(yè)對應的因素進行預測,得到所述因素的預測值;
s303:將所述因素的預測值分別代入到所述多個趨勢預測模型中,并分別計算每個趨勢預測模型對應的待預測時間售電量的趨勢項預測值。
本實施例中,需要說明的是,所述趨勢項對應的相關因素可以是技術人員預先設置的,或者可以是從預先設置的表格中獲取的。例如,在本實施例中,技術人員預先設置了售電量建??紤]的因素,如下表一所示,從表一中可以獲取到不同行業(yè)對應的趨勢項相對應的影響因素。
表一
舉例說明:
第一步假設售電量趨勢項數(shù)據(jù)序列為{qt(i)|i∈1,2,...,n};
第二步從表1中取得行業(yè)對應的影響因素,記為{e(i)|i∈1,2,...,n},若某行業(yè)影響因素多于一個,則e(i)={e1(i),e2(i),...,em(i)|i∈1,2,...,n,m∈1,2,...,k},其中m表示影響因素的個數(shù),如居民趨勢項預測考慮人均可支配收入,則m=1;工業(yè)趨勢項預測考慮第二產(chǎn)業(yè)gdp增速、工業(yè)增加值增速兩個指標,則m=2,以此類推。
第三步建立趨勢項預測模型。記j=1表示svm,j=2表示l1/2稀疏迭代,j=3表示回聲狀態(tài)網(wǎng)絡,j=4表示極限學習機。參照公式5)建立如下趨勢項預測模型:
5)qt(i)=fj(e(i),qt(i-1),qt(i-2),...,qt(i-12)),j=1,2,3,4;
第四步利用l1/2稀疏迭代實現(xiàn)因素數(shù)據(jù)的預測,得到因素數(shù)據(jù)的預測值
第五步得到趨勢項四種預測結果。將因素預測值代入公式5)中,可以得到趨勢項預測結果
s104:依據(jù)所述季節(jié)項和第二機器學習算法建立季節(jié)項預測模型,并依據(jù)所述季節(jié)項預測模型計算待預測時間售電量的季節(jié)項預測值;
本實施例中,售電量的季節(jié)項規(guī)律性較強,每年同月值波動較小且趨勢變化較為平穩(wěn),本文利用l1/2稀疏迭代實現(xiàn)售電量季節(jié)項的預測。
舉例說明:
第一步假設季節(jié)項記為{qs(i)|i∈1,2,...,n}。
第二步利用l1/2稀疏迭代算法建立季節(jié)項預測模型,如公式6)所示:
6)qs(i)=fl1/2(qs(i-1),qs(i-2),...,qs(i-12));
第三步得到季節(jié)項預測結果
s105:依據(jù)所述隨機項、第三機器學習算法和預設的隨機項因素建立隨機項預測模型,并依據(jù)所述隨機項預測模型計算待預測時間售電量的隨機項預測值。
本實施例中,由于售電量的隨機項波動較大但是幅值較小,主要會受到一些隨機項因素的影響,這些隨機項因素例如可以包括:節(jié)假日和氣溫,為了保證隨機項的預測效果,本實施例中可以采用混合專家模型算法預測隨機項,參考圖4,s105具體可以包括:
s401:依據(jù)所述隨機項、混合專家模型算法和預設的隨機項因素建立隨機預測模型;
s402:獲取所述預設的隨機項因素的預測值;
s403:將所述隨機項因素的預測值代入到所述隨機項的預測模型中,計算待預測時間的售電量隨機項預測值。
舉例說明:
第一步:假設隨機項序列為{qr(i)|i∈1,2,...,n};
第二步:分別記節(jié)假日天數(shù)和平均氣溫數(shù)據(jù)為{h(i)|i∈1,2,...,n}和{t(i)|i∈1,2,...,n}。
第三步:利用混合專家模型得到隨機項預測模型,如公式7)所示,其中每個專家可以采用svm算法。
7)qr(i)=f(h(i),t(i),qr(i-1),qr(i-2),...,qr(i-12));
第四步:獲取因素的預測值。
由于節(jié)假日天數(shù)可以直接通過國家政府網(wǎng)站查詢得到,故情報值即預測值為{h(i)|i∈1,2,...,l}。平均溫度可利用l1/2稀疏迭代預測得到,得到的平均溫度預測值為
第五步:將因素預測值代入公式7)得到隨機項預測結果
本實施例中,需要說明的是s103、s104、s105的步驟可以是同時執(zhí)行的,也可以是依據(jù)預設的順序依次執(zhí)行的。
s106:將待測月售電量的趨勢項預測值、季節(jié)項預測值和隨機項預測值進行加和重構,得到第一售電量預測值;
舉例說明:本實施例中,經(jīng)過s101-s105的處理,分別得到了預測步長l(即待預測時間為l)期內的趨勢項、季節(jié)項和隨機項預測值,其中趨勢項包括四種預測值,然后可以通過加和重構的方式計算第一售電量預測值,如公式8)所示:
8)
s107:采用層次分析法ahp對所述第一售電量進行擇優(yōu)處理,得到第二售電量預測值。
本實施例中,對趨勢項、季節(jié)項、隨機項經(jīng)過預測重構,得到了售電量的多種預測結果,需要從中選擇出最優(yōu)的預測結果。擇優(yōu)的目的就是綜合考慮預測誤差、預測趨勢和預測曲線形態(tài)等方面,選擇出最具預測性能的預測曲線,本發(fā)明采用基于ahp的綜合評價方法進行擇優(yōu)。
本實施例中,對售電量進行預測時,首先對歷史售電量數(shù)據(jù)進行預處理,利用x13季節(jié)調整算法將預處理后的售電量序列分解為趨勢項、季節(jié)項和隨機項三個子序列,然后根據(jù)各子序列的影響因素和曲線特征采用預測算法分別進行預測,由于趨勢項量級大,對最終結果影響大,為保證預測精度和預測魯棒性,趨勢項預測采用多種算法分別進行預測。再后,將各子序列的預測結果加和重構得到售電量預測結果,最后在多種預測結果中綜合選擇性能最優(yōu)的預測結果。同時本發(fā)明充分考慮了影響因素對各分解項的影響,包括經(jīng)濟因素、天氣因素、假日因素,故在氣候條件、節(jié)假日等外在因素的影響下仍能準確預測。因此,采用本實施例的方案得到的預測結果精度更高。
參考圖5,示出了本發(fā)明實施例提供的一種基于x13季節(jié)調整和因素回歸的售電量預測裝置的結構示意圖,在本實施例中,所述裝置可以包括:
預處理單元501,用于對歷史售電量數(shù)據(jù)進行預處理,得到預處理后的歷史售電量數(shù)據(jù);
分解單元502,用于依據(jù)x13季節(jié)調整方法將所述預處理后的歷史售電數(shù)據(jù)分解為趨勢項、季節(jié)項和隨機項三個序列;
趨勢項預測單元503,用于依據(jù)所述趨勢項、多個第一機器學習算法以及相關行業(yè)對應的因素建立所述趨勢項預測模型,并依據(jù)所述趨勢項預測模型計算待預測時間售電量的趨勢項預測值;其中,所述相關行業(yè)為所述歷史售電量數(shù)據(jù)對應的行業(yè);
季節(jié)項預測單元504,用于依據(jù)所述季節(jié)項和第二機器學習算法建立季節(jié)項預測模型,并依據(jù)所述季節(jié)項預測模型計算待預測時間售電量的季節(jié)項預測值;
隨機項預測單元505,用于依據(jù)所述隨機項、第三機器學習算法和預設的隨機項因素建立隨機項預測模型,并依據(jù)所述隨機項預測模型計算待預測時間售電量的隨機項預測值;
加和重構單元506,用于依據(jù)每一項預測值的不同權重,將待測月售電量的趨勢項預測值、季節(jié)項預測值和隨機項預測值進行加和重構,得到第一售電量預測值;
擇優(yōu)處理單元507,用于采用層次分析法ahp對所述第一售電量進行擇優(yōu)處理,得到第二售電量預測值。
可選的,所述預處理單元,包括:
異常值處理單元,用于采用分箱法從所述歷史售電量數(shù)據(jù)中識別出異常值,并將識別出的異常值由所述歷史售電量均值代替,得到除去異常值的歷史售電量數(shù)據(jù);
建模數(shù)據(jù)篩選單元,用于采用分箱法從所述除去異常值的歷史售電量數(shù)據(jù)中篩選出建模數(shù)據(jù)。
可選的,所述趨勢項預測單元,包括:
趨勢項預測模型建立子單元,用于依據(jù)所述趨勢項、相關行業(yè)對應的因素和多個預設的機器學習算法,建立多個趨勢項預測模型;其中,所述相關行業(yè)為所述歷史售電量數(shù)據(jù)對應的行業(yè);
因素值預測子單元,用于采用l1/2稀疏迭代算法對相關行業(yè)對應的因素進行預測,得到所述因素的預測值;
趨勢項預測值計算子單元,用于將所述因素的預測值分別代入到所述多個趨勢預測模型中,并分別計算每個趨勢預測模型對應的待預測時間售電量的趨勢項預測值。
可選的,季節(jié)項預測單元,包括:
季節(jié)項預測子單元,用于采用l1/2稀疏迭代算法建立季節(jié)項預測模型,并依據(jù)所述季節(jié)項預測模型計算待預測時間售電量的季節(jié)項預測值。
可選的,所述隨機項預測單元,包括:
隨機項模型建立子單元,用于依據(jù)所述隨機項、混合專家模型算法和預設的隨機項因素建立隨機預測模型;
預測值獲取子單元,用于獲取所述預設的隨機項因素的預測值;
隨機項預測子單元,用于將所述隨機項因素的預測值代入到所述隨機項的預測模型中,計算待預測時間的售電量隨機項預測值。
可選的,所述異常值處理單元,包括:
異常值確定子單元,用于從所述預處理后的歷史售電量數(shù)據(jù)中確定疑似異常點;將所述疑似異常點作為目標點;
相關點計算子單元,用于將歷史售電量數(shù)據(jù)中相連的數(shù)據(jù)點進行差分運算,得到歷史售電量數(shù)據(jù)的差分序列和目標點的兩個相關點;其中,所述相關點為與所述目標點與相鄰的兩個點進行差分的結果;
第一分箱子單元,用于從所述歷史售電量數(shù)據(jù)的差分序列中除去所述目標相關點,并對除去目標相關點的歷史售電量數(shù)據(jù)的差分序列進行分箱處理,得到售電量數(shù)據(jù)差分序列的正常范圍;
第一判斷子單元,用于判斷兩個所述目標相關點是否均不在所述售電量數(shù)據(jù)差分序列的正常范圍內;
替換子單元,用于若兩個所述目標相關點均不在所述正常范圍內,則所述目標點為異常值并利用歷史均值代替所述目標點,得到出去異常值的歷史售電量數(shù)據(jù)。
可選的,所述建模數(shù)據(jù)篩選單元,包括:
第一獲取子單元,用于從所述除去異常值的歷史售電量數(shù)據(jù)中獲取各個年份的歷史售電量數(shù)據(jù),并計算各個年份的歷史售電量增長率;
第二分箱子單元,用于對所述連續(xù)n年的增長率進行分箱操作,得到增長率的正常范圍;所述連續(xù)n年為距離當前年份最近的n年;所述連續(xù)n年為距離當前年份最近的n年;所述n≥2;
第二判斷子單元,用于判斷第n+p年的增長率是否在所述增長率的正常范圍內;p為從1開始遞增的正整數(shù);
篩選子單元,用于若連續(xù)n+p年的增長率不在所述增長率的正常范圍內,將連續(xù)n+p年的歷史售電量數(shù)據(jù)篩選出來作為建模數(shù)據(jù);
返回子單元,用于若連續(xù)n+p年的增長率在所述增長率的正常范圍,將p在當前數(shù)值的基礎上加1,并返回執(zhí)行判斷第n+p年的增長率是否在所述增長率的正常范圍內。
通過本實施例的裝置,對售電量進行預測時,首先對歷史售電量數(shù)據(jù)進行預處理,利用x13季節(jié)調整算法將預處理后的售電量序列分解為趨勢項、季節(jié)項和隨機項三個子序列,然后根據(jù)各子序列的影響因素和曲線特征采用預測算法分別進行預測,由于趨勢項量級大,對最終結果影響大,為保證預測精度和預測魯棒性,趨勢項預測采用多種算法分別進行預測。再后,將各子序列的預測結果加和重構得到售電量預測結果,最后在多種預測結果中綜合選擇性能最優(yōu)的預測結果。同時本發(fā)明充分考慮了影響因素對各分解項的影響,包括經(jīng)濟因素、天氣因素、假日因素,故在氣候條件、節(jié)假日等外在因素的影響下仍能準確預測。因此,采用本實施例的裝置得到的預測結果精度更高。
為了更加清楚的對本發(fā)明實施例進行解釋,現(xiàn)對本發(fā)明實施例中涉及到的一些計算方法進行介紹:
1、x13季節(jié)調整
季節(jié)分解的常規(guī)方法如下:首先,對原時間序列用移動平均法計算趨勢項;其次,基于3*3移動平均法計算出季節(jié)項;最后用原時間序列減去趨勢項和季節(jié)項之和得到隨機項。常規(guī)方法僅僅是對時間序列進行了粗略分解,當時間序列變化復雜時,其分解效果往往不再理想?;诖?,目前已出現(xiàn)了多種更優(yōu)秀的季節(jié)調整方法,x13法就是其中應用較普遍的一種,其基本思路是采用中心化移動加權平均法逐項分解,與季節(jié)調整的常規(guī)方法主要區(qū)別在于它的各分量序列是通過多次迭代和分解完成的,更能準確地對時間序列進行分解。其中,趨勢項反映了時間序列的長期趨勢性變動;季節(jié)項反映時間序列在不同年份相同月份季節(jié)周期變化;隨機項反映時間序列非季節(jié)項的氣象等其他不規(guī)律變化。x13季節(jié)調整可將月度售電量曲線分解為趨勢項、季節(jié)項和隨機項三個子序列。
2、svm回歸算法
svm(英文全稱:supportvectormachine,中文全稱:支持向量機)回歸是支撐向量在函數(shù)回歸領域的應用。svm回歸的樣本點只有一類,所尋求的最優(yōu)超平面是使所有樣本點離超平面的“總偏差”最小。這時樣本點都在兩條邊界線之間,求最優(yōu)回歸超平面同樣等價于求最大間隔。
給定數(shù)據(jù)集d:
svm回歸通過定義硬-ε帶超平面(如圖6所示),即數(shù)據(jù)集d中所有樣本點均滿足:-ε≤yi-f(xi)≤ε,i=1,2,...n,將回歸問題轉換成,尋找最優(yōu)硬-ε帶超平面,如公式9)所示:
9)
求解該優(yōu)化問題,又可以轉化成求解正類點集d+和負類點集d-的二分類問題(如圖7所示),其中
10)
3、l1/2稀疏性回歸
給定數(shù)據(jù)集:
11)
其中l(wèi)(.,.)為損失函數(shù),當預測值和實際值接近時,損失函數(shù)最小。λ為控制機器復雜度的正則化參數(shù)。||f||p為解的某種范數(shù),代表了對解的某種期望(如光滑性、稀疏性等)。通常求解回歸問題時,經(jīng)常會遇到過擬合的問題,正則化框架充分考慮了這種情況,通過增加||f||p來對解增加某種約束,降低過擬合的風險。
當
4、回聲狀態(tài)網(wǎng)絡回歸
esn(英文全稱:echostatenetwork,中文全稱:回聲狀態(tài)網(wǎng)絡)的核心思想是:使用具有大規(guī)模處理單元的隨機稀疏網(wǎng)絡作為儲備池,將輸入信號從低維的輸入空間映射到高維的狀態(tài)空間,在高維的狀態(tài)空間中對網(wǎng)絡的部分連接權進行訓練,而其他連接權隨機產(chǎn)生,并在網(wǎng)絡訓練過程中保持不變。
假設回聲狀態(tài)網(wǎng)絡由k個輸入單元、n個儲備池處理單元、和l個輸出單元構成。則回聲狀態(tài)網(wǎng)絡的基本方程為式12)和式13):
12)x(n+1)=f(winu(n+1)+wx(n));
13)y(n+1)=fout(woutu(n+1)+wx(n+1));
式中:u(n),x(n),y(n)分別為esn的輸入變量、狀態(tài)變量和輸出變量;f(.)和fout(.)分別為儲備池處理單元和輸出單元的激活函數(shù)向量。輸入單元通過win與儲備池的處理單元連接,w表示儲備池內部處理單元之間的連接權值,wout為儲備池與輸出單元的連接權值。此外,win和w經(jīng)初始化后保持不變,wout需要通過訓練獲得。
5、極限學習機回歸
elm(英文全稱:extremelearningmachine,中文全稱:極限學習機)是人工神經(jīng)網(wǎng)絡領域新興的一種算法,如果激活函數(shù)可以無窮可微,只需要在訓練之前設置適當?shù)碾[含層節(jié)點數(shù),為輸入權和隱含層偏差進行隨機賦值,再通過最小二乘法來得到輸出層權值。與傳統(tǒng)的神經(jīng)網(wǎng)絡學習方法相比,極限學習機不需要多次迭代,也不需要在迭代中確定參數(shù),計算量和搜索空間都大大降低。
設訓練樣本的向量為{(x1,y1),(x2,y2),...,(xn,yn)},其中xi∈rn為輸入向量即網(wǎng)絡訓練集,yi∈rm為訓練的期望輸出向量。隱含層節(jié)點數(shù)目為
14)
其中:ai=[ai1,ai2,...,ain]t是連接第i個單隱層節(jié)點和輸入節(jié)點之間的權重;bi是網(wǎng)絡的第i個隱含層節(jié)點的偏置值;βi=[βi1,βi2,...,βim]t是第i個隱含層節(jié)點和輸出節(jié)點之間的權重。激勵函數(shù)g(x)可以是“sigmoid”、“tanh”或“rbf”等。
公式14)的n個方程的矩陣形式可寫為hβ=y(tǒng),即將數(shù)據(jù)集映射到隱含層的特征空間中。其中h稱為極限學習機的隱含層輸出矩陣:
進而,可以通過最小二乘法得到方程組的解β=h*y,其中h*是輸出矩陣h的moore-penrose廣義逆矩陣。求出β后就完成了極限學習機的訓練過程。極限學習機算法的步驟可以概括為:
1)隨機賦值隱含層和輸入層的權重a、隱含層節(jié)點的偏置值
2)計算隱含層輸出矩陣h;
3)通過β=h*y求出輸出層權重。
6、混合專家模型
如圖8所示為一個me(英文全稱:mixtureofexperts,中文全稱:混合專家)模型。它由k個專家網(wǎng)絡或是簡稱專家的監(jiān)督模塊組成,并且有一個信令分配網(wǎng)絡(gatingnetwork),在專家網(wǎng)絡中充當協(xié)調者的角色,負責分散信息(從訓練數(shù)據(jù)中搜集)給不同的專家,使得專家概率產(chǎn)生模型在輸入空間不同的區(qū)域上達到較好的效果。
專家k的輸出是輸入向量x和該神經(jīng)元突觸權值wk的內積,即
15)
門閥由單層的k個神經(jīng)元組成,每個神經(jīng)元被指派給一個特定的專家,通常其神經(jīng)元是非線性的,并定義門閥的激活函數(shù)如下:
16)
其中,uk是輸入向量x和突觸權值向量ak的內積,即
17)
對于給定的me模型和訓練樣本,訓練的目的使得式(2-6)整體誤差最小:
18)
其中,對于第l個樣本xl,yl網(wǎng)絡的實際輸出;dl表示期望輸出;l為訓練樣本的個數(shù)。
7、層次分析法
擇優(yōu)采用ahp綜合評價算法,根據(jù)ahp的層次結構將售電量預測結果擇優(yōu)問題按層次結構分為目標層、準則層及方案層:
目標層:包括1個目標,即選取最具預測性能的預測曲線。
準則層:包括3個評價指標:模型的訓練誤差、預測趨勢相似度和預測趨勢可信度。指標含義如下所示:
1)模型訓練誤差反映了預測模型模擬的趨勢和歷史售電量數(shù)據(jù)匹配的程度,如公式19)所示:
19)
其中q(j)是j時刻的歷史值,f(j)是j時刻的擬合值,n是擬合值個數(shù)。
2)預測趨勢相似度反映了預測模型當前預測結果與歷史售電量曲線形態(tài)的相似度,如公式20)所示:
20)
其中xj是歷史i時刻的真實值,yj是預測模型j時刻的預測值,
3)預測趨勢可信度是對預測模型當前預測結果符合歷史曲線趨勢變化的度量,如公式21)所示:
21)
其中r為預測的年度累計售電量與上一年歷史累計售電量之比,
方案層:包括4種方案,即svm、l1/2稀疏迭代回歸、極限學習機以及回聲狀態(tài)網(wǎng)絡四種算法下的售電量預測結果。
繼而構建目標層對準則層的判斷矩陣,并求取權重向量。
需要注意的是,ahp模型的判斷矩陣需要進行一致性檢驗。
需要說明的是,本說明書中的各個實施例均采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似的部分互相參見即可。
對所公開的實施例的上述說明,使本領域專業(yè)技術人員能夠實現(xiàn)或使用本發(fā)明。對這些實施例的多種修改對本領域的專業(yè)技術人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實施例中實現(xiàn)。因此,本發(fā)明將不會被限制于本文所示的這些實施例,而是要符合與本文所公開的原理和新穎特點相一致的最寬的范圍。