標籤:
上篇說明了分解非季節性資料的方法。就是通過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)
> birthcomponents <-decompose(birthstimeseries)> plot(birthcomponents)而當你需要剔除某個趨勢時(我們就去掉季節因素),我們可以運用減法去掉該因素,就是去掉季節性因素後的修正序列。>birthstimeseriesseasonallyadjusted<-birthstimeseries-birthcomponents$seasonal>plot(birthstimeseriesseasonallyadjusted)留下記錄,供日後複習應用。
R學習日記——分解時間序列(季節性資料)