本實驗使用r的fecofin包中的cpi.dat資料集。cpi是乙個經季節調整的美國消費**指數,此資料是月度的。
資料載入方法:
首先安裝該資料所在包:install.packages("fecofin", repos="")
載入資料:originaldata=cpi.dat
應用arima(p,i,q)對1977/1到1987/12月的資料建模,確定arima模型三個引數p,q,i的取值。
應用arima(p,i,q)對1977/1到1987/12月的資料建模,且**之後5個月的cpi值,並計算出相應誤差
#rm(list=ls())
#setwd("d:/auniversity/gamedesign/r/project/arima")
#library(forecast)
#library(funitroots)
#library(fecofin)
#繪製時間-cpi座標圖
data=cpi.dat
cpi=ts(data$cpi)
plot.ts(cpi,xlab="時間",ylab="cpi")
#單位根檢驗
unitroottest(cpi)
#自相關圖
acf(cpi)
#一階差分
difsales1=diff(cpi)
plot.ts(difsales1,xlab="時間",ylab="cpi殘差")
#自相關圖
acf(difsales1)
#單位根檢驗
unitroottest(difsales1)
#二階差分
difsales2=diff(difsales1)
plot.ts(difsales2,xlab="時間",ylab="cpi殘差")
#自相關圖
acf(difsales2)
#單位根檢驗
unitroottest(difsales2)
# #三階差分
# difsales3=diff(difsales2)
# plot.ts(difsales3,xlab="時間",ylab="cpi殘差")
# #自相關圖
# acf(difsales3)
# #單位根檢驗
# unitroottest(difsales3)
#白雜訊檢驗
box.test(difsales2,type="ljung-box")
pacf(difsales2)
#bic圖
library(tsa)
res=armasubsets(y=difsales1,nar=5,nma=5,y.name='test',ar.method='ols')
plot(res)
#p=1,q=3,i=2
#arima(1,2,3)模型
R語言 時間序列arima模型
t c a1 yt 1 a2y t 2 apyt p t b1 t 1 b2 t 2 bq t qyt c a1yt 1 a2yt 2 apyt p t b1 t 1 b2 t 2 bq t qtyt t t l yt c l t l yt c l t l 1 a1l a2l2 apl p l 1 ...
R 簡述時間序列(ARIMA)
時間序列是指將同一統計指標的數值按時間先後的順序排列而成的數列,主要目的是用歷史資料 未來。時間序列一般分為連續性和離散型,下面只講離散型。我這裡主要講的是r中arima模型 單積自回歸移動平均 其中ar是自回歸 ma是移動平均,具體推導很複雜就不詳述了。白雜訊 均值,方差不隨時間變化的一種平穩的隨...
R語言 時間序列的建立及時間序列模型
一 時間序列的建立 時間序列的建立函式為 ts 函式的引數列表如下 ts data na,start 1,end numeric frequency 1,deltat 1,ts.eps getoption ts.eps class names 引數說明 data 這個必須是乙個矩陣,或者向量,再或者...