R

R中的多變量時間序列。如何找到滯後相關性並建立預測模型

  • April 22, 2014

我是新來的,在統計和 R 方面也很新。我正在為大學做一個項目,目的是找出河流中雨水和水流水位之間的相關性。一旦證明相關性,我想預測/預測它。

數據 我有一組特定河流的幾年數據(每 5 分鐘採集一次),其中包含:

  • 以毫米為單位的降雨量
  • 河流流量(立方米/秒)

這條河沒有雪,所以模型只是基於雨和時間。偶爾會有冰凍的溫度,但我正在考慮將這些時期作為異常值從數據中刪除,因為這種情況超出了我的項目範圍。

示例 這裡有幾張來自下雨和幾小時後水位上升的樣本數據圖。

更大的例子幾天

較短的示例只有一個降雨期

紅線是河流流量。橙色是雨。你可以看到它總是在河水上漲之前下雨。時間序列結束時再次開始下雨,但稍後會影響河流流量。

相關性就在那裡。這是我在 R 中使用 R 中的 ccf 證明相關性所做的工作:

  • 互相關
  • 主要變量
  • 滯後

這是我用於第二個示例的 R 線(一個降雨期):

ccf(arnoiaex1$Caudal, arnoiaex1$Precip, lag.max=1000, plot=TRUE, main="Flow & Rain")

小示例 2 的 ccf 結果

我的解釋是:

  • 下雨(先發生),
  • 有一個顯著的相關性,在滯後時達到峰值(我可以檢查確切的數字,我知道那部分)。
  • 我不知道如何找出相關性影響河流流量的時間,我認為名稱是“保留”。我看到的是該圖與第一張圖的形狀相同,當河流在雨後失水時。如果基於此,我不認為我可以說保留期從當它達到頂峰時(我可以在返回的數據框中創建的對像中檢查這一點,ccf看看水位何時恢復到“下雨前”的值。對嗎?有沒有更好的方法來找到保留?

我對嗎?

關於時間序列。這個時間序列沒有周期性或季節性。雨隨時可能到來並造成影響。它在夏天確實會減少,但它仍然會發生,這是一個一年四季都下雨的地區。

模型和預測。 我不知道如何創建一個模型來進行預測,告訴我在一段雨後河流的流量會增加多少。我一直在嘗試一些arimaauto arima但不是很成功。我應該使用Arimavars還是其他不同的多元模型?任何指向示例的鏈接都會有很大幫助。

如果您知道創建此預測的最佳方法,請告訴我,我應該使用什麼模型。還有一些其他的事情我正在考慮做,但為了簡單起見,把它們從這個解釋中刪除了。如果需要,我可以分享一些數據。

您需要使用您的 ACF 和 PACF 行為來幫助您確定哪個模型更適合您的數據(例如,ACF 圖中存在緩慢衰減表明可能需要差分以使序列更穩定。您的 ACF 圖顯然表明某種需要轉換。如果您使用正確的轉換(平穩序列),波動必須較少變化並且在藍線內。一旦您使序列平穩,請考慮哪種模型 AR、MA、ARMA 或 ARIMA 是合適的。在我的項目中,我執行了以下操作來幫助選擇模型:

ACF 圖在滯後 2 處顯示了一個相對較大的值(查看它在圖中的位置)。除此之外,它在滯後大於 2 時基本上為零。這表明 MA(2) 模型可以擬合數據,然後通過查看 PACF 圖,我們立即註意到相關性幾乎在所有滯後時間都為零。這可能表明該模型上沒有任何 AR 部分(將其調整為您的情節)。因此,我們的候選模型之一可能是參數 p=0、d=1 和 q=1 或 2 的 ARIMA (p, d, q)。我還嘗試了一些更高階的 MA,並考慮了在模型中加入 AR 部分的可能性,以便比較 AIC、AICc 和 BIC 的結果並決定最終模型。下一步,您需要運行一些診斷測試,以確保您選擇了正確的模型並且殘差中沒有模式(殘差的 ACF 和 PACF,Ljung-Box 統計的 p 值,殘差的直方圖,以及QQ情節)。希望能幫助到你!

引用自:https://stats.stackexchange.com/questions/94774

comments powered by Disqus