R語(yǔ)言分位數(shù)回歸、GAM樣條曲線、指數(shù)平滑和SARIMA對(duì)電力負(fù)荷時(shí)間序列預(yù)測(cè)
原文鏈接:http://tecdat.cn/?p=18359?
原文出處:拓端數(shù)據(jù)部落公眾號(hào)
?
電力負(fù)荷預(yù)測(cè)是電網(wǎng)規(guī)劃的基礎(chǔ),其水平的高低將直接影響電網(wǎng)規(guī)劃質(zhì)量的優(yōu)劣。為了準(zhǔn)確預(yù)測(cè)電力負(fù)荷,有必要進(jìn)行建模。本文在R語(yǔ)言中使用分位數(shù)回歸、GAM樣條曲線、指數(shù)平滑和SARIMA模型對(duì)電力負(fù)荷時(shí)間序列預(yù)測(cè)并比較。
用電量
本文使用的數(shù)據(jù)是1996年至2010年之間的每周用電量數(shù)據(jù),序列
load ("Load.RData")
plot (ts( data = Load , start= 1996 , frequency = 52) )
用電量變量及其影響因素:
?星期幾(離散)
?時(shí)間小時(shí)(離散或非參數(shù))
?年(連續(xù))
交互影響:
?日期和時(shí)間
?年份和時(shí)間
活動(dòng)
?公共假期
溫度對(duì)模型的影響:高溫、低溫和極冷溫度
?
模型:
分段線性函數(shù),
GAM模型中的樣條曲線
?
數(shù)據(jù)探索
時(shí)間對(duì)電力負(fù)荷的影響
> plot ( NumWeek , Load )
溫度對(duì)電力負(fù)荷的影響,(Tt,Yt)
> plot ( Temp , Load )
負(fù)荷序列(Yt)的自相關(guān)的影響,
> acf (Load )
?
OLS與 中位數(shù)回歸
?
中位數(shù)回歸通過單調(diào)變換是穩(wěn)定的。
?
lm(y?x, data =df)
lm(y?x, data =df , tau =.5)
現(xiàn)在,中位數(shù)回歸將始終有兩個(gè)觀察結(jié)果。
which ( predict ( fit ))
21 46
?
分位數(shù)回歸和指數(shù)平滑
簡(jiǎn)單的指數(shù)平滑:
經(jīng)典地,我們尋找使預(yù)測(cè)誤差最小的α,即
?
X=as. numeric ( Nile )
SimpleSmooth = function (a){
for (t in 2:T{L[t=a*X[t+(1 -a)*L[t -1
}lines ( SimpleSmooth (.2) ,col =" red ")
V= function (a){
for (t in 2:T){
L[t]=a*X[t]+(1 -a)*L[t -1]
erreur [t]=X[t]-L[t -1] }
return ( sum ( erreur ?2) )
optim (.5 ,V)$ par
[1] 0.2464844
hw= HoltWinters (X, beta =FALSE
hw$ alpha
[1] 0.2465579
我們可以考慮分位數(shù)誤差
HWtau = function ( tau ){
loss = function (e) e*(tau -(e< ;=0) *1)
V= function (a){
for (t in 2:T){
L[t]=a*X[t+(1 -a)*L[t -1
erreur [t=X[t-L[t -1
return ( sum ( loss ( erreur
optim (.5 ,V)$ par
plot (X, type ="b",cex =.6
lines ( SimpleSmooth ( HWtau (.8,col=" blue ",
lwd =2)
?
雙指數(shù)平滑
我們考慮分位數(shù)誤差
其中
。
hw= HoltWinters (X, gamma =FALSE ,l. start =X[1])
hw$ alpha
alpha
0.4223241
hw$ beta
beta
0.05233389
DouSmo = function (a,b){
for (t in 2:T){
L[t]=a*X[t+(1 -a*(L[t -1]+ B[t -1]
B[t]=b*(L[t]-L[t -1]) +(1 -b*B[t -1]
return (L+B)
?
預(yù)測(cè)
數(shù)理統(tǒng)計(jì)建立在對(duì)概率模型參數(shù)的估計(jì)和假設(shè)檢驗(yàn)的基礎(chǔ)上。
統(tǒng)計(jì)中的預(yù)測(cè):當(dāng)模型擬合觀測(cè)值時(shí),它會(huì)提供良好的預(yù)測(cè)。
相反,我們使用沒有出現(xiàn)過的場(chǎng)景,它使我們能夠評(píng)估未來的主要趨勢(shì),而不是預(yù)測(cè)極端事件的能力。
?
預(yù)測(cè)變量的構(gòu)造
?
plot (ts( data = Load $Load , start =
1996 , frequency = 52) ,col =" white "
回歸
plot (ts( data = Temp , start =
1996 , frequency = 52) ,
lines (ts( data = train $Temp , start =
1996 , frequency = 52) )
lines (ts( data = test $Temp , start =
1996+620 /52, frequency = 52)
?
?
SARIMA模型,s = 52
ARIMA = arima (z, order =c(1 ,0 ,0 ,seasonal =list ( order =c(0 ,1 ,0 ,period =52
plot ( forecast (ARIMA ,h =112 )
最受歡迎的見解
1.在python中使用lstm和pytorch進(jìn)行時(shí)間序列預(yù)測(cè)
2.python中利用長(zhǎng)短期記憶模型lstm進(jìn)行時(shí)間序列預(yù)測(cè)分析
3.使用r語(yǔ)言進(jìn)行時(shí)間序列(arima,指數(shù)平滑)分析
4.r語(yǔ)言多元copula-garch-模型時(shí)間序列預(yù)測(cè)
5.r語(yǔ)言copulas和金融時(shí)間序列案例
6.使用r語(yǔ)言隨機(jī)波動(dòng)模型sv處理時(shí)間序列中的隨機(jī)波動(dòng)
7.r語(yǔ)言時(shí)間序列tar閾值自回歸模型
8.r語(yǔ)言k-shape時(shí)間序列聚類方法對(duì)股票價(jià)格時(shí)間序列聚類
9.python3用arima模型進(jìn)行時(shí)間序列預(yù)測(cè)