時間序列分析系列V-ARMA模型案例篇

2022-01-06 統計211網

時間序列分析系列V-ARMA模型案例篇

在上一篇時間序列分析系列IV-ARMA模型理論篇中,不知大家是否掌握了平穩時間序列-ARMA模型理論知識呢?不過是否掌握熟練沒關係,本期我們將以實際案例演示模型建立的過程,幫助大家更好地運用ARMA模型。

首先,我們利用網絡豐富的資源,順利採集到了來自國家統計局關於浙江省1978-2014年的GDP年增長率,具體數據詳見下表:

年份

1978

1979

1980

1981

1982

1983

年增長率/%

21.9

13.6

16.4

11.5

11.4

8

年份

1984

1985

1986

1987

1988

1989

年增長率/%

21.7

21.7

12.1

11.8

11.2

-0.6

年份

1990

1991

1992

1993

1994

1995

年增長率/%

3.9

17.9

18.8

22

20

16.8

年份

1996

1997

1998

1999

2000

2001

年增長率/%

12.7

11.1

10.2

10

11

10.6

模型的建立分成以下幾個步驟:

一、ARMA模型的識別

二話不多說,先上SAS程序代碼:


 

運行結果如下圖:

1. 散點圖


 

2. 均值結果


 

在前面的介紹中,我們提到過散點圖是判斷時間序列數據集是否存在異常值的方法。通過上圖,我們可以看出1989年的點稍異於其他點。但是進一步證明發現,1989年的GDP增長率並未超出均值+3*標準差範圍內(即12.99+3*4.96),因此不認為是異常值,可以繼續分析咯~

二、ARMA模型的平穩性檢驗

完成第一步後,平穩性檢驗採用自相關係數檢驗方法,具體詳見時間序列分析III-各類檢驗篇。繼續捧上代碼先:

 

運行結果為:


結果解釋:

從第一張圖Autocorrelations,我們可以看出自相關函數並未呈現緩慢衰減的趨勢,因此可認為數據序列平穩;

關於白噪聲序列檢驗,紅色圓圈部分給出了檢驗結果,P<0.001,說明並非為白噪聲序列,可進行下一步的分析;

根據Minimum Information Criterion檢驗結果,由於AR(5)模型的BIC值最小,因此考慮採用AR(5)模型。

三、ARMA模型的參數估計和檢驗

在上述程序的後面繼續增加語句;

estimate p=5, method=ml; 該句表示採用極大似然估計法進行參數估計。


 

運行結果如下:


 

從圖上我們可以看出,某些係數的檢驗並不顯著,因此為精簡模型,我們將這些係數去掉,將相應語句改為:

estimate p=(1,2,5), method=ml;

我們來看看運行結果又會出現什麼樣的變化呢?


紅色圈圈部分告訴我們,所有的係數估計通過檢驗,且殘差分析檢驗(Autocorrelation Check of Residuals)顯示LB(6)=0.1059,LB(12)=0.5131, LB(18)=0.7103, LB(24)=0.8701,因此可認為AR(5)模型是適應的。

四、模型的預測

如何預測模型呢?以下代碼幫你解決啦~~~


 

可以看最後的結果啦!

圖1是2014-2017年浙江省GDP的年增長率預測值;

從圖2可以看出,原始數據基本上都在預區域內,而且是近期數據離預報曲線曲線,表明模型的建立的較為合理,且預報效果也是較為精確!


本公眾號每周1-3-5固定更新文章,如有增刊將安排在周六/日。也請大家多提寶貴意見,謝謝!


bang!bang!bang!我們的分答主頁正式上線啦!歡迎各位小夥伴來和主編zz交流計分析方法,二維碼見下方



        如果您覺得本文不錯,歡迎分享轉發到朋友圈,謝絕任何形式的轉載~

歡迎您邀請朋友關注微信號「統計211網( ID: tj211_com)」!

還可以長按下方二維碼關注我們哦~~

