Wykorzystanie MCMC do oceny oczekiwanej wartości funkcji wielowymiarowej


10

Pracuję nad projektem badawczym związanym z optymalizacją, a ostatnio wpadłem na pomysł, aby użyć MCMC w tym ustawieniu. Niestety, jestem dość nowy w metodach MCMC, więc miałem kilka pytań. Zacznę od opisu problemu, a następnie zadam pytania.

Nasz problem sprowadza się do oszacowania oczekiwanej wartości funkcji kosztu gdzie jest losową zmienną h o gęstości f (\ omega) .c(ω)H C ( ω )ω=(ω1,ω2,...ωh)hf(ω)

W naszym przypadku wersja c (\ omega) w formie zamkniętej c(ω)nie istnieje. Oznacza to, że musimy zastosować metody Monte Carlo do przybliżenia oczekiwanej wartości. Niestety okazuje się, że szacunki E[c(ω)] które są generowane metodami MC lub QMC, mają zbyt dużą wariancję, aby były użyteczne w praktyce.

Jeden pomysł, że musieliśmy użyć ważnego rozkładu próbkowania do wygenerowania punktów próbkowania, które wytworzą oszacowanie niskiej wariancji E[c(ω)] . W naszym przypadku idealny rozkład próbkowania, g(ω) , musi być w przybliżeniu proporcjonalny do c(ω)f(ω) . Widząc, jak g(ω) jest znane aż do stałej, zastanawiam się, czy mogę użyć MCMC wraz z rozkładem propozycji c(ω)f(ω) aby ostatecznie wygenerować próbki z g(ω) .

Moje pytania tutaj:

  • Czy można używać MCMC w ramach tego ustawienia? Jeśli tak, to jaka metoda MCMC byłaby odpowiednia? Pracuję w MATLAB, więc preferuję wszystko, co ma już implementację MATLAB.

  • Czy są jakieś techniki, których mogę użyć do przyspieszenia okresu wypalania MCMC. I jak mogę stwierdzić, że osiągnięto stacjonarny rozkład? W takim przypadku obliczenie dla danego zajmuje sporo czasu .ωc(ω)ω


literówka w ostatnim akapicie? zamiast ? c ( w )C(w)c(w)
mpiktas

Nie musisz używać metod Monte Carlo dla całek wielowymiarowych tylko dlatego, że nie istnieje zamknięta forma. Państwo mogli korzystać z metod opartych na nielicznych siatek . Sam nie znam jednak zalet i wad.
onestop

@onon - masz rację, że rzadkie siatki działają nieco lepiej w moim przypadku, choć chciałbym również przetestować ten pomysł.
Berk U.

Brzmi trochę jak finanse.
Wok,

1
Można go zastosować do finansowania. Używamy go jednak do optymalnego zarządzania systemami elektroenergetycznymi :)
Berk U.

Odpowiedzi:


4

Zawsze pamiętam, że MCMC jest po prostu narzędziem do integracji numerycznej (i raczej nieefektywnym). To nie jest żadna magiczna / mistyczna rzecz. Jest bardzo przydatny, ponieważ można go stosunkowo łatwo zastosować. Nie wymaga wiele myślenia w porównaniu z innymi technikami integracji numerycznej. Na przykład nie musisz robić żadnych instrumentów pochodnych. Musisz tylko wygenerować „liczby losowe”.

Jednak, jak każda metoda integracji numerycznej, nie jest to uniwersalne narzędzie catch all. Są warunki, kiedy jest to użyteczne, i warunki, gdy nie jest to przydatne.

Rozsądniej jest ustawić inną technikę. W zależności od tego, jak duży jest , i jak szybki jest twój komputer oraz ile czasu jesteś przygotowany na oczekiwanie na wyniki. Równomierna siatka może wykonać zadanie (choć wymaga to małej lub długiego oczekiwania). „Zadaniem” jest ocena całki - równanie nie przejmuje się tym, jakie znaczenie przypisujemy tobie lub ja do wyniku (a zatem nie ma znaczenia, czy uzyskaliśmy wynik losowo, czy nie).hhh

