Data-Imputation
使用卡爾曼濾波器估算時間序列中的缺失值
我對如何使用卡爾曼濾波器來估算時間序列數據中的缺失值很感興趣。如果缺少一些連續的時間點,它是否也適用?我在這個話題上找不到太多。歡迎和讚賞任何解釋、評論和鏈接!
預備知識:卡爾曼濾波:
卡爾曼濾波器在以下形式的狀態空間模型上運行(有幾種編寫方法;這是基於Durbin 和 Koopman (2012)的簡單方法;以下所有內容均基於該書,非常好):
在哪裡是觀察到的系列(可能有缺失值),但完全沒有被觀察到。第一個方程(“測量”方程)表示觀察到的數據以特定方式與未觀察到的狀態相關。第二個方程(“過渡”方程)表示未觀察到的狀態會隨著時間以特定方式演變。
卡爾曼濾波器用於找到最優估計(假定為正常:, 所以卡爾曼濾波器實際上做的是計算分佈的條件均值和方差以觀察到的時間為條件)。
在典型情況下(當觀測值可用時),卡爾曼濾波器使用當前狀態和當前觀測值的估計盡最大努力估計下一個狀態, 如下:
在哪裡是“卡爾曼增益”。
當沒有觀測值時,卡爾曼濾波器仍然要計算和以最好的方式。自從不可用,它不能使用測量方程,但它仍然可以使用轉移方程。因此,當丟失,卡爾曼濾波器改為計算:
本質上,它說給定,我最好的猜測是沒有數據只是過渡方程中指定的演變。這可以在缺少數據的任意數量的時間段內執行。
如果有數據,然後第一組過濾方程在沒有數據的情況下採用最佳猜測,並根據先前估計的好壞添加“校正”。
估算數據:
一旦將卡爾曼濾波器應用於整個時間範圍,您就可以對狀態進行最佳估計為了. 然後通過測量方程輸入數據很簡單。特別是,您只需計算:
作為參考,Durbin 和 Koopman (2012) 非常出色;第 4.10 節討論了缺失的觀察結果。
- Durbin, J. 和 Koopman, SJ (2012)。通過狀態空間方法進行時間序列分析(第 38 期)。牛津大學出版社。