相關焦點

  • 時間序列 ARMA 模型實戰!
    多元線性回歸模型有多個自變量,但時間序列因其特殊性,一個時刻只有一個觀測值,在無其他維度數據補充的前提下,沒有可輔助預測的自變量,因而只能取其自身延遲p個時刻的觀測值作為自變量,所以稱自回歸。自回歸使用自身的數據進行預測,序列前後應當有相關性。所以多元線性回歸模型預測時並不要求序列平穩,但AR模型則要求序列必須是平穩的。
  • R語言:時間序列ARIMA模型(三)
    題記:本文是個人的讀書筆記,僅用於學習交流使用,本文將深入研究時間序列技術。
  • 時間序列模型分析——ARIMA 模型和SARMIA模型
    ARIMA模型的基本思想是:將預測對象隨時間推移而形成的數據序列視為一個隨機序列,用一定的數學模型來近似描述這個序列。
  • 時間序列:ARMA 應用指南
    多元線性回歸模型有多個自變量,但時間序列因其特殊性,一個時刻只有一個觀測值,在無其他維度數據補充的前提下,沒有可輔助預測的自變量,因而只能取其自身延遲p個時刻的觀測值作為自變量,所以稱自回歸。自回歸使用自身的數據進行預測,序列前後應當有相關性。所以多元線性回歸模型預測時並不要求序列平穩,但AR模型則要求序列必須是平穩的。
  • 時間序列模型(ARIMA和ARMA)實現過程,含代碼演示
    目錄所用的所有數據包1,數據準備與預處理(1)數據準備(2)數據預處理2,數據重採樣3,平穩性和非白噪聲(1)差分法實現(2)平滑法處理(3)ADF檢驗(4)非白噪聲檢驗4,時間序列定階(1)ACF和PACF定階5,構建模型和預測(1)ARMA模型構建(2)模型好壞檢驗
  • 金融時間序列 ARMA 與 ARIMA 的 Python 實現
    MA(q)模型嘗試捕捉(解釋)在白噪聲條件下觀察到的衝擊效應。這些衝擊效應可以被認為是影響觀察過程的意外事件。ARMA模型的弱點在於忽視了大多數金融時間序列中的波動聚集效應。模型的公式可以表示為:由於現實中很多時間序列不是平穩的,但可以通過差分來實現平穩,即通過一階差分可以將非平穩機遊走其轉化為平穩的白噪聲。由於前三個模型都有時間序列平穩的假設在,如果時間序列存在明顯的上升或者下降趨勢,模型預測的效果大大折扣。對於有明顯下降或者上升趨勢的數據集,可以使用差分的方式將其轉化為平穩序列,然後使用ARMA模型進行擬合。
  • R時間序列分析-9 : ARIMA(中)
    這種模型隱含著在過去值和當前值之間存在相關性,也就是在所有的滯後值上都有一些不為零的自相關(ACF的拖尾性)。有些時間序列數據,只在較短的滯後表現出相關性,對於這樣的數據,AR模型不會給出簡約的模型形式,這時候選擇MA(q)模型可能是恰當的。
  • R語言ARIMA集成模型預測時間序列分析
    p=18493 本文我們使用4個時間序列模型對每周的溫度序列建模。第一個是通過auto.arima獲得的,然後兩個是SARIMA模型,最後一個是Buys-Ballot方法。我們使用以下數據k=620n=nrow(elec)futu=(k+1):ny=electricite$Load[1:k]plot(y,type="l")我們開始對溫度序列進行建模(溫度序列對電力負荷的影響很大)
  • 時間序列ARMA和ARIMA
    :AR(自回歸模型),AR ( p) ,p階的自回歸模型MA(移動平均模型),MA(q),q階的移動平均模型ARIMA(差分自回歸移動平均模型)1.2 運用對象這裡四種模型都是變量y,針對時間變化而發生的改變,這四種模型的運用對象都是平穩的時間序列。
  • 時間序列模型(三)——馬爾可夫模型
    。      下面言歸正傳。在讀本文之前,最好先對時間序列和隨機過程有個了解,可以看我之前的兩篇文章。       很多教材都會單獨介紹馬爾可夫模型,但它是一種時間序列模型,可以用時間序列模型的思維來學習,並和其它時間序列模型做比較。       狀態空間指的是序列數據的狀態。(最少要有兩種狀態)理論上來說,這個空間可以是離散的,或者是連續的。本文主要討論最重要的離散狀態的情況。
  • ARIMA時間序列模型-操作篇
    ARIMA序列分析的前提要求時間序列為零均值的平穩隨機序列。為此我們首先要做時間序列圖對原始的數據進行觀察。我們得到的序列圖如下,觀察圖形可知時間序列具有明顯的上升性和季節性,對數據進行一次差分與季節性差分轉換,重新獲得新的時間序列圖。再次觀察可知轉換後的時間序列圖基本是一個白噪聲序列。
  • R(語言)做時間序列(ARIMA)的案例
    如何用R做單變量的時間序列?
  • 用ARMA模型做時間序列分析預測
    根據技術理論,未來的市場價格是可以通過過去的交易信息進行分析和預測的。
  • 時間序列分析
    內容簡介:本書以易於理解的方式講述了時間序列模型及其應用,主要內容包括:趨勢、平穩時間序列模型、非平穩時間序列模型
  • 時間序列模型(一)
    時間序列模型時間序列分析與回歸分析時間序列模型是特殊的回歸模型,在選擇模型前,我們需要確定結果與變量之間的關係。回歸分析:訓練得到的是因變量y與自變量x(通常x為一個或多個,且當x為1個時與時間無關)的相關性𝑦=𝑤𝑥+𝑏y=wx+b,然後通過新的自變量x來預測因變量y時間序列分析:訓練得到的是因變量y與時間的相關性(自變量x只能為1個,而且與時間相關)回歸分析:擅長的是多變量與目標結果之間的分析,即便是單一變量,也往往與時間無關時間序列分析:建立在時間變化的基礎上
  • R時間序列分析(8)ARIMA(上)
    然而,即使平穩的時間序列依然有潛在無限多的參數(各階自相關函數),我們需要的是更加簡約的(也就是參數個數有限的)平穩時間序列模型,ARIMA模型就是這樣一種簡約的模型。白噪聲是用來建立ARIMA的基本模塊。
  • 複雜時間序列模型綜述
    一、前言 時間序列分析是統計研究中的一大重要分支。通過指定的時間段內記錄的一系列數據,時序分析可以提取有意義的統計信息和數據特徵,並且對未發生的事件進行預測。傳統的時序分析主要針對單變量時間序列數據建立線性模型 (Box et al., 2015; Brockwell and Davis, 2009; Tsay, 2005)、非線性模型 (Engle, 1982; Bollerslev, 1986; Tong, 1990)、非參數模型 (Fan and Yao, 2008) 等,或針對多變量/面板型時序數據進行研究 (Tiao and Box, 1981
  • 時間序列(三):ARIMA模型實戰
    ARIMA模型的全稱叫做自回歸移動平均模型,全稱是(ARIMA, Autoregressive Integrated Moving Average Model)。也記作ARIMA(p,d,q),是統計模型(statistic model)中最常見的一種用來進行時間序列預測的模型。ARIMA模型是一種自回歸模型,只需要自變量即可預測後續的值。
  • ​Python中的經典時間序列預測模型總結
    時間序列預測是機器學習中一個經常被忽視的重要領域。時間序列在觀察之間添加了顯式的順序依賴性:時間維度。這個額外的維度既是一個約束,也是一個提供額外信息來源的結構。時間序列分析使用經典統計時,主要關注的是時間序列的分析。
  • 金融時間序列分析入門
    一、與時間序列分析相關的部分基礎知識/概念1.1 什麼是時間序列簡而言之:對某一個或者一組變量 x(t) 進行觀察測量,將在一系列時刻 t1,t2,⋯,tn 所得到的離散數字組成的序列集合,稱之為時間序列。