時序數據中一般有很明顯的隨機或偏差成分,爲了辨明數據中的規律,畫出一條平滑曲線,該曲線消除或者減弱時序中不規則和其餘變更,呈現現象的 長期趨勢,最簡單的方法就是 簡單移動平均函數
其中 St 是時間點t的平滑值, k =2q +1 是每次用來平均觀測值的個數,通常咱們會將其設爲一個奇數,居中移動平均法的代價是,每一個時序集中咱們會損失最後的 (k-1)/2個觀測值spa
R中有幾個函數均可以作簡單的移動平均,包括 TTR包 中的 SMA()函數,zoo包中的 rollmean()函數,forecast() 包中的 ma() 函數code
#以下圖1 > library(forecast) > opar <- par(no.readonly=TRUE) > par(mfrow=c(2,2)) > ylim <- c(min(Nile), max(Nile)) > plot(Nile, main="Raw time series") > plot(ma(Nile, 3), main="Simple Moving Averages (k=3)", ylim=ylim) > plot(ma(Nile, 7), main="Simple Moving Averages (k=7)", ylim=ylim) > plot(ma(Nile, 15), main="Simple Moving Averages (k=15)", ylim=ylim) > par(opar)
圖1it