R----簡述時間序列(ARIMA)
阿新 • • 發佈:2018-11-05
時間序列是指將同一統計指標的數值按時間先後的順序排列而成的數列,主要目的是用歷史資料預測未來。時間序列一般分為連續性和離散型,下面只講離散型。
我這裡主要講的是R中ARIMA模型(單積自迴歸移動平均)其中AR是自迴歸;MA是移動平均,具體推導很複雜就不詳述了。
白噪聲:均值,方差不隨時間變化的一種平穩的隨機過程
差分:時間序列中本期值與前一期值相減(有一階差分,高階差分)
差分就是把不平穩的序列變成平穩的序列(可多次差分 d 表示次數),再對差分後的資料求自相關係數p和偏自相關係數q。
R中實現:基礎包中的arima 函式
xu = ts(data,start=(1111),frequency=1)
cf = diff(xu,1|2…) 差分,後面是次數 得到d值
acf(cf); 得到p值
pacf(cf) ;得到q值
model = arima(xu,order=c(p,d,q))
summary(model)
library(forecast)
pred = forecast(model,h=5,level=c(99.5)); h是預測後面幾期,level是置信區間or pred <- forecast.Arima(data.fit,h=7,level=c(99.5))
plot(yuce)
yuce 輸出預測值
plot.forecast(pred)