Menggunakan filter Kalman untuk menghubungkan Nilai Hilang dalam Seri Waktu

12

Saya tertarik pada bagaimana Filter Kalman dapat digunakan untuk memasukkan nilai yang hilang dalam Data Rangkaian Waktu. Apakah ini juga berlaku jika beberapa titik waktu berturut-turut hilang? Saya tidak dapat menemukan banyak tentang topik ini. Setiap penjelasan, komentar, dan tautan diterima dan dihargai!

GS9
sumber
Anda mungkin tertarik dengan postingan ini . Ini memberikan contoh berdasarkan representasi state-space model ARIMA untuk menyalahkan nilai yang hilang melalui filter Kalman.
javlacalle
@javlacalle terima kasih, saya sudah tahu posting ini dan ini adalah contoh yang bagus untuk implementasi yang konkret. Tetapi saya agak tertarik pada latar belakang teoretis.
GS9

Jawaban:

9

Pendahuluan: Pemfilteran Kalman :

Filter Kalman beroperasi pada model ruang-negara dari formulir (ada beberapa cara untuk menulisnya; ini adalah yang mudah berdasarkan Durbin dan Koopman (2012) ; semua yang berikut ini didasarkan pada buku itu, yang sangat bagus):

yt=Zαt+εtεtN(0,H)αt1=Tαt+ηtηtN(0,Q)α1N(a1,P1)

di mana adalah seri yang diamati (mungkin dengan nilai yang hilang) tetapi sepenuhnya tidak teramati. Persamaan pertama (persamaan "pengukuran") mengatakan bahwa data yang diamati terkait dengan keadaan yang tidak teramati dengan cara tertentu. Persamaan kedua (persamaan "transisi") mengatakan bahwa keadaan yang tidak teramati berevolusi dari waktu ke waktu dengan cara tertentu.α tytαt

Filter Kalman beroperasi untuk menemukan perkiraan optimal dari ( diasumsikan Normal: , jadi apa yang sebenarnya dilakukan oleh filter Kalman adalah menghitung mean bersyarat dan varian dari distribusi untuk tergantung pada pengamatan hingga waktu ).α t α tN ( a t , P t ) α t tαtαtαtN(at,Pt)αtt

Dalam kasus khusus (ketika pengamatan tersedia) filter Kalman menggunakan estimasi kondisi saat ini dan pengamatan saat ini untuk melakukan yang terbaik untuk memperkirakan keadaan selanjutnya , sebagai berikut:α t + 1ytαt+1

at+1=Tat+Kt(ytZαt)Pt+1=TPt(TKtZ)+Q

dimana adalah "gain Kalman".Kt

Ketika tidak ada pengamatan, filter Kalman masih ingin menghitung dan dengan cara terbaik. Karena tidak tersedia, ia tidak dapat menggunakan persamaan pengukuran, tetapi masih dapat menggunakan persamaan transisi . Jadi, ketika hilang, filter Kalman malah menghitung: P t + 1 y t y tat+1Pt+1ytyt

at+1=TatPt+1=TPtT+Q

Pada dasarnya, dikatakan bahwa diberikan , tebakan terbaik saya untuk tanpa data hanyalah evolusi yang ditentukan dalam persamaan transisi. Ini dapat dilakukan untuk sejumlah periode waktu dengan data yang hilang.α t + 1αtαt+1

Jika ada yang data yang , maka set pertama penyaringan persamaan mengambil yang terbaik menebak tanpa data, dan menambahkan "koreksi" di, berdasarkan seberapa baik estimasi sebelumnya.yt


Imputing data :

Setelah filter Kalman telah diterapkan untuk seluruh rentang waktu, Anda memiliki perkiraan yang optimal dari negara-negara untuk . Imput data kemudian sederhana melalui persamaan pengukuran. Secara khusus, Anda hanya menghitung: t = 1 , 2 , ... , Tat,Ptt=1,2,,T

y^t=Zat

Adapun referensi, Durbin dan Koopman (2012) sangat baik; bagian 4.10 membahas pengamatan yang hilang.

  • Durbin, J., & Koopman, SJ (2012). Analisis deret waktu dengan metode ruang keadaan (No. 38). Oxford University Press.
cfulton
sumber
Menggunakan solusi yang lebih halus akan lebih masuk akal untuk memasukkan (karena seseorang sudah memiliki semua data (tidak ada yang hilang), mengapa tidak menggunakan informasi dalam nilai di masa depan juga)
Juho Kokkala
0

Contoh dalam posting yang ditunjukkan oleh javlacalle dalam komentar mereka menampilkan poin waktu yang hilang secara berurutan. Anda mungkin juga tertarik pada interval di sekitar nilai yang diperhitungkan (dalam-contoh yang diperkirakan), perhitungan yang muncul dalam makalah Space State ini , di bagian 2.1.

Makalah lain yang mungkin menarik adalah yang ini .

Wayne
sumber