拓端tecdat|R語言模擬和預測ARIMA模型、隨機游走模型RW時間序列趨勢可視化


原文鏈接:http://tecdat.cn/?p=25122 

原文出處:拓端數據部落公眾號

當一個序列遵循隨機游走模型時,就說它是非平穩的。我們可以通過對時間序列進行一階差分來對其進行平穩化,這將產生一個平穩序列,即零均值白噪聲序列。例如,股票的股價遵循隨機游走模型,收益序列(價格序列的差分)將遵循白噪聲模型。

讓我們更詳細地了解這種現象。

由於隨機游走序列的差分是白噪聲序列,我們可以說隨機游走序列是零均值白噪聲序列的累積和(即積分)。有了這些信息,我們可以以 ARIMA 模型的形式定義 Random Walk 系列,如下所示:

  1.  
    ARIMA(0,1,0)
  2.  
    其中
  3.  
    - 自回歸部分,p = 0
  4.  
    - 積分部分,d = 1
  5.  
    - 移動平均部分,q = 0

模擬隨機游走序列

我們現在可以通過為arima.sim提供適當的參數來模擬 R 中的隨機游走序列, 如下所示:

R <- arima.sim

我們可以使用該plot.ts繪制新生成的序列 。

> plot.ts

正如我們可以清楚地觀察到的,這是一個非平穩序列,它的均值和標准偏差隨時間變化不是恆定的。

一階差分序列

為了使序列平穩,我們取序列的一階差分。

if <- diff

繪制時,您會注意到差分序列類似於白噪聲。

該 RW_diff 序列的統計數據計算如下:

  1.  
    > mean(Rf)
  2.  
    > sd(Wf)

 

帶偏移的隨機游走序列

我們模擬的上述隨機游走序列在均值附近上下徘徊。但是,我們可以讓隨機游走系列跟隨上升或下降趨勢,稱為偏移。為此,我們為函數提供了一個額外的參數均值/截距 arima.sim() 。這個截距是模型的斜率。我們還可以更改模擬序列的標准差。在下面的代碼中,我們提供了 1 的平均值和 5 的標准差。

估計隨機游走模型

為了擬合具有時間序列偏移的隨機游走模型,我們將遵循以下步驟

  1. 取數據的一階差分。
  2. arima() 使用階數為 的函數 將白噪聲模型擬合到差分數據 c(0,0,0)
  3. 繪制原始時間序列圖。
  4. abline() 通過提供通過將白噪聲模型擬合為斜率得到的截距,使用該函數添加估計趨勢 。

1. 一階差分

為了使這個數列平穩,我們將取數列的差值。

> plot.ts

2. 將白噪聲模型擬合到差分數據

我們現在可以使用arima將白噪聲模型擬合到差分數據。

> whodl <- arima

我們可以看到擬合的白噪聲模型的截距為 0.67。

3. 繪制原始隨機游走數據

這可以使用以下命令完成:

> plot.ts

4.添加估計趨勢

現在在同一個圖上,我們要添加估計的趨勢。在本課開始時,我們解釋了隨機游走序列如何是零均值白噪聲序列的累積和(即積分)。因此,截距實際上是我們隨機游走序列的斜率。

我們可以使用函數繪制趨勢線 abline,其中 a 是截距,b 是線的斜率。在我們的例子中,我們將指定白噪聲模型的“a=0”和“b=intercept”。

> abline

估計的趨勢線將添加到我們的圖中。


最受歡迎的見解

1.在python中使用lstm和pytorch進行時間序列預測

2.python中利用長短期記憶模型lstm進行時間序列預測分析

3.使用r語言進行時間序列(arima,指數平滑)分析

4.r語言多元copula-garch-模型時間序列預測

5.r語言copulas和金融時間序列案例

6.使用r語言隨機波動模型sv處理時間序列中的隨機波動

7.r語言時間序列tar閾值自回歸模型

8.r語言k-shape時間序列聚類方法對股票價格時間序列聚類

9.python3用arima模型進行時間序列預測


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM