時間序列
獲取新數據點時更新時間序列預測模型 - 基本問題
假設我有一個時間序列模型(假設 ARIMA)並使用它來進行一步預測。
如果我獲取一個新的數據點,(例如我原來是用前100天擬合一個Arima模型來預測第101天,現在我觀察第101天的數據,想用101天的數據來預測第102天), 我是不是該?
- 改裝一切,包括大型參數 $ p,d,q $ ?
- 讓 $ p,d,q $ 保持原樣,但重新擬合 ARIMA 模型的係數?
- 或者當我們遇到此類問題時是否有其他協議?
我對這個領域比較陌生,所以任何建議、見解和建議都會受到讚賞。謝謝。
這樣想吧。
如果您認為數據生成過程實際上是 ARIMA 模型,那麼您有一個非常明確的處方:如果您重新執行模型選擇和估計,基本漸近線將表明您將減少預測誤差。
現在,如果您沒有發瘋,並且您知道該模型是錯誤的,儘管可能有用,會發生什麼?如果您擔心結構變化,明智的做法是放棄第一個觀察值,添加最後一個觀察值,如果不重新執行模型選擇,則至少重新估計模型參數。
這里關於估計和模型選擇的真正限制是它是計算密集型的。幾乎沒有統計上的理由不考慮新資訊。現在,如果您正在回測 ARIMA 模型以預測少數幾個視野的少數變數,那麼即使是便宜的筆記型電腦也可能能夠系統地重新執行所有操作。但是,如果您處理大量數據和復雜的模型,則必須在某處施加約束。
您好:您所描述的是在估計時間序列模型並根據它們進行預測時非常常見的問題。我認為沒有唯一的答案,而是像你提到的和其他人那樣的選擇。
1)使用一些固定的滾動觀察視窗來重新估計相同的模型,然後預測下一個值。
2)使用所有先前的觀察結果+新的數據點重新估計相同的模型並預測下一個值。
3)根本不重新估計,而是使用新的觀察來預測下一個值。
- 使用卡爾曼濾波器重新估計和預測下一個值,與 2) 相同,但這是更“自然”的方式,因為 KF 是一種更新機制。
我不認為當一個新的數據點出現時模型選擇通常會重新完成,但這當然也是可能的。就像我說的,沒有一個答案。