一個有時間性質的數據要如何進行預測,通常我們分大概三個方向季節性、趨勢跟隨機變異。
舉個例子來說吧!聖誕節商品的銷售量:一定是聖誕節前賣得特別的好(季節性商品),那我就應該要有辦法建立一個具有規律性的模型去預測這件事情。再來就是這家公司日新又新,因此業績有不斷向上的趨勢。不過難保不出意外,天有不測風雲,天災人禍無法預測以及避免,因此多少有隨機變異。
在既有的時間序列模型當中,主要都是在做這件事情,把這些季節性、趨勢跟隨機變異分開討論並且合在一起進行預測。在學校學到的便是ARIMA模型,由分差(數字-上一個數字)以及季節性(平移的平均)組成的模型。
這個模型當年我在學校是做股市預測的,雖然規則上很簡單,透過自迴歸(每個自己都減去上一個自己)跟計算滑動平均,但其實在大公司當中(公司穩定),是有一定的準度的。這次拿來做每個車站的進出站人次,不知道能有什麼樣的發現。
除了ARIMA模型以外還會再額外介紹 Prophet預測模型,它具有突變點、大事件等ARIMA無法做到的功能(具體怎麼做到的我也不知道),我也很期待!
我選了關山出站的資料來看
w = qq[,"關山"]
plot.ts(w)
經過季節性分解之後發現有滿明顯的變化的
apts <- ts(w, frequency = 12)
#季節性分解
f <- decompose(apts)
print(f$figure)
plot(f$figure, type = "b", xaxt="n", xlab = "")
monthNames <- months(ISOdate(2005,1:12,1))
axis(1,at=1:12, labels = monthNames, las=2)
plot(f)
在趨勢上的確有趨勢,季節性上感覺也很有節奏
之後可能會先拿關山的出站資料做簡單的分析。
這四天在北海道員工旅遊,餵熊、吃螃蟹、泡溫泉,還挺不錯的。