Zaman serisi modellemesi için durum uzayı modellerinin ve Kalman Filtresinin dezavantajları nelerdir?


53

Durum-uzay modellerinin ve KF'nin tüm iyi özellikleri göz önüne alındığında, merak ediyorum - durum-uzay modellemesinin dezavantajları nelerdir ve Kalman Filtresi (veya EKF, UKF veya partikül filtresi) tahmini için kullanılır? Diyelim ki ARIMA, VAR veya geçici / sezgisel yöntemler gibi geleneksel metodolojiler diyelim.

Kalibrasyonları zor mu? Bir modelin yapısındaki bir değişimin öngörüleri nasıl etkileyeceğini görmek zor ve karmaşık mıdır?

Veya başka bir deyişle - konvansiyonel ARIMA, VAR'ın durum modellerine göre avantajları nelerdir?

Bir devlet-uzay modelinin sadece avantajlarını düşünebilirim :

  1. Bazı statik modellerin yapısal kırılmalarını, kaymalarını, zamanla değişen parametrelerini kolayca idare eder - sadece bu parametreleri bir durum-uzay modelinin dinamik durumlarını yapar ve model otomatik olarak parametrelerdeki herhangi bir kaymaya göre ayarlanır;
  2. Eksik verileri çok doğal olarak ele alıyor, KF'nin geçiş adımını yapıyor ve güncelleme adımını atmıyor;
  3. Bir durum-uzay modelinin kendi kendine-anında parametrelerinin değiştirilmesine izin verir (seslerin ve geçiş / gözlem matrislerinin kovaryansları), böylece mevcut gözleminiz diğerlerinden biraz farklı bir kaynaktan geldiyse - bunu tahmin etmeden kolayca tahmin etmeye dahil edebilirsiniz özel bir şey;
  4. Yukarıdaki özellikleri kullanarak düzensiz aralıklı verileri kolayca işlemeye izin verir: ya gözlemler arasındaki aralığa göre her seferinde bir model değiştirin ya da düzenli aralık kullanın ve aralıkları eksik veriler olarak gözlemlemeden kullanın;
  5. Bir temel miktarı tahmin etmek için aynı modelde aynı anda farklı kaynaklardan gelen verilerin kullanılmasını sağlar;
  6. Yorumlanabilir birkaç gözlemlenemez dinamik bileşenden bir model oluşturmaya ve bunları tahmin etmeye izin verir;
  7. Herhangi bir ARIMA modeli bir durum-uzay formunda gösterilebilir, ancak yalnızca basit durum-uzay modelleri tam olarak ARIMA formunda gösterilebilir.

1
JFew İlk noktanızda belirtildiği gibi ek avantajlar, birden fazla seviye kayması ve aykırı değeri kolayca birleştirebilir. Tecrübelerime göre yapısal kırılmalar ARIMA'dan daha çok devlet alanı ile kolayca tespit edilebilir. Ayrıca dışsal değişkenlerin doğrusal olmayan etkilerini kolayca içerebilir. Zaman serisi verilerinin durağan olmasını gerektirmez ki bu çok büyük bir +.
Tahminci

2
ARIMA üzerinden durum modellerini her zaman alacağım. İki dezavantaj olduğunu düşünebilirim (bir çeşit): a) Bir ARIMA modelinin karşılık gelen durum uzayı modeli, tasarım matrislerinde çok fazla gereksiz sıfır içeriyor. Biri, ARIMA'nın daha kompakt olduğunu iddia edebilir. b) nadiren ARIMA biçiminde tanımlanabilen, ancak geleneksel durum-uzayda zor olabilecek analitik formlara sahip olan, doğrusal olmayan / gauss olmayan modeller vardır.
Cagdas Ozgenc

2
@Kochede Durbin ve Koopman da pek çok dezavantajı düşünmemiş gibi görünüyorlardı - fantastik ders kitaplarında 52. sayfanın altından iki taneden bahsettiler . Ve bu dezavantajların artık mutlaka doğru olmadığını söyleyebilirim.

2
Birkaç soru . Zaman eğilimi değişikliklerini açıkça tespit ediyor mu ve trendin değiştiği zamandaki noktaları rapor ediyor mu? Parametre değişiklikleri ile hata varyansı değişiklikleri arasında ayrım yapıp bunu rapor ediyor mu? Kullanıcı tarafından belirlenen öngördürücülerin etrafındaki belirli yönlendirme ve gecikme etkilerini algılar ve raporlar mı? Seviye / yerel zaman eğilimi bildirilmeden önce gruptaki minimum değer sayısı belirtilebilir mi? Hata değişiminin değiştiği zamandaki güç dönüşümlerine karşı deterministik noktalara karşı belirleyici noktaları ayırt eder mi? ARMAX modelleri, tüm bu düşüncelerle konuşur.
IrishStat

1
Bütünlüğü sağlamak için, bazı durumlarda bir dezavantaj, bunları açıklamanız gerektiğidir. Bu kitlenize bağlı. Birisi bunu bir teknik seçmekle ilgisi olmayan ya da olması gereken bir şey olarak reddetmek isterse mutlu olurum.
Nick Cox

Yanıtlar:


25

İşte yorumlarınızdan elde edebileceğim bazı dezavantajların bir listesi. Eleştiri ve ilaveler çok açığız!

Genel olarak - ARIMA ile karşılaştırıldığında, durum modeli, daha karmaşık süreçleri modellemenizi, yorumlanabilir bir yapıya sahip olmanızı ve veri düzensizliklerini kolayca yönetmenizi sağlar; ancak bunun için bir modelin artan karmaşıklığı, daha sert kalibrasyon, daha az topluluk bilgisi ile ödeme yaparsınız.

  1. ARIMA evrensel bir belirleyicidir - verilerinizin arkasındaki gerçek modelin ne olduğu umrunda değil ve bu modeli yaklaşık olarak belirlemek için evrensel ARIMA tanı ve fitting araçlarını kullanıyorsunuz . Bir polinom eğrisi uydurma gibidir - gerçek işlevin ne olduğunu umursamıyorsunuz, her zaman bir dereceye kadar bir polinomla tahmin edebilirsiniz.
  2. Durum-uzay modelleri doğal olarak , prosesiniz için bazı makul bir model yazmanızı gerektirir (ki bu iyidir - tahminlerinizi geliştirmek için proses hakkındaki önceki bilgilerinizi kullanırsınız). Elbette, işleminiz hakkında herhangi bir fikriniz yoksa, her zaman bazı evrensel durum-uzay modelini de kullanabilirsiniz - örneğin ARIMA'yı bir devlet-alan formunda temsil edebilirsiniz. Fakat daha sonra ARIMA, orijinal haliyle, daha saklı bir formülasyona sahip - gereksiz gizli durumlar getirmeden.
  3. Çok çeşitli durum-uzay model formülasyonları (ARIMA model sınıfından çok daha zengin) olduğu için, tüm bu potansiyel modellerin davranışları iyi çalışılmamıştır ve formüle ettiğiniz model karmaşıksa - nasıl davranacağını söylemek zor farklı şartlar altında. Elbette, eğer durum modeli modeliniz basitse veya yorumlanabilir bileşenlerden oluşuyorsa, böyle bir sorun yoktur. Ancak ARIMA her zaman iyi çalışılmış ARIMA ile aynıdır, bu yüzden yaklaşık karmaşık bir işlemi gerçekleştirmek için kullanıyor olsanız bile davranışını tahmin etmek daha kolay olmalıdır.
  4. Durum uzayı doğrudan ve tam olarak karmaşık / doğrusal olmayan modelleri modellemenize izin verdiği için, bu karmaşık / doğrusal olmayan modeller için filtreleme / tahmin kararlılığıyla ilgili problemleriniz olabilir (EKF / UKF sapması, parçacık filtresi bozulması). Ayrıca karmaşık modelin parametrelerini kalibre etmede sorun yaşayabilirsiniz - bu hesaplama açısından zor bir optimizasyon problemidir. ARIMA basittir, daha az parametreye sahiptir (2 gürültü kaynağı yerine 1 gürültü kaynağı, gizli değişken yok), bu yüzden kalibrasyonu daha kolaydır.
  5. Devlet için istatistiksel toplulukta ARIMA'dan daha az topluluk bilgisi ve yazılımı vardır.

1
Bir Kalman filtresinin basit bir hareketli ortalamadan daha iyi performans gösterdiği herhangi bir gerçek-canlı örnek / endüstriyel uygulamanın veya net bir temel model olmaması koşuluyla, bir zaman serisinin öngörülmesinde exp uygulamasının farkında mısın (yani fizik yasalarından kaynaklanan modelleri hariç tutun). ? Çoğu makalede performans çok benzer (ve akademik makalelerde yeni, orijinal, karmaşık modeller için olumlu bir önyargı var). Vakaların çoğunda, bir Klaman filtresi belirtmek için gereken uygun bir doğrusal durum sistemi modeli ve kovaryansları, vs. hakkında hiçbir bilgi yoktur ...
Mannaggia

Bu doğru. Hala uygulamamda bir örnek var. Genel amaçlı bir modeliniz olduğunda (doğrusal regresyon gibi), parametrelerini Kalman Filtresi durumlarında yapabilir ve bunları dinamik olarak tahmin edebilirsiniz. Tabii ki, modelinizi her adım adımda da yeniden takabilirsiniz, ancak bu tek bir KF güncellemesinden daha hesaplamalı olarak pahalıdır. Eğer gerçekte parametreler gerçekten zaman içinde değişiyorsa veya modeliniz tam olarak gerçek süreçle uyuşmuyorsa, bu modelinize daha iyi uyması ve performansını iyileştirmeye yardımcı olabilir.
Kochede

1
ARIMA için gönderinizden başka evrensel bir hakem olduğuna dair hiçbir referans bulamıyorum. Beni bire işaret eder misin?
Skander H.

2
@Alex Bu, Wold'un ayrışma teoreminden sonra gelir; örneğin, bkz. Phdeconomics.sssup.it/documents/Lesson11.pdf
Kochede

1
Durum modeli modelinin daha genel bir şekli olduğunu ve ARIMA'nın yalnızca bir alt kümesini kapsadığını söyleyebilir miyim?
Vickyyy

3

Yorumlardaki çok iyi sorular için @IrishStat 'a teşekkürler, sorularınızın cevabı yorum olarak gönderemeyecek kadar uzun, bu yüzden bir cevap olarak gönderdim (ne yazık ki, konunun orijinal sorusuna değil).

Sorular şunlardı: " Zaman eğilimi değişikliklerini net bir şekilde tespit ediyor mu ve trendin değiştiği zamandaki noktaları rapor ediyor mu? Parametre değişiklikleri ile hata varyansı değişiklikleri arasında ayrım yapıp bunu rapor ediyor mu? “Tahmini belirleyiciler? Bir gruptaki bir seviye kayması / yerel zaman eğilimi bildirilmeden önce asgari değer sayısı belirtilebilir mi?Hata değişiminin değiştiği zamandaki belirleyici noktalara karşı güç dönüşümlerine duyulan ihtiyaç arasında ayrım yapılıyor mu?

  1. Trend değişikliklerini tanımlayın - evet, en doğal olarak trend eğimini durum değişkenlerinden biri haline getirebilirsiniz ve KF sürekli olarak mevcut eğimi tahmin edecektir. Hangi eğim değişikliğinin sizin için yeterince büyük olduğuna karar verebilirsiniz. Alternatif olarak, eğim durum-uzay modelinizde zamana göre değişmiyorsa, filtreleme sırasındaki kalıntıları, modelinizde bir parça kırılma olduğunu görmek için standart bir şekilde test edebilirsiniz.
  2. Parametre değişiklikleri ile hata sapması değişiklikleri arasındaki farkı ayırt edin - evet, varyans parametrelerden biri olabilir (durumlardan), o zaman hangi parametrenin büyük olasılıkla değiştiği, modelinizin olasılığına ve özellikle verilerin nasıl değiştiğine bağlıdır.
  3. Kurşun / gecikme ilişkilerini tespit et - bundan emin değilsin, kesinlikle durum-uzay modeline herhangi bir gecikmiş değişkeni dahil edebilirsin; Gecikmelerin seçimi için , farklı gecikmelere sahip modellerin kalıntılarını test edebilirsiniz veya basit bir durumda, bir model oluşturmadan önce sadece bir çapraz korelogram kullanın.
  4. Trend değişikliğine karar vermek için eşik sayısı sayısını belirtin - evet, 1'de olduğu gibi) filtreleme yinelemeli olarak yapıldığından, yalnızca sizin için yeterince büyük olan eşik eğimi değişimini değil, aynı zamanda güven için gözlem sayısını da yapabilirsiniz. Fakat daha iyisi - KF sadece eğim tahmini değil, aynı zamanda bu tahmin için güven grupları da üretiyor ; bu nedenle , güven sınırı bazı eşiği geçtiğinde eğimin önemli ölçüde değişeceğine karar verebilirsiniz .
  5. Güç dönüşümü ihtiyacı ile daha büyük sapma ihtiyacı arasındaki farkı ayırt edin - doğru anladığımdan emin değilim, ancak filtreleme sırasında artıkları yalnızca daha büyük sapma ile normal olup olmadıklarını ya da biraz eğilmeleri gerektiğini görmek için kalıntıları test edebileceğinizi düşünüyorum. senin modelin. Daha iyi - Modelinizin ikili anahtarlama durumu olabilir, o zaman KF olasılığa göre otomatik olarak tahmin eder. Bu durumda model doğrusal olmayacağından, filtreleme yapmak için UKF'ye ihtiyacınız olacaktır.

1

Kalman Filtresi, durum dinamikleri ve ölçüm hataları sözde doğrusal Gauss varsayımlarını ( http://wp.me/p491t5-PS ) takip ettiğinde en uygun lineer kuadratik tahmin edicidir . Dolayısıyla, dinamikleri ve ölçüm modellerinizi bildiğiniz ve lineer Gauss varsayımlarını takip ettikleri sürece, lineer kuadratik tahminciler sınıfında daha iyi bir tahminci yoktur. Bununla birlikte, "başarısız" Kalman Filtresi uygulamalarının en yaygın nedenleri şunlardır:

  1. Durum dinamikleri ve ölçüm modelleri hakkında kesin / yanlış bilgi.

  2. Filtrenin yanlış başlatılması (ilk durum tahmini ve gerçek sistem durumu ile tutarlı olmayan kovaryans sağlanması). Bu, Ağırlıklı En Küçük Kareler (WLS) başlatma prosedürü kullanılarak kolayca çözülebilir.

  3. Sistem dinamiği modeline göre istatistiksel "aykırı" ölçümler yapmak. Bu, Kalman Gain'ın negatif elemanlara sahip olmasına neden olabilir, bu da güncelleme sonrasında pozitif olmayan yarı kesin bir kovaryans matrisine yol açabilir. Bu, Kalman Filtresini bu ölçümle güncellemeden önce ölçümü doğrulamak için elipsoidal gating gibi "geçit" algoritmaları kullanılarak önlenebilir.

Bunlar, Kalman Filtresi ile çalışırken gördüğüm en yaygın hatalardan bazıları. Aksi halde, modelinizin varsayımları geçerliyse, Kalman Filtresi en uygun tahmin edicidir.


1

Mükemmel Bayesian tahmini ve dinamik modeller kitabına başvurabilirsiniz (Harrison ve West, 1997). Yazarlar, neredeyse tüm geleneksel zaman serisi modellerinin genel dinamik modelin özel durumları olduğunu göstermektedir. Ayrıca avantajları vurgulamaktadırlar. Belki de en büyük avantajlardan biri, durum vektörünü basitleştirerek birçok durum uzay modelini bütünleştirebileceğiniz kolaylıktır. Örneğin, regresörleri, mevsimsel faktörleri ve otoregresif bir bileşeni tek bir modelde sorunsuz bir şekilde entegre edebilirsiniz.


Merhaba, "Örneğin, regresörleri, mevsimsel faktörleri ve otoregresif bir bileşeni tek bir modelde sorunsuz bir şekilde entegre edebilirsiniz." Yanlış yaparsam düzelt beni, bu ARIMA için zaman serisini durağan hale getirmeniz gerektiği anlamına mı geliyor, ancak durum uzay modeli için sadece durum değişkenlerinin sayısında değişiklik yapmanız mı gerekiyor?
Vickyyy

@Vickyyy ARIMA'nın aksine, durum uzayı modelleri durağanlık kabul etmez. Sadece birçok bileşen ekleyebilir ve bunları tek bir durum vektöründe temsil edebilirsiniz.
Anselmo

1

Doğrudan bir Durum Uzayı işlevini kullanırsanız, muhtemelen bir model oluşturan çeşitli matrisleri ve bunların nasıl etkileşime girip çalıştıklarını anlamak zorunda kalacağınızı ekleyeceğim. Bir ARIMA modelini tanımlamaktan çok bir program tanımlamaya benziyor. Dinamik bir Durum Uzayı modeliyle çalışıyorsanız, daha da karmaşıklaşır.

Gerçekten, gerçekten hoş bir Durum Alanı işlevi olan bir yazılım paketi kullanıyorsanız, bunlardan bazılarını önleyebilirsiniz, ancak R paketlerinde bu tür işlevlerin büyük çoğunluğu bir noktada ayrıntılara girmenizi gerektirir.

Kanımca, genel olarak Bayesci istatistiklerine çok benziyor, makineleri daha sık kullanılan işlevlerden daha fazla anlayışı, bakımı ve beslenmesi gerekiyor.

Her iki durumda da, ek ayrıntılar / bilgiye değer, ancak benimseme engel olabilir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.