㈠ 什麼是ARMA模型
ARMA 模型(Auto-Regressive and Moving Average Model)是研究時間序列的重要方法,由自回歸模型(簡稱AR模型)與滑動平均模型(簡稱MA模型)為基礎「混合」構成。在市場研究中常用於長期追蹤資料的研究,如:Panel研究中,用於消費行為模滲清喊式變遷研究;在零售研究中,用於具有季節變動特徵的銷售量正肆、市場規模的預測等。 ARMA模型三種基本形式 1.自回歸模型(AR:Auto-regressive); 如果時間序列yt滿足 其中εt是獨立同分布的隨機變數序列,且滿足: E(εt) = 0 則稱時間序列為yt服從p階的自回歸模型。 自回歸模型的平穩條件: 滯後運算元多項式的根均在單位圓外,即φ(B) = 0的根大於1。 2.移動平均模型(MA:Moving-Average) 如果時間序列yt滿足 則稱時間序列為yt服從p階移動平均模型; 移動平均模型平穩條件:任何條件下都平穩。 3.混合模型(ARMA:Auto-regressive Moving-Average) 如果時間序列yt滿足: 則稱時間叢野序列為yt服從(p,q)階自回歸滑動平均混合模型。 或者記為φ(B)yt = θ(B)εt
㈡ 時間序列筆記-ARMA模型(一)
在datacamp網站上學習「 Time Series with R 」track
「ARIMA Modeling with R」課程 做的對應筆記。
學識有限,錯誤難免,還請不吝賜教。
從本次筆記開始臘弊緩學習的課程從「Introction to Time Series Analysis」變為「ARIMA Modeling with R」了,主要用 astsa 包。
如無特殊說明,筆記中所使用數據均來自datacamp課程。
ARMA模型擬分為(一)(二)兩部分發布,第一部分主要包括ARMA模型簡介,模擬ARMA數據、擬合ARMA模型,單純的AR模型或MA模型的定階。第二部分主要包括ARMA模型的定階策略、模型選擇、殘差分析。模型預測部分見ARIMA模型的筆記。
Wold證明了任何平穩的時間序列都可以表示成白雜訊的線性組合:
其中 為常數,W表示白雜訊。
所有ARMA模型都具有這個形式,這意味著ARMA模型很適合擬合平穩的時間序列。
ARMA模型即自回歸滑動平均模型(Autoregressive moving average model),是由自回歸模型(簡稱AR模型)與移動平均模型(簡稱MA模型)為基礎「混合」構成。
AR模型的基本形式: ( 為白雜訊)
MA模型的基本形式: ( 為白雜訊)
ARMA模型的基本形式: ,自相關且有著具有相關性的誤差
可以用arima.sim(model = , n = , ...)函數產生ARMA模型的模擬數據,其中:
本課程中使用astsa包中的sarima()函數對數據進行模型擬合。使用該函數時除了需要輸入數據外還要給出ARIMA模型的三個參數:AR階數p,差分階數d,MA階數q。(d我們目前暫不涉及)
使用時sarima(x, p = 1, d = 0, q = 0)可以簡寫為sarima(x, 1, 0, 0)
例:
sarima()函數的主要輸出結果包括:回歸系數的參數估計結果;自由度;模型參數估計及其是否為0的t檢驗結果;衡量模型擬合效果的一些判斷指標(AIC BIC等)。此外還會自動輸出一張內含4張圖的殘差診斷圖,在後面的講解中再詳細說:
AR階數為p,MA階數為q的ARMA模型記為ARMA(p,q)。在擬合ARMA模型時需要指定p、q的值。如卜碰何確定p、q的值就是ARMA模型的定階問題。
一個常用的定階方法是利用ACF圖和PACF圖(自相關圖和偏自相關圖),不同模型的ACF、PACF圖表現見下表輪模:
ACF(自相關函數)在 時間序列筆記-自相關 中有講解。
偏自相關函數(PACF)之前沒有提到過,它是去除 等的影響後, 和 之間的相關系數。
利用astsa包的acf2()函數可以同時畫出時間序列數據的ACF圖和PACF圖.
下面的例子分別生成AR(1),AR(2),MA(1)模型的數據(分別對應x,y,z數據),並查看對應的ACF圖和PACF圖:
單純的AR或MA模型根據ACF和PACF圖還是比較容易定階的,但p、q均不為0的ARMA模型定階就沒這么簡單了,詳見下一個筆記。
㈢ 數據分析技術:時間序列分析的AR/MA/ARMA/ARIMA模型體系
前面草堂君已經按照時間序列分析的教學順序推送了以下文章,大家可以直接點擊下方文章名稱閱讀回顧:
在以上這些文章中,介紹了什麼是時間序列以及時間序列分析的作用、時間序列的描述、時間稿信序列的變動成分組成、如何用指數平滑模型分析帶有長期趨勢和季節變動兩種變動成分的時間序列。可惜的是,事實總比想像來得復雜,很多時間序列的變動成分組成並不能直接通過時間序列圖看出來,這個時候,通過時間序列分解的方法分析時間序列就不太合適了,而且准確性也會大打折扣。
因為傳統時間序列分析技術(時間序列分解法)的缺陷,所以統計學家開發出更為通用的時間序列分析方法,其中AR/MA/ARMA/ARIMA在這個發展過程中扮演了非常重要的角色,直到現在,它們都在實際工作生活中發揮重要作用。這四種分析方法的共同特點都是跳出變動成分的分析角度,從時間序列本身出發,力求得出前期數據與後期數據的量化關系,從而建立前期數據為自變數,後期數據為因變數的模型,達到預測的目的。來個通俗的比喻,大前天的你、前天的你、昨天的你造就了今天的你。
雖然AR/MA/ARMA/ARIMA是四種可以獨立使用的分析方法,但是它們其實是互補的關系,適用於包含不同變動成分的時間序列。由於這四種分析方法涉及的原理解釋起來需要大量篇幅,所以草堂君在這里做通俗介紹。
通俗介紹四種時間序列分析法之前,需要先回顧前面介紹的一個知識點,平穩時間序列和非平穩時間序列,AR/MA/ARMA用於分析平穩時間序列,ARIMA通過差分可以用於處理非平穩時間序列。平穩時間序列和非平穩時間序列如下面兩幅圖所示:
一般具有長期趨勢的時間序列都是非平穩時間序列。根據趨勢的不同,可以使用差分將具有長期趨勢的時間序列轉換成平穩時間序列知帶。例如,線性增長的長期趨勢,可以通過一階差分形成新的平穩的(消除長期趨勢)時間序列:
例如,時間序列的數值為線性增長的(1,2,3,4,5,6,7,8),經過一階差分以後,新的時間序列的數值為(1,1,1,1,1,1,1),就成為穩定的時間序列了。
根據長期趨勢的發展趨勢不同,可以進行差分的次數和方法也不相同,一般的規律如下:
這四種模型的名稱都是它們英文全稱的縮寫。AR模型稱為自回歸模型(Auto Regressive model);MA模型稱為移動平均模型(Moving Average model);ARMA稱為自回歸移動平均模型(Auto Regressive and Moving Average model);ARIMA模型稱為差分自回歸移動平均模型。
如果某個時間序列的任意數值可以表示成下面的回歸方程,那麼該時間序列服從p階的自回歸過程,可以表示為AR(p):
可以發現,AR模型利用前期數值與後期數值的相關關系(自相關),建立包含前期數值和後期數值的回歸方程,達到預測的目的,因此成為自回歸過程。這里需要解釋白雜訊,大家可以將白雜訊理解成時間序列數值的隨機波動,這些隨機波動的總和會等於0,例如前面統計基礎文章中介紹的,某條餅乾的自動化生產線,要求每包餅干為500克,但是生產出來的餅干產品由於隨機因素的影響,不可能精確的等於500克,而是會在500克上下波動,這些波動的總和將會等於互相抵消等於0。
如果某個時間序列的任意數值可以表示成下面的回歸方程,那麼該時間序列服從q階的移動平均過程,可以表示為MA(q):
可以發現,某個時間點的指標數值等於白雜訊序列的加權和,如果回歸方程中,白雜訊只有兩項,那麼該移動平均過程為2階移動平均過程MA(2)。比較自回歸過程和移動平均過程可知,移動平均過程其實可以作為自回歸過程的補充,解決自回歸方差中白雜訊的求解問題,兩者的組合就成為自回歸移動平均過程,稱為ARMA模型。
自回歸移動平均模型由兩部分組成:自回歸部分和移動平均部分,因此包含兩個階數,可以表示為ARMA(p,q),p是自回歸階數,鍵猛輪q為移動平均階數,回歸方程表示為:
從回歸方程可知,自回歸移動平均模型綜合了AR和MA兩個模型的優勢,在ARMA模型中,自回歸過程負責量化當前數據與前期數據之間的關系,移動平均過程負責解決隨機變動項的求解問題,因此,該模型更為有效和常用。
介紹時間序列平穩性時提到過,AR/MA/ARMA模型適用於平穩時間序列的分析,當時間序列存在上升或下降趨勢時,這些模型的分析效果就大打折扣了,這時差分自回歸移動平均模型也就應運而生。ARIMA模型能夠用於齊次非平穩時間序列的分析,這里的齊次指的是原本不平穩的時間序列經過d次差分後成為平穩時間序列。
在現實生活中,存在很多非平穩的時間序列,它們的均值和方差是隨著時間的變化而變化的,幸運的是,統計學家們發現,很多時間序列本身雖然不平穩,但是經過差分(相鄰時間點的指標數值相減)之後,形成的新時間序列就變成平穩時間序列了。因此,差分自回歸移動平均模型寫成ARIMA(p,d,q)。p代表自回歸階數;d代表差分次數;q代表移動平均階數。在spss軟體中,有時輸出的ARIMA模型包括6個參數:ARIMA(p,d,q)(P,D,Q),這是因為如果時間序列中包含季節變動成分的話,需要首先將季節變動分解出來,然後再分別分析移除季節變動後的時間序列和季節變動本身。這里小寫的p,d,q描述的是移除季節變動成分後的時間序列;大寫的P,D,Q描述的是季節變動成分。兩個部分是相乘的關系。因此,ARIMA(p,d,q)(P,D,Q)也被稱為復合季節模型。
時間序列分析的文章更新到這里,總共介紹了兩個時間序列分析的體系:時間序列分解模型體系和AR/MA/ARMA/ARIMA模型體系。兩者的分析原理是不同的,時間序列分解是力求將時間序列分解成不同的變動成分,分析每種變動成分的規律,然後在綜合各種成分的規律用於預測;AR/MA/ARMA/ARIMA模型體系是從時間序列數值本身的相關關系出發,將移動平均技術、相關分析技術和平穩技術(差分)等納入模型,力求建立時間序列數值之間的回歸方程,從而達到預測的目的。
下篇推送將重點介紹ARIMA模型的分析原理:包括如何確定p,d,q參數;如何判斷模型的擬合效果;如何利用SPSS做時間序列的ARIMA模型分析。
㈣ 時間序列分析模型——ARIMA模型
姓名:車文揚 學號:16020199006
【嵌牛導讀】:什麼是 ARIMA模型
【嵌牛鼻子】: ARIMA
【嵌牛提問】: ARIMA模型可以具體應用到什麼地方?
【嵌牛正文】:
一扒含、研究目的
傳統的經濟計量方法是以經濟理論為基礎來描述變數關系的模型。但經濟理論通常不足以對變數之間的動態聯系提供一個嚴密的說明,而且內生變數既可以隱此改出現在方程的左端又可以出現在方程的右端使得估計和推斷變得更加復雜。為了解決這些問題而出現了一種用非結構方法來建立各個變數之間關系的模型,如向量自回歸模型(vector autoregression,VAR)和向量誤差修正模型(vector error correction model,VEC)。
在經典的回歸模型中,主要是 通過回歸分析來建立不同變數之間的函數關系(因果關系),以考察事物之間的聯系 。本案例要討論如何 利用時間序列 數據本身建立模型,以研究事物發展自身的規律 ,並據此對事物未來的發展做出預測。研究時間序列數據的意義:在現實中,往往需要研究某個事物其隨時間發展變化的規律。這就需要通過研究該事物過去發展的歷史記錄,以得到其自身發展的規律。在現實中很多問題,如利率波動、收益率變化、反映股市行情的各種指數等通常都可以表達為時間序列數據,通過研究這些數據,發現這些經濟變數的變化規律(對於某些變數來說,影響其發展變化的因素太多,或者是主要影響變數的數據難以收集,以至於難以建立回歸模型來發現其變化發展規律,此時,時間序列分析模型就顯現其優勢——因為這類模型不需要建立因果關系模型,僅需要其變數本身的數據就可以建模),這樣的一種建模方式就屬於時間序列分析的研究范疇。而時間序列分析中,ARIMA模型是最典型最常用的一種模型。
二、ARIMA模型的原理
1、ARIMA的含義。 ARIMA包含3個部分,即AR、I、MA。AR——表示auto regression,即自回歸模型;I——表示integration,即單整階數,時間序列模型必須是平穩性序列才能建立計量模型,ARIMA模型作為時間序列模型也不例外,因此首先要對時間序列進行單位根檢驗,如果是非平穩序列,就要通過差分來轉化為平穩序列,經過幾次差分轉化為平穩序列,就稱為幾階單整;MA——表示moving average,即移動平均模型。可見,ARIMA模型實際上是AR模型和MA模型的組合。
ARIMA模型與ARMA模型的區別:ARMA模型是針對平穩時間序列建立的模型。ARIMA模型是針對非平穩時間序列建模。換句話說,非平穩時間序列要建立ARMA模型,首先需要經過差分轉化為平穩時間序列,然後建立ARMA模型。
2、ARIMA模型的原理。 正如前面介紹,ARIMA模型實際上是AR模型和MA模型的組合。
AR模型的形式如下:
其中:參數為常數,是階自回歸模型的系數;為自回歸模型滯後階數;是均值為0,方差為的白雜訊序列。模型記做——表示階自回歸模型。
MA模型的形式如下:
其中:參數為常數;參數是階移動平均模型的系數;為移動平均模型滯後階數;是均值為0,方差為的灶判白雜訊序列。模型記做——表示階移動平均模型。
ARIMA模型的形式如下:
模型記做。為自回歸模型滯後階數,為時間序列單整階數,為階移動平均模型滯後階數。當時,,此時ARIMA模型退化為MA模型;當時,,ARIMA模型退化為AR模型。
3、建立ARIMA模型需要解決的3個問題。 由以上分析可知,建立一個ARIMA模型需要解決以下3個問題:
(1)將非平穩序列轉化為平穩序列。
(2)確定模型的形式。即模型屬於AR、MA、ARMA中的哪一種。這主要是通過 模型識別 來解決的。
(3)確定變數的滯後階數。即和的數字。這也是通過 模型識別 完成的。
4、ARIMA模型的識別
ARIMA模型識別的工具為自相關系數(AC)和偏自相關系數(PAC)。
自相關系數: 時間序列滯後k階的自相關系數由下式估計:
其中是序列的樣本均值,這是相距k期值的相關系數。稱為時間序列的自相關系數,自相關系數可以部分的刻畫一個隨機過程的形式。它表明序列的鄰近數據之間存在多大程度的相關性。
偏自相關系數: 偏自相關系數是在給定的條件下,之間的條件相關性。其相關程度用偏自相關系數度量。在k階滯後下估計偏自相關系數的計算公式為:
其中是在k階滯後時的自相關系數估計值。稱為偏相關是因為它度量了k期間距的相關而不考慮k-1期的相關。如果這種自相關的形式可由滯後小於k階的自相關表示,那麼偏相關在k期滯後下的值趨於0。
識別:
AR(p) 模型 的自相關系數是隨著k的增加而呈現指數衰減或者震盪式的衰減,具體的衰減形式取決於AR(p)模型滯後項的系數;AR(p)模型的偏自相關系數是p階截尾的。因此可以通過識別AR(p)模型的偏自相關系數的個數來確定AR(p)模型的階數p。
MA(q) 模型 的自相關系數在q步以後是截尾的。MA(q)模型的偏自相關系數一定呈現出拖尾的衰減形式。
ARMA(p,q) 模型 是AR(p)模型和MA(q)模型的組合模型,因此ARMA(p,q)的自相關系數是AR(p)自相關系數和MA(q)的自相關系數的混合物。當p=0時,它具有截尾性質;當q=0時,它具有拖尾性質;當p,q都不為0,它具有拖尾性質。
通常,ARMA(p,q)過程的偏自相關系數可能在p階滯後前有幾項明顯的 尖柱 ,但從p階滯後項開始逐漸趨於0;而它的自相關系數則是在q階滯後前有幾項明顯的 尖柱 ,從q階滯後項開始逐漸趨於0。
三、數據和變數的選擇
本案例選取我國實際GDP的時間序列建立ARIMA模型,樣本區間為1978—2001。數據來源於國家統計局網站上各年的統計年鑒,GDP數據均通過GDP指數換算為以1978年價格計算的值。見表1:
表1:我國1978—2003年GDP(單位:億元)
年度GDP年度GDP年度GDP
19783605.6198610132.8199446690.7
19794074198711784.7199558510.5
19804551.3198814704199668330.4
19814901.4198916466199774894.2
19825489.2199018319.5199879003.3
19836076.3199121280.4199982673.1
19847164.4199225863.7200089340.9
19858792.1199334500.7200198592.9
四、ARIMA模型的建立步驟
1、單位根檢驗,確定單整階數。
由單位根檢驗的案例分析可知,GDP時間序列為2階單整的。即d=2。通過2次差分,將GDP序列轉化為平穩序列 。利用序列來建立ARMA模型。
2、模型識別
確定模型形式和滯後階數,通過自相關系數(AC)和偏自相關系數(PAC)來完成識別。
首先將GDP數據輸入Eviews軟體,查看其二階差分的AC和PAC。打開GDP序列窗口,點擊View按鈕,出現下來菜單,選擇Correlogram(相關圖),如圖:
打開相關圖對話框,選擇二階差分(2nd difference),點擊OK,得到序列的AC和PAC。(也可以將GDP序列先進行二階差分,然後在相關圖中選擇水平(Level))
從圖中可以看出,序列的自相關系數(AC)在1階截尾,偏自相關系數(PAC)在2階截尾。因此判斷模型為ARMA模型,且,。即:
3、建模
由以上分析可知,建立模型。首先將GDP序列進行二次差分,得到序列。然後在Workfile工作文件簿中新建一個方程對話框,採用 列表法 的方法對方程進行定義。自回歸滯後項用ar表示,移動平均項用ma表示。本例中自回歸項有兩項,因此用ar(1)、ar(2)表示,移動平均項有一項,用ma(1)表示,如圖:
點擊確定,得到模型估計結果:
從擬合優度看,,模型擬合效果較好,DW統計量為2.43,各變數t統計量也通過顯著性檢驗,模型較為理想。對殘差進行檢驗,也是平穩的,因此判斷模型建立正確。
㈤ 時間序列筆記-ARMA模型(二)
在datacamp網站上學習「 Time Series with R 」track
「ARIMA Modeling with R」課程 做的對應筆記。
學識有限,錯誤難免,還請不吝賜教。
學習的課程為「ARIMA Modeling with R」,主要用 astsa 包。
如無特殊說明,筆記中所使用數據均來自datacamp課程。
ARMA模型擬分為(一)(二)兩部分發布,第一部分主要包括ARMA模型老埋鋒簡介,模擬ARMA數據、擬合ARMA模型,單純的AR模型或MA模型的定階。第二部分主要包括ARMA模型的定階策略、模型選擇、殘差分析。模型預測部分見ARIMA模型的筆記。
在 時間序列筆記-ARMA模型(一) 中,我們提到如果數據符合單純AR或MA模型,則根據ACF和PACF圖的截尾情況可以比較方便的確定AR階數或MA階數:
但是如果p q都不為0,那麼ACF和PACF圖均為拖尾表現,p、q的值就無侍晌法一眼看出來了,例如我們模擬一個ARMA數據:
可以看出,從ACF和PACF圖中很難判斷p q的值。
推薦的定階策略:從最低階開始擬合模型,每次增加一個參數並觀察擬合結果的變化。
根據推薦的定階策略,我們實際上要擬合很多不同模型,根據擬合結果從中選擇最優模型作為最終模型。判斷模型擬合優劣的指標有很多,這里我們簡單介紹2個最為常用的指標:AIC BIC
簡單來說,AIC或BIC會計算模型在訓練數據上的誤差:
該項越小越好,為防液山止過擬合,再加上對模型復雜性的懲罰項:
隨著模型復雜度越大,Error項會減小但是懲罰項會增加。
AIC和BIC對於模型擬合效果的判斷都是越小越好。二者對於Error項的計算是一樣的,不同在於懲罰項設置不同:AIC中 ,BIC中
我在上看到一篇講AIC BIC比較詳細的博客,推薦閱讀: AIC和BIC准則
在進行模型擬合時,sarima()函數會生成模型的AIC值和BIC值,幫助我們我們選擇適當的模型。
ARMA模型假定殘差是一個高斯白雜訊,進行殘差分析可以考察這個假定。
用sarima()函數擬合模型時會自動輸出一個殘差分析圖,包括四個部分:
下例中對同一個數據分別擬合兩個ARMA模型並考察殘差情況:
殘差分析是建模的重要環節,也有助於我們進行模型選擇。
㈥ ARMA模型的基本形式
ARMA模型分為以下三種:
自回歸模型(AR:Auto-regressive)
如果時間序列滿足
其中是獨立同分布的隨機變數序列,且滿足:
以及 E() = 0
則稱時間序列為服從p階的自回歸模型。
自回歸模型的平穩條件:
滯後運算元喚豎多項式
的根均在單位圓外,即φ(B) = 0的根大於1。
移動平均模型(MA:Moving-Average)
如果時間序列滿足
,則稱時間序列為服從q階移動平均模型;
移動平均模型平穩條件:任何條件下余鏈鍵都平穩。
自回歸滑動平均模型(ARMA)
如果時間序列滿足:
則稱時間序列為服從(p,q)階自回歸滑動平均混合模豎巧型。或者記為φ(B)= θ(B)