arma模型_Eviews經典案例 | 初學者必看!ARMA模型精講

【本期分析師介紹希音老師,《數據分析學堂》金牌分析師,對eviews的時間序列、ARMA、VAR、VECM、ARCH、GARCH等操作有深入的研究和實戰經驗,累計服務客戶1000+。今天邀請希音老師給大家分享eviews的詳細操作步驟。長文預警!可在文末聯系麻瓜學姐要PDF文檔,更方便閱讀,10G獨家干貨等你來拿!



AR-MA模型是一類常用的是隨機時序模型。由Box和Jenkins創立,亦稱B-J方法。它是一種精度較高的時序短期預測,其基本思想是,某些時間序列是依賴于時間t的一組隨機變量。構成該時序的單個序列制雖然具有不確定性。但整個序列的變化卻有一定的規律性。可以用相應的數學模型定制描述。通過對該數學模型的分析研究。能夠本質地認識時間序列的結構與特征,達到最小方差意義下的最優預測。本文章主要使用EVIews對構建ARMA模型,進行簡單認識,由于對于所有的平穩時間序列都可以轉化成MA形式。由于MA在可逆條件可以轉化成AR形式。所以我們對平穩時間序列可以使用ARMA形式構建模型,進行預測。一、?平穩性檢驗(單位根檢驗)Eviews有多重檢驗平穩性的單位根檢驗,本文采用ADF進行采用檢驗,采用某國1960-1993年的GNP平減指數的季度數據,共136個觀測值,首先對變量進行變換,得到其通貨膨脹率,在EVIEWS的命令行中輸入:
genr pi=d(log(p))
其中p指的是GNP指數,pi指的是通貨膨脹率,genr是generate的縮寫,為生成一個新變量,也可以使用series進行生成新變量,log(p)是自然對數函數,進行d(*),是指對變量*進行一階差分。
生成變量以后,選中變量pi,雙擊打開,點擊右上角的View,然后點擊Unit root test那一項,進入頁面圖如下:

312824d35ef8f0a45f7c05aeb8dd1903.png

其中test type為檢驗單位根的類型,我們選中ADF檢驗(默認狀態),在include in test equation這一項中為ADF檢驗的三種形式,lag length為滯后階數,一般采用系統默認,在test for unit root in是對原數據進行單位根檢驗(level),還是對一階差分進行單位根檢驗(1st difference),還是二階差分進行單位姑娘檢驗(2st difference),本文先對原數據進行差分。
關于三種形式,可以使用以下方法,分別對三種形式進行一一檢驗,只要有一個拒絕存在單位根的原假設,那就說明時間序列是平穩的。點擊ok以后,發現三種形式下p值大于0.1,不能拒絕原假設,因此原時間序列不平穩,下圖為帶有截距項的示例圖:

2b033b8356bfe2ee3a4fc25401d29809.png

然后再對一階差分下。進行單位根檢驗,檢驗結果發現,三種形式下的p值為0.0000因此拒絕存在單位根的原假設,所以一階差分以后的時間序列是平穩的,可以對其進行構建ARMA模型。下圖為帶有時間趨勢項和截距項的結果展示圖:

e91c162a258398c534f592ba5f6aa8ee.png

二、?確定ARMA中的最大滯后階數p和q采用畫樣本相關系數圖和偏自相關系數圖來確定,在雙擊打開pi后,點擊view,然后在點擊correlogram,進行畫相關圖的頁面:

4d8bd2f45f9ea16c8c831eb53a254537.png

由于我們已經確定原數據是不平穩的額,一階差分以后數據時平穩的,因此在這里使用第二個選項,對其一階差分以后的時間序列進行研究,點擊ok以后,出現如下相關圖:

18de9b02171e40fddd3e7110017d8803.png

左邊的為AC圖(自相關圖),PAC為右邊圖(偏自相關),確定最大滯后階數的法則為圖中的AC和PAC下方的小長方形的連續多少個超過兩條虛線(兩虛線被稱為隨機區間),圖中PAC下方可以明顯看出連續兩個超出隨機區間,因此可以采用Pmax為2,而AC下方的連續一個超出隨機區間,因此可以采用qma為1。三、?使用信息準則最小化原理確定最佳ARMA模型P的最大值為2,q的最大值為1,因此可以有以下4種組合ARMA(1,0),ARMA(1,1),ARMA(2,0),ARMA(2,1),通過信息準則篩選出最優模型,以下在EVIEWS命令行中輸入:Ls d(pi)ar(1)Ls?d(pi)?ar(1)?ma(1)Ls d(pi)ar(1)ar(2)Ls?d(pi)ar(1)ar(2)ma(1)以上是四種模型的回歸操作,這里對四種回歸結果進行展示,根據信息準則(在圖中為AIC,SC,HQ等),通過比較哪一個模型的這三個指標最小,就選哪一個模型,如果三個指標有大有小,采用投票原則,那個模型中三個指標最小的個數多就選那個。

00e382cf953152b17d8e326a16e8fc13.png

306eb5b30542e3c5bee7f04de192e1c4.png

0c6591661075626f732e79c50227aa0d.png

354f165a74c8a49cc529660130cf8830.png

有圖可以知道ARMA(2,1)模型中AIC,SC,HQ是最小的個數是最多的。因此采用ARMA(2,1)模型。四、?白噪聲檢驗在構建這個模型時,我們假設模型的誤差的序列無關的,因此我們有必要在構建模型以后進行誤差的序列相關性檢驗,以此來說明模型構建的良好,如果序列之間不存在序列相關性,我們就稱之為白噪聲,就是認為該序列已經沒有任何可以提取的信息了。對于白噪聲的檢驗,可以采用Q統計量的方法,具體操作如下圖:
在回歸以后的表中,點擊右上角的view,然后選中Residual diagnostics,在選第一個帶有Q的,點擊以后,選滯后階數,你可以自定義也可以默認,采用默認方式以后,得到下圖:

fb2e781e43d5ddfef79a7622393611b0.png

Q-star為Q統計量的值,prob為Q統計量的相伴概率,由于我們的樣本數為136,最大滯后階數m可以取[136/10]或者[],采用m為13,在表中尋找13行所對應的Q統計量和p值,分別為7.6396,0.664,。這個p值告訴我們在10%的顯著性水平之下,我們不能拒絕序列不存在相關性的原假設,因此可以認為最后的檢驗是序列是不存在相關性的,白噪聲檢驗通過,因此我們的模型時構建比較優良的。五、?短期預測預測分為樣本內預測和樣本內預測,預測的形式又可以分為靜態預測和動態預測,其中樣本內預測就是根據某種預測方式對其樣本內的一段時間子區間進行預測,然后通過對比預測值和真實值之間的差距,這可以用一些指標(比如RMSE,MAPE)來衡量預測的好與壞,樣本外需要先擴展樣本區間,在進行樣本外預測。靜態預測每一期時需要用到上期的真實值,而動態預測用到的是其預測值或者說是擬合值,所以靜態預測,一般只能預測樣本為1期,而動態預測不受限制。下面對預測進行簡單展示:
1.首先調整樣本數,雙擊Range,然后對出現的頁面中1993改成1994,這樣我們就準備連續預測四期;

2b6c5d1b6489ed8b8b4e775846bb6410.png


2.在回歸頁面表中,點擊forcast,然后出現以下頁面;

cf743afc00782215fec0baf742bea28b.png

由于我們是通過對pi的一階差分呢進行建立ARMA模型的,但是由于我們預測的是pi,即前面所說的通貨膨脹率,因此選中pi,然后series names中forecast name為pif,這是系統默認的,如果你想預測某個序列,那么預測出來以后的序列名會在元序列多一個f,當然你也可以自定義。然后是forecast sample,預測樣本區間選為1994第一季度到1994年第二季度,我們選中動態預測,dynamic forecast,之后點擊ok。
3.然后點擊工作區中的pif序列,打開以后,尋找最后四期,結果如下圖所示:

7af982423a9299979c70659dca9090e5.png

當然你也可以嘗試靜態預測,樣本內預測,其操作大體類似,本文就不再一一贅述。

往期推薦


SPSS經典案例 | 小白必看!方差分析、T檢驗、相關分析、因子分析,上財博士手把手教你套模板!

stata經典案例 | 初學者必看!面板數據、廣義矩估計、var模型、logit模型回歸詳細操作步驟

還在為畢業論文數據處理頭禿?!喏,秘籍給你,紅包也給你(文末有驚喜)

9af49f3f37bdfccf3783698d87e3f1e5.png

掃碼關注小數,每天一篇精選干貨!


[你長那么好看,文末點個在看再走唄】

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/534162.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/534162.shtml
英文地址,請注明出處:http://en.pswp.cn/news/534162.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

oracle活躍用戶,監控數據庫中的活躍用戶及其運行

該樓層疑似違規已被系統折疊 隱藏此樓查看此樓[sql] view plain copy print?set linesize 120 pagesize 66col c1 for a9col c1 heading "OS User"col c2 for a9col c2 heading "Oracle User"col b1 for a9col b1 heading "Unix PID"col b2 for…

c# 路徑下的最近文件夾_C#8.0的兩個有趣的新特性以及gRPC

最近每天忙著跑很多地方,回家就不想動了,沒什么心情寫東西。今天有空,稍微寫一點。下文中:關于C#語法特性的部分需要Visual Studio 2019支持。關于.NET Core的部分需要安裝.NET 3.0 Preview4,低版本或許也可以但我沒實…

alter table add column多個字段_ElementUI表格el-table表頭固定自適應高度解決方案

一、前言ElementUI、iView都以相同的方式提供了表格組件表頭固定的方法,即設置組件的height屬性。表頭固定很重要,就在于當表格數據項很多時,滾動條出現在表格組件內,而不是出現在表格組件外——這樣的優點在于,滾動瀏…

oracle ora 12011,執行oracle中的job報錯:ORA-12011:無法執行作業1

LZ在做一個job執行每天新增一個表的操作時,存儲過程運行沒問題,job也創建成功,但運行job時,卻報錯: ,后又用sys用戶登陸創建了同樣的存儲過程和job,結果可以執行成功。當時就猜測是權限問題。后…

e盤是否具有讀寫權限_輕松搭建MySQL主從復制、讀寫分離(雙機熱備)

主從復制: 當mysql數據庫的數據量太大的時候,查詢數據就很吃力了,無論怎么優化都會產生瓶頸,這時我們需要增加服務器設備來實現分布式數據庫,實現多機熱備份,要想實現多機的熱備,首先要了解主從…

linux運維之道基礎命令,Linux運維之道(7)——Linux管理類命令

(Linux)[系統管理]1. 目錄管理類命令1.1 cd命令格式:cd [-L|[-P [-e]] [-]] [dir]被你忽略的小知識:在這里科普一個小小的知識點,就是關于cd -為什么可以自由的在當前目錄和之前目錄相互切換?其實,在我們的 Shell 的環…

html畫圖代碼_python之matplotlib畫圖教程(2)

各位小表貝,你們的畫圖小老弟又來咯~上一次我們聊到了如何畫離散圖,這一次我們來點復雜的,準備好了么,系好安全帶,準備發車咯~滴滴~我們先來點比較簡單,那種易于上手的。如果現在我知道了兩個點的坐標&…

在linux上面找一個腳本,30個Linux Shell腳本經典案例

在學習Linux運維時,普遍反饋是:Linux Shell是一個很難的知識板塊。雖然大家都認真學,基本的語法也都掌握了,但有需求時,很難直接上手編程,要么寫了很久,要么寫不好!也有很多做運維很…

python圖像識別代碼_用Python進行簡單圖像識別(驗證碼)

這是一個最簡單的圖像識別,將圖片加載后直接利用Python的一個識別引擎進行識別 將圖片中的數字通過 pytesseract.image_to_string(image)識別后將結果存入到本地的txt文件中 #-*-encoding:utf-8-*- import pytesseract from PIL import Image class GetImageDate(ob…

linux 端口添加地址,linux – 綁定,網絡(接口)和多播地址有什么區別?

實際上你在這里混淆了三種方法.第一個是bind,用于將套接字綁定到指定的地址和端口.使用此方法基本上您打開一個udp-port并等待該地址上的此端口的數據.第二個是join-method,用于讓套接字加入指定的多播組.組播組的示例是224.0.0.1 – “所有主機”組播組 – 其針對同一網段上的…

c++ map初始化_Go學習每日一問(18)-map元素查找

每次學習并整理一個Golang的知識點,每天進步一點點。今天學習下go中的一個知識點:map元素查找日省吾身1.下面代碼中 A B 兩處應該怎么修改才能順利編譯?func main() { var m map[string]int //A m["a"] 1 if v : m["b&q…

linux運維需要哪些網絡知識,Linux運維學習筆記-網絡技術知識體系總結

jTemplates部分語法介紹1.{#if} {#if |COND|}..{#elseif |COND|}..{#else}..{#/if} Examples: {#if 2*816} good {#else} fail {# ...解密jQuery內核 DOM操作方法(二)html,text,val回顧下幾組DOM插入有關的方法 innerHTML 設置或獲取位于對象起始和結束標簽…

-bash: wget: 未找到命令_18個堪稱神器的命令行工具,高效運維必備

上期入口:24個 CSS 高級技巧合集提示:因公眾號不支持超鏈接,上圖所有項目地址,可在公眾號后臺回復關鍵字 “命令行工具” 獲取。thefuck命令行打錯了以后,打一個fuck就會自動糾正。GitHub:https://github.c…

linux編輯java文本,linux下的文本編輯器VI的使用命令

1、 移動光標H        #移到屏幕的左上角M         #移到屏幕的中間行開頭L          #移到屏幕的最后一行[         #移到文件開始位置 (雙擊)]         #移到文件結束位置(雙擊):n         #移到文件的第n行Ctrl b     …

python3.8.0安裝_Python3.8.0

Python3.8.0是一款廣受程序員歡迎的編程語言,也是面向對象的一款設計語言,Python以其語言的靈活和簡易性,具有非常簡捷而清晰的語法特點,在腳本工具、數據分析、web后端等等領域都有著優良的表現,收到了大家的廣泛應用…

linux系統proc目錄,快速了解Linux系統下的proc目錄

/proc/devices文件這個文件列出字符和塊設備的主設備號,以及分配到這些設備號的設備名稱。常用的命令為#cat /proc/devices(在調試驅動的時候這個還是有用的,可以通過lsmod查看驅動模塊是否加載)/proc/interrupts這個文件的每一行都有一個保留的中斷。每…

cv2.error: opencv(4.4.0)_【從零學習OpenCV 4】輪廓面積與長度

本文首發于“小白學視覺”微信公眾號,歡迎關注公眾號 本文作者為小白,版權歸人民郵電出版社發行所有,禁止轉載,侵權必究! 經過幾個月的努力,小白終于完成了市面上第一本OpenCV 4入門書籍《OpenCV 4開發詳解…

linux 腳本批量刪除,Linux Shell使用Bash腳本批量刪除文件

PHP每天生成一個存有系統要刪除的臨時文件的.out文件列表,由bash腳本逐行通過讀取.out文件(每一行代表一個待刪除的文件)挨個刪除,代碼如下(dl.sh): #!/bin/bash # Shell script utility to delete file. # You can call script as follows, …

python自定義安裝哪些不需要_【1】python模塊:自定義模塊的3種導入方式

一、定義 模塊就是用一堆的代碼實現了一些功能的代碼的集合,通常一個或者多個函數寫在一個.py文件里,而如果有些功能實現起來很復雜,那么就需要創建n個.py文件,這n個.py文件的集合就是模塊。如果不懂可以先看下面這篇博文&#xf…

linux mysql數據庫日志關閉,linux 怎樣恢復mysql數據庫日志

1、用dump命令備份數據庫。# mysqldump -u root -p dbfile > dbfile.sql2、用rsync從新服務器獲得備份的文件(SCP或WGET也可以)。# rsync -avr rootmyolddbserver:/home/mydumpfolder/dbfile.sql3、登陸新服務器的mysql客戶端。# mysql -u root -p4. 建立數據庫。mysql> …