上篇說明了分解非季節性數據的方法。就是通過TTS包的SMA()函數進行簡單移動平均平滑。讓看似沒有規律或沒有趨勢的曲線變的有規律或趨勢。然后再進行時間序列曲線的回歸預測。
本次,開始分解季節性時間序列。
一個季節性時間序列中會包含三部分,趨勢部分、季節性部分和無規則部分。分解時間序列就是要把時間序列分解成這三部分,然后進行估計。
對於可以使用相加模型進行描述的時間序列中的趨勢部分和季節性部分,我們可以使用 R中的“decompose()” 函數來估計。這個函數可以估計出時間序列中趨勢的、季節性的和不規則的部分,而此時間序列須是可以用相加模型描述的。
“decompose()” 這個函數返回的結果是一個列表對象, 里面包含了估計出的季節性部分, 趨勢部分和不規則部分, 他們分別對應的列表對象元素名為“seasonal” 、 “trend” 、 和“random” 。
示例:紐約每月出生人口數量是在夏季有峰值、 冬季有低谷的時間序列。
> births <- scan("http://robjhyndman.com/tsdldata/data/nybirths.dat") Read 168 items > birthstimeseries <- ts(births, frequency=12, start=c(1946,1)) > ts.plot(birthstimeseries)