Matematyczne i statystyczne warunki wstępne do zrozumienia filtrów cząstek?

10

Obecnie staram się zrozumieć filtry cząstek i ich możliwe zastosowania w finansach i dość mocno się zmagam. Jakie są matematyczne i statystyczne warunki wstępne, które powinienem ponownie przejrzeć (pochodzące z podstaw finansów ilościowych), aby (i) udostępnić podstawy filtrów cząstek i (ii) później je dokładnie zrozumieć? Mam solidną wiedzę na temat ekonometrii szeregów czasowych na poziomie magisterskim, z wyjątkiem modeli przestrzeni stanów, których jeszcze nie omówiłem.

Wszelkie wskazówki są mile widziane!

Constantin
źródło
4
Statystyka bayesowska jest ważna dla tego tematu (IMHO). Nie musisz znać wielu, po prostu upewnij się, że rozumiesz związane z nim warunki (np. Prior, prawdopodobieństwo, a posterior) i to, jak wynikają one z założeń modelowania
Yair Daon,
1
Myślę, że czytanie prac Douceta to świetny pomysł, jest naprawdę dobrym pisarzem. Na swojej stronie internetowej ma obszerną listę zasobów, w tym slajdy / wykłady i filmy! Zawiera także kolejną wyczerpującą listę jednego ze swoich kolegów.
bdeonovic

Odpowiedzi:

9

Możesz osiągnąć szokująco daleko za pomocą zaledwie kilku podstawowych koncepcji. Notacja, eksplozja zmiennych itp ... może dokonać rzeczy wyglądają skomplikowane, ale ideą filtrowania cząstek jest niezwykle proste.

Pewne podstawowe prawdopodobieństwo, które musisz (i prawdopodobnie już zrozumiałeś!) Zrozumieć:

  • Obliczanie rozkładu krańcowego :P(X=x)=iP(X=x,Y=yi)
  • Def. Prawdopodobieństwo warunkowe:P(XY)=P(X,Y)P(Y)
  • Zasada Bayesa:P(XY)=P(YX)P(X)P(Y)
  • Terminy bayesowskie: np. wcześniej, prawdopodobieństwo, później (+1 @ Yair Daon, zgadzam się!)

Podstawowe kroki filtra cząstek są niezwykle proste:

Pierwszy:

  • Zacznij od przekonań na temat ukrytego stanu. Na przykład możesz zacząć od przekonania, że ​​Twoja rakieta znajduje się na wyrzutni. (W filtrze cząstek wiara w stan ukryty będzie reprezentowana przez chmurę punktów, każdy punkt oznacza możliwą wartość stanu ukrytego. Każdy punkt jest również związany z prawdopodobieństwem stanu prawdziwego).

Następnie wykonujesz kolejne kroki, aby zaktualizować od czasu do czasu :t + 1tt+1

  1. Krok prognozy: Przesuń lokalizację punktów do przodu w oparciu o zasadę ruchu. (np. przesuń punkty do przodu w oparciu o aktualną prędkość rakiety, trajektorię itp.). Zazwyczaj rozszerza to chmurę punktów wraz ze wzrostem niepewności.
  2. Krok aktualizacji prawdopodobieństwa: Użyj danych, danych wejściowych czujnika, aby zaktualizować prawdopodobieństwa związane z punktami za pomocą reguły Bayesa. Zwykle zawinie to chmurę punktów, gdy niepewność zostanie zmniejszona.
  3. Dodaj kilka kroków / sztuczek związanych z filtrowaniem cząstek. Na przykład. :
    • Czasami ponownie próbkuj punkty, aby każdy punkt miał jednakowe prawdopodobieństwo.
    • Dodaj trochę szumu, nie dopuść do tego, by stopień prawdopodobieństwa (2) zbytnio nie zawinął chmury punktów (w filtrowaniu cząstek ważne jest, aby w twoim prawdziwym położeniu znajdował się co najmniej jeden punkt z prawdopodobieństwem dodatnim!)

Przykład:

Zainicjuj filtr: - Spójrz na swoją lokalizację, w której stoisz. Teraz zamknij oczy.

Następnie iteruj:

  1. Zrób krok do przodu z zamkniętymi oczami.
  2. Krok przewidywania: podany przeszłości przekonania o tym, gdzie zostały stojąca, przewidzieć, gdzie jesteś teraz stoi dany krok naprzód. (Zauważ, jak niepewność się rozszerza, ponieważ twój krok do przodu z zamkniętymi oczami nie jest super precyzyjny!)
  3. Krok aktualizacji: Użyj czujników (np. Czując się wokół, itp ...), aby zaktualizować swoje przekonania na temat tego, gdzie stoisz.

POWTARZAĆ!

Maszyneria prawdopodobieństwa wymagana do wdrożenia jest w zasadzie podstawowym prawdopodobieństwem: reguła Bayesa, obliczanie rozkładu krańcowego itp.

Wysoce powiązane pomysły, które mogą pomóc zrozumieć szerszy obraz:

W pewnym sensie kroki (1) i (2) są wspólne dla każdego problemu filtrowania bayesowskiego . Niektóre wysoce powiązane pojęcia, o których można przeczytać:

  • Ukryty model Markowa . Proces jest Markowem, jeśli przeszłość jest niezależna od przyszłości, biorąc pod uwagę obecny stan. Prawie każda seria czasowa jest modelowana jako pewnego rodzaju proces Markowa. Ukryte Markov model to taki, w którym nie jest bezpośrednio zaobserwować stan (np. Nigdy bezpośrednio obserwować dokładną lokalizację swojej rakiety i zamiast wywnioskować to miejsce przez filtr Bayesa).
  • Filtr Kalmana . Jest to alternatywa dla powszechnie stosowanego filtrowania cząstek. Zasadniczo jest to filtr bayesowski, w którym zakłada się, że wszystko jest wielowymiarowym gaussowskim.
Matthew Gunn
źródło
2

Najpierw powinieneś dowiedzieć się o łatwiejszych do zakodowania modelach przestrzeni stanów i filtrowaniu w formie zamkniętej (tj. Filtry Kalmana, ukryte modele Markowa). Matthew Gunn ma rację, że można osiągnąć zaskakująco daleko za pomocą prostych koncepcji, ale moim skromnym zdaniem powinieneś uczynić to celem pośrednim, ponieważ:

1.) Względnie w modelach przestrzeni stanów jest więcej ruchomych części. Kiedy uczysz się SSM lub ukrytych modeli markowa, jest dużo notacji. Oznacza to, że w pamięci roboczej jest więcej rzeczy do zapamiętania podczas zabawy. Osobiście, kiedy uczyłem się najpierw o filtrach Kalmana i liniowo-gaussowskich SSM, zasadniczo myślałem „eh, to wszystko są po prostu właściwości wielowymiarowych wektorów normalnych ... Muszę tylko śledzić, która macierz jest która”. Ponadto, jeśli przełączasz się między książkami, często zmieniają notację.

Potem pomyślałem o tym jak „eh, to wszystko jest tylko reguła Bayesa w każdym momencie”. Kiedy pomyślisz o tym w ten sposób, rozumiesz, dlaczego rodziny sprzężone są ładne, jak w przypadku filtra Kalmana. Kiedy kodujesz ukryty model markowa z jego dyskretną przestrzenią stanów, widzisz, dlaczego nie musisz obliczać żadnego prawdopodobieństwa, a filtrowanie / wygładzanie jest łatwe. (Myślę, że odbiegam od konwencjonalnego żargonu hmm tutaj.)

2.) Obcinanie zębów przy kodowaniu wielu z nich sprawi, że zrozumiesz, jak ogólna jest definicja modelu przestrzeni stanów. Już niedługo zapiszesz modele, których chcesz użyć, a jednocześnie zobaczysz, dlaczego nie możesz. Najpierw zobaczysz, że nie możesz tego zapisać w jednej z tych dwóch form, do których jesteś przyzwyczajony. Kiedy zastanowisz się nad tym trochę, spisujesz zasadę Bayesa i widzisz, że problemem jest twoja niezdolność do obliczenia pewnego prawdopodobieństwa dla danych.

Więc ostatecznie nie uda ci się obliczyć tych rozkładów bocznych (wygładzanie lub filtrowanie rozkładów stanów). Aby temu zaradzić, istnieje wiele przybliżonych elementów filtrujących. Filtrowanie cząstek jest tylko jednym z nich. Główna zaleta filtrowania cząstek: symulujesz na podstawie tych rozkładów, ponieważ nie możesz ich obliczyć.

Jak symulujesz? Większość algorytmów to tylko pewien wariant ważnego próbkowania. Ale tutaj również się komplikuje. Polecam ten samouczek autorstwa Douceta i Johansena ( http://www.cs.ubc.ca/~arnaud/doucet_johansen_tutorialPF.pdf ). Jeśli zrozumiesz, jak działa filtrowanie zamkniętych formularzy, przedstawiają one ogólną ideę ważenia próbkowania, następnie ogólną ideę metody Monte Carlo, a następnie pokazują, jak korzystać z tych dwóch rzeczy, aby zacząć od ładnego przykładu szeregów czasowych. IMHO, to najlepszy poradnik na temat filtrowania cząstek, z jakim się spotkałem.

Oprócz dodania dwóch nowych pomysłów do miksu (ważność próbkowania i metoda Monte Carlo), teraz jest więcej notacji. Niektóre gęstości, z których próbujesz od teraz; niektóre oceniasz, a kiedy je oceniasz, oceniasz na podstawie próbek. Wynik, po zakodowaniu wszystkiego, są ważonymi próbkami, uważanymi za cząstki. Zmieniają się po każdej nowej obserwacji. Bardzo trudno byłoby to wszystko zebrać na raz. Myślę, że to proces.

Przepraszam, jeśli wydaje mi się, że jestem tajemniczy lub zręczny. To tylko oś czasu dla mojej osobistej znajomości tematu. Post Matthew Gunna prawdopodobnie bardziej bezpośrednio odpowiada na twoje pytanie. Właśnie pomyślałem, że wyrzucę tę odpowiedź.

Taylor
źródło