天天看點

拓端資料tecdat|R語言ARIMA,SARIMA預測道路交通流量時間序列:季節性、周期性

本文從實踐角度讨論了季節性機關根。我們考慮一些時間序列 

拓端資料tecdat|R語言ARIMA,SARIMA預測道路交通流量時間序列:季節性、周期性

,例如道路上的交通流量,

1. 2.  
> plot(T,X,type="l")
3.  
> reg=lm(X~T)
4.  
> abline(reg,col="red")      
拓端資料tecdat|R語言ARIMA,SARIMA預測道路交通流量時間序列:季節性、周期性

如果存在趨勢,我們應該将其删除,然後處理殘差 

拓端資料tecdat|R語言ARIMA,SARIMA預測道路交通流量時間序列:季節性、周期性
  1. > Y=residuals(reg)
  2. > acf(Y,lag=36,lwd=3)
拓端資料tecdat|R語言ARIMA,SARIMA預測道路交通流量時間序列:季節性、周期性

我們可以看到這裡有一些季節性。第一個政策可能是假設存在季節性機關根,是以我們考慮 

拓端資料tecdat|R語言ARIMA,SARIMA預測道路交通流量時間序列:季節性、周期性

,我們嘗試找到ARMA模型。考慮時間序列的自相關函數,

  1. > Z=diff(Y,12)
  2. > acf(Z,lag=36,lwd=3)
拓端資料tecdat|R語言ARIMA,SARIMA預測道路交通流量時間序列:季節性、周期性

或偏自相關函數

拓端資料tecdat|R語言ARIMA,SARIMA預測道路交通流量時間序列:季節性、周期性

第一個圖可能建議MA(1),而第二個圖可能建議AR(1)時間序列。我們都嘗試。

1. 2.  
arima
3.  
Coefficients:
4.  
ma1 intercept
5.  
-0.2367 -583.7761
6.  
s.e. 0.0916 254.8805
7.   
8.  
sigma^2 estimated as 8071255: log likelihood = -684.1, aic = 1374.2      
拓端資料tecdat|R語言ARIMA,SARIMA預測道路交通流量時間序列:季節性、周期性

可以認為是白噪聲(如果您不确定,請嘗試 ​​Box-Pierce或Ljung-Box​​ 測試)。

1. 2.  
arima
3.  
Coefficients:
4.  
ar1 intercept
5.  
-0.3214 -583.0943
6.  
s.e. 0.1112 248.8735
7.   
8.  
sigma^2 estimated as 7842043: log likelihood = -683.07, aic = 1372.15      
拓端資料tecdat|R語言ARIMA,SARIMA預測道路交通流量時間序列:季節性、周期性

也可以視為白噪聲。到目前為止,我們有

拓端資料tecdat|R語言ARIMA,SARIMA預測道路交通流量時間序列:季節性、周期性

對于一些白噪聲 

拓端資料tecdat|R語言ARIMA,SARIMA預測道路交通流量時間序列:季節性、周期性

。這表明以下的SARIMA結構 

拓端資料tecdat|R語言ARIMA,SARIMA預測道路交通流量時間序列:季節性、周期性
1.   
2.  
arima
3.  
Coefficients:
4.  
ar1
5.  
-0.2715
6.  
s.e. 0.1130
7.   
8.  
sigma^2 estimated as 8412999: log likelihood = -685.62, aic = 1375.25      

現在,如果我們認為我們沒有季節性機關根,而在AR結構中隻是一個大的自回歸系數。讓我們嘗試類似

拓端資料tecdat|R語言ARIMA,SARIMA預測道路交通流量時間序列:季節性、周期性

自然而然的猜測是該系數應該(可能)接近于1。讓我們嘗試一下

1. 2.  
arima
3.  
Coefficients:
4.  
ar1 sar1 intercept
5.  
-0.1629 0.9741 -684.9455
6.  
s.e. 0.1170 0.0115 3064.4040
7.   
8.  
sigma^2 estimated as 8406080: log likelihood = -816.11, aic = 1640.21      

這與我們先前(以某種方式)獲得的結果具有可比性,是以我們可以假設該模型是一個有趣的模型。我們将進一步讨論:第一個系數可能是不重要的。

這兩個模型有什麼差別?

從(非常)長期的角度來看,模型是完全不同的:一個模型是平穩的,是以預測将趨向于平均值,而另一個模型則是按季節的,是以置信區間将增加。我們得到

> pre(model2,600,b=60000)      
拓端資料tecdat|R語言ARIMA,SARIMA預測道路交通流量時間序列:季節性、周期性

對于平穩的

> prev(model3,600,b=60000)      
拓端資料tecdat|R語言ARIMA,SARIMA預測道路交通流量時間序列:季節性、周期性

但是,使用這些模型進行的預測僅适用于短期範圍。在這種情況下,這裡的預測幾乎相同,

> pre(model2,36,b=60000)      
拓端資料tecdat|R語言ARIMA,SARIMA預測道路交通流量時間序列:季節性、周期性
> pre(model3,36,b=60000)      
拓端資料tecdat|R語言ARIMA,SARIMA預測道路交通流量時間序列:季節性、周期性

現在,如果我們回到第二個模型,自回歸系數可能被認為是不重要的。如果我們将其删除怎麼樣?

1. 2.  
Call:
3.  
seasonal = list(order = c(1, 0, 0)
4.  
Coefficients:
5.  
sar1 intercept
6.  
0.9662 -696.5661
7.  
s.e. 0.0134 3182.3017
8.   
9.      
  1. sigma^2 estimated as 8918630: log likelihood = -817.03, aic = 1640.07

如果我們看一下(短期)預測,我們得到

> pre(model,36,b=32000)      
拓端資料tecdat|R語言ARIMA,SARIMA預測道路交通流量時間序列:季節性、周期性

有什麼差別嗎?如果我們看一下預測結果數字,我們會得到

拓端資料tecdat|R語言ARIMA,SARIMA預測道路交通流量時間序列:季節性、周期性

數字不同,但差異不大(請注意置信區間的大小)。這可以解釋為什麼在R中,當我們在自回歸過程時 ,得到一個模型要估計的參數

拓端資料tecdat|R語言ARIMA,SARIMA預測道路交通流量時間序列:季節性、周期性

,即使其中不重要,我們通常也會保留它們來預測。