R语言-时间序列-arima模型-forecast、tseries包
生活随笔
收集整理的這篇文章主要介紹了
R语言-时间序列-arima模型-forecast、tseries包
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
最近初步接觸了下如何用R語言進行時間序列分析,自己動手寫了段小代碼。
首先呢是生成隨機觀測值,接著畫出時間序列圖,然后進行單根檢驗和用 ACF 和 PACF 指令分別畫出自相關數和偏自相關系數圖。
隨機觀測值生成我用了兩種,一種是迭代隨機生成,一種是用arima.sim函數生成一列符合arima(p,q)模型的數據。
install.packages("tseries") #安裝"tseries"包,僅需在首次運行時安裝 install.packages("forecast") #安裝"forecast"包,僅需在首次運行時安裝library('forecast') #調出"tseries"包 library('tseries') #調出"forecast"包funy <- function(t) {return(ifelse(t>0, 0.75+0.85*funy(t-1), t)) } #構造一個遞歸函數set.seed(1) #設定編號為1的隨機數種子,目的是下次重復時生成同樣的隨機數help u<-rnorm(500, mean=0, sd=1) #隨機生成500個服從正態分布的獨立同分布的白噪聲(均值為0,標準差為1)y<-vector()y<-vector() for(t in 1:500) {y[t]=funy(t)+u[t] } #循環調用遞歸函數和白噪聲生成函數,以生成500個觀測值mean(y) #計算均值E(yt) var(y) #計算方差Var(yt)plot.ts(y, col="blue", main="y變量的時間序列圖", xlab="t", ylab="y")adf.test(y, alternative="stationary") #adf單根驗定Acf(y, main='y-AC') #作自相關圖 Pacf(y, main='y-PAC') #作偏自相關圖install.packages("tseries") #安裝"tseries"包,僅需在首次運行時安裝 install.packages("forecast") #安裝"forecast"包,僅需在首次運行時安裝library('forecast') #調出"forecast"包 library('tseries') #調出"tseries"包set.seed(1) #設定編號為1的隨機數種子,目的是下次重復時生成同樣的隨機數 y <- 0.75+arima.sim(list(ar=0.85), sd = sqrt(1), n = 500) #創建一組500筆的觀測值 print(y)mean(y) #計算均值E(yt) var(y) #計算方差Var(yt)plot.ts(y, col="blue", main="y變量的時間序列圖", xlab="t", ylab="y")adf.test(y, alternative="stationary") #adf單根驗定Acf(y, main='y-AC') #作自相關圖 Pacf(y, main='y-PAC') #作偏自相關圖y.arima <- Arima(y, order=c(1,0,0)) #用Arima指令進行時間序列回歸,arima中的order參數是order(p,d,q),由(e)結果看出p=1 summary(y.arima)
總結
以上是生活随笔為你收集整理的R语言-时间序列-arima模型-forecast、tseries包的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: R语言-决策树-party包
- 下一篇: anaconda2-keras安装;ke