Dodatkowo, jeśli twoje oszacowania są dość dokładne, będzie ostro pikowany i będzie bardzo przypominać funkcję delta, więc całka skutecznie zastępuje .f ( ω ) ω ω m a xωf(ω)ωωmax

Inną techniką integracji numerycznej jest użycie szeregu Taylora pod całką. f(ω)f(ωmax)+(ωωmax)f(ωmax)+12(ωωmax)2f(ωmax)+

Jest to przydatna strategia, gdy momenty można łatwo uzyskać.ω

Edwin Jaynes ma ładny cytat na ten temat:

ilekroć istnieje zrandomizowany sposób robienia czegoś, istnieje sposób nierandomizowany, który daje lepsze wyniki, ale wymaga więcej myślenia

Jednym z „bardziej myślących” sposobów jest użycie „warstwowej MCMC” do wykonania całki. Zamiast „losowo” wybierać miejsce w całej przestrzeni parametrów: podzielić je na „warstwy”. Te „warstwy” należy wybrać, aby uzyskać dobry zasięg wysokiej części całki. Następnie losowo próbkuj w ramach każdej warstwy. Wymaga to jednak napisania własnego kodu, który sobie wyobrażam (tj. Więcej myślenia).


Dziękuję bardzo za twój post. Bardzo podoba mi się twój rozwarstwiony pomysł MC. Zastanawiałem się, czy wiedziałeś o jakichkolwiek zasobach na ten temat, abym mógł o tym poczytać? Cokolwiek z przykładem w działaniu byłoby bardzo mile widziane.
Berk U.

To pomysł, który miałem, więc nie znam żadnych zasobów. Można go umieścić w strukturze MCMC, dodając kolejną warstwę, która definiuje warstwy. Jedną z moich głównych słabości jest robienie rzeczy - mam na myśli myśliciela! Wiem, że to ci bardzo nie pomaga i przepraszam za to. Ale z pewnością nie jestem jedyną osobą, która o tym pomyślała. Każdy, kto zrobił statystyki „oparte na projektowaniu” i „statystyki bayesowskie”, z pewnością o tym pomyślał.
prawdopodobieństwo prawdopodobieństwa

2

Nic nie wskazuje na to, że twoje zmienne tutaj są skorelowane, więc nie wiem, dlaczego miałbyś używać MCMC w przeciwieństwie do zwykłego Monte Carlo. Istnieje wiele różnych metod próbkowania, w tym wspomniane próbkowanie warstwowe (hipersześcian łaciński) i QMC. Metody rzadkiej kwadratury są bardzo dobre, jeśli wymiar problemu nie jest zbyt wysoki (nie więcej niż 10), ponieważ rzadkie siatki kwadraturowe rosną geometrycznie (przekleństwo wymiarowości).

Ale wygląda na to, że jesteś na dobrej drodze, jeśli chodzi o ważność próbkowania. Kluczem tutaj jest wybór stronniczego rozkładu, który ma duże prawdopodobieństwo skoncentrowane w pobliżu twojego regionu zainteresowania i że ma grubsze ogony niż rozkład nominalny.

Chciałbym dodać, że jest to otwarty problem badawczy, więc jeśli możesz wymyślić coś dobrego, byłoby to bardzo interesujące dla społeczności!


Dzięki za to! Czy mógłbyś bardziej szczegółowo wyjaśnić związek między skutecznością MCMC a korelacją między zmiennymi? Zawsze myślałem, że MCMC zapewni przewagę nad istniejącymi technikami integracji numerycznej, gdy zmienne są skorelowane - chociaż nie mogę podać dobrego powodu, dla którego tak się stanie.
Berk U.

0

Ponieważ nikt nie wydawał się odpowiadać bezpośrednio na pytanie: tak, możesz użyć MCMC do próbkowania z . MCMC można wykorzystać do próbkowania z dowolnego rozkładu, w którym rozkład jest znany tylko do stałej proporcjonalności.g(ω)

Ponadto możesz poszukać technik redukcji wariancji w polu integracji MC. Świetnym, niezależnym zestawem zasobów są bezpłatne rozdziały książek dostępne w Art Owen w Stanford. W szczególności rozdziały 8, 9 i 10.

Znajdziesz tam dogłębne zabiegi adaptacyjnego próbkowania, rekurencji i innych technik.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.