溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

R基于ARIMA模型的方法怎么用

發(fā)布時間:2022-01-12 17:13:46 來源:億速云 閱讀:143 作者:iii 欄目:大數(shù)據(jù)

這篇文章主要介紹“R基于ARIMA模型的方法怎么用”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“R基于ARIMA模型的方法怎么用”文章能幫助大家解決問題。

1、平穩(wěn)性檢驗


繪制河南省社會消費品零售總額與年度關系的時序圖。從圖中可以看出,社會消費品零售總額隨時間的變化逐年增加。
R基于ARIMA模型的方法怎么用
圖1 原始序列的時序圖
R基于ARIMA模型的方法怎么用
圖2 原始序列的自相關圖
做出了原始序列的自相關圖,并作出兩條輔助的虛線,由圖像可以明顯看出,系數(shù)長期大于零,序列間的相關性很強。
R基于ARIMA模型的方法怎么用
接下來做單位根檢驗,我們得到的p值大于0.05,這我們可以說序列是不顯著的,由此判斷該序列為非平穩(wěn)的。

 

2、差分運算

第一步要對最初的序列進行一階差分后,可得到所要研究的最初序列是不平穩(wěn)。
R基于ARIMA模型的方法怎么用
圖3 原始序列一階差分圖
對最初序列進行一階差分后,發(fā)現(xiàn)最初序列表現(xiàn)為不平穩(wěn)的,接下來,接著對于最初的序列做二階差分。
R基于ARIMA模型的方法怎么用
圖4 原始序列二階差分圖  
二階差分之后序列的時序圖在均值附近比較平穩(wěn)的波動我們可以判斷為其序列為平穩(wěn)序列,那么我們可以接著作平穩(wěn)性檢驗。
R基于ARIMA模型的方法怎么用
圖5 二階差分之后序列的自相關圖  
做出直觀的圖像如上所示,我們另外做兩條虛線的輔助線,通過對比,我們看到,二階差分之后序列的自相關圖有短期相關性。
R基于ARIMA模型的方法怎么用
二階差分后,我們再次做單位根檢驗以驗證模型是否平穩(wěn),二階差分后序列的單位根檢驗的結果如上所示,我們看到,此時p值是小于0.05的,我們得出該模型顯著,二階差分后的序列是平穩(wěn)序列。  
   
   
   二階差分后繼續(xù)做白噪聲的檢驗,檢驗的數(shù)據(jù)結果如下。
R基于ARIMA模型的方法怎么用
我們得出,此時的p值為0.004043,顯然,該結果小于顯著性水平,因此由上面的數(shù)據(jù)結果,我們可以得出一階差分之后的序列是平穩(wěn)非白噪聲序列,所以,我們可以作接下來的檢驗。  

 

3、模型定階

那么接下來開始對于ARMA模型進行擬合,那么擬合的方式是通過構造平穩(wěn)白噪聲序列進行趨勢擬合,這樣我們可以得到p和q的數(shù)值,確定了模型的擬合數(shù)值,最后的話進行模型定階。  
第一步開始做出模型的偏自相關圖。
R基于ARIMA模型的方法怎么用
圖6 二階差分后序列的偏自相關圖  
做出二階差分后序列的偏自相關圖如上所示,首先,做出一條虛的輔助線,可以明顯的看出,該序列具有一階截尾和偏自相關圖拖尾性,構建ARIMA(0,1,1)模型進行模型分析以及研究。
并計算BIC信息量的值,用BIC值最小的數(shù),進行模型定階。BIC圖如下。
R基于ARIMA模型的方法怎么用
圖7 BIC圖  
通過BIC最小原則,對原始序列建立ARIMA(1,1,0)模型。

 

4、ARIMA模型預測

應用ARIMA(1,1,0)的時間序列模型預測河南省社會消費品未來5年的零售總額,得出2019~2023年河南省社會消費品的零售總額分別為21166.3、21517.8、21734.4、21867.7、21949.8億元,并且,從預測圖像上可以看出,河南省社會消費品的零售總額的數(shù)值隨時間的增加逐年增加。
R基于ARIMA模型的方法怎么用
圖8 社會消費品零售總額預測圖
#ARIMA模型R程序library(forecast)library(fUnitRoots)Data <- read.csv("C:\\Users\\27342\\Desktop\\河南省社會消費品零售總額數(shù)據(jù).csv", header = TRUE)[, 2]sales <- ts(Data)plot.ts(sales, xlab = "年份", ylab = "社會消費品零售總額/億元")# 單位根檢驗unitrootTest(sales)# 自相關圖acf(sales)# 一階差分difsales <- diff(sales)plot.ts(difsales, xlab = "年份", ylab = "社會消費品零售總額/億元")# 二階差分difsales <- diff(difsales)plot.ts(difsales, xlab = "年份", ylab = "社會消費品零售總額/億元")# 自相關圖acf(difsales)# 單位根檢驗unitrootTest(difsales) # 白噪聲檢驗Box.test(difsales,type="Ljung-Box")# 偏自相關圖pacf(difsales)# ARIMA(1,1,0)模型arima <- arima(sales, order = c(1, 1,0))arima #河南省社會消費品零售總額預測forecast <- forecast(arima, h = 5, level= c(99.5))forecast library(TSA)Data <-read.csv("C:\\Users\\27342\\Desktop\\河南省社會消費品零售總額數(shù)據(jù).csv", header = TRUE)[, 2]sales <- ts(Data)plot.ts(sales, xlab = "年份", ylab = "社會消費品零售總額/億元")# 一階差分difsales <- diff(sales) # 二階差分difsales <- diff(difsales) # BIC圖res <- armasubsets(y = difsales, nar =5, nma = 5, y.name = 'test',ar.method = 'ols')plot(res)

關于“R基于ARIMA模型的方法怎么用”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識,可以關注億速云行業(yè)資訊頻道,小編每天都會為大家更新不同的知識點。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI