Kiedy używać wielu modeli do prognozowania?

13

To jest dość ogólne pytanie:

Zazwyczaj stwierdziłem, że użycie wielu różnych modeli przewyższa jeden model, gdy próbuję przewidzieć szereg czasowy na podstawie próby. Czy są jakieś dobre dokumenty, które pokazują, że kombinacja modeli przewyższy pojedynczy model? Czy istnieją jakieś najlepsze praktyki dotyczące łączenia wielu modeli?

Niektóre referencje:

Shane
źródło
Dodałem coś, co uważam za całkiem dobre źródło (niestety Podręcznik) z adnotacją, w świetle twojego komentarza / pytania poniżej mojej odpowiedzi. Zredagowałem oryginalną odpowiedź, więc pojawia się na końcu.
doug

Odpowiedzi:

8

Czasami tego rodzaju modele nazywane są zespołem. Na przykład ta strona daje ładny przegląd tego, jak to działa. Również wspomniane tam odniesienia są bardzo przydatne.

Peter Smit
źródło
3
Rzeczywiście, mieszanie jest jedną z możliwych technik łączenia. W szczególności są dwa, gdy łączysz ten sam rodzaj klasyfikatora, zwiększając (jak Adaboost) i bagging (jak Losowy Las) i mieszając, w którym łączysz różne klasyfikatory (o co pytanie Shane'a).
3
Do miksowania warto przeczytać ten artykuł z konkursu Netflix : the-ensemble.com/content/feature-weighted-linear-stacking .
Shane,
2
To zabawne, że meteorolog używa również słowa „zespół”, ale nie w połączeniu: używają go do zestawu prognoz (takich jak scenariusz) uzyskanych przez zakłócenie początkowych warunków modelu numerycznego.
robin girard
1
@ mbq w rzeczywistości nazywają siebie prezenterami i dość często używają statystyk ...
robin girard
1
@robin Wiem, dlatego to się nazywa „zespół”, a nie zbiór lub coś takiego.
10

Wydawało mi się, że ostatni rok konkursu na nagrodę NetFlix (2009) gwałtownie zmienił ogólne domniemanie dotyczące łączenia wielu algorytmów uczenia się w całej społeczności.

Na przykład moje formalne szkolenie (kursy uniwersyteckie), a następnie nadzór / mentoring w miejscu pracy nauczyły nas unikać kombinacji algorytmów, chyba że mieliśmy wyraźny powód - i „aby poprawić rozdzielczość mojego obecnego algorytmu”, nie było to naprawdę dobry powód. (Inni mogą mieć inne doświadczenia - oczywiście wnioskuję z perspektywy całej społeczności opartej wyłącznie na moim własnym doświadczeniu, chociaż moje doświadczenie w kodowaniu słabo działających algorytmów ML jest znaczne).

Mimo to istniało kilka „wzorców”, w których akceptowano łączenie algorytmów w taki czy inny sposób i faktycznie poprawiano wydajność. Dla mnie najczęstszym przykładem był algorytm ML skonfigurowany w trybie maszynowym (przypisywanie etykiety klasy do każdego punktu danych), w którym były więcej niż dwie klasy (zwykle o wiele więcej). Gdy na przykład wykorzystujemy algorytm uczenia nadzorowanego do rozwiązania czterech klas, a my zobaczymy doskonałą separację, z wyjątkiem powiedzmy klasy III w porównaniu do klasy IV. Tak więc spośród tych sześciu granic decyzji tylko jedna została rozstrzygnięta poniżej wymaganego progu. Szczególnie, gdy klasy III i IV razem stanowiły niewielki procent danych, dodając dodatkowy algorytm zoptymalizowany tylko na podstawie rozdzielczości tych dwóch klas, było dość powszechnym rozwiązaniem tego typu problemu analitycznego. (Zwykle ten „martwy punkt” był nieodłącznym ograniczeniem pierwotnego algorytmu - np. Był to klasyfikator liniowy, a granica decyzji III / IV była nieliniowa.

Innymi słowy, gdy mieliśmy wiarygodny algorytm dostosowany do środowiska przetwarzania (którym zwykle było przesyłanie strumieniowe danych) i który działał w ramach specyfikacji, z wyjątkiem pojedynczego martwego punktu, który spowodował, że nie udało się rozwiązać dwóch (lub więcej) klas, które stanowiły niewielką część danych, wtedy zawsze lepiej było „włączyć” inny specjalistyczny algorytm, aby złapać to, czego główny algorytm systematycznie brakowało.

Na koniec, na ten temat chciałbym gorąco polecić Rozdział 17, Łączenie wielu uczniów , we wstępie do Machine Learning , 2d, autor: Ethem Alpaydin, MIT Press, 2010. Zwróć uwagę, że jest to drugie wydanie opublikowane kilka miesięcy temu; pierwsze wydanie zostało opublikowane w 2004 r. i wątpię, by miało to samo pokrycie w tym temacie. (Właściwie polecam cały tekst, ale ten rozdział w szczególności, ponieważ dotyczy pytania Shane'a.)

Na 25 stronach autor podsumowuje prawdopodobnie każdy schemat kombinacji algorytmów ML, którego użyteczność została wykazana w literaturze lub praktyce akademickiej - np. Workowanie, wzmacnianie, mieszanie ekspertów, ułożone uogólnienie, kaskadowanie, głosowanie, korygowanie błędów ... ..

doug
źródło
to świetna informacja. Czy znasz jakieś dokumenty na ten temat?
Shane
(nie otrzymałem powiadomienia od SA o twoim komentarzu) Cóż, nie pisałem o żadnych artykułach, kiedy to pisałem, a po prostu nieformalnie podsumowując fragmenty moich doświadczeń związanych z Twoim pytaniem. Przejrzę moje pliki i zobaczę, co mam, ale to jest istotne.
doug
4

W następstwie odpowiedzi Piotra na metody zespołowe:

Shane
źródło
2

Najbardziej spektakularnym przykładem jest wyzwanie Netflix , które naprawdę zwiększyło popularność mieszania.


źródło
1

Oto odpowiedź nieco z lewej strony, która dotyczy tylko części „najlepszych praktyk dotyczących łączenia wielu modeli” w pytaniu. To w zasadzie dokładnie moja praca magisterska, tyle że mam do czynienia ze złożonymi, wysoce nieliniowymi modelami, które wykazują chaos i hałas - modele klimatyczne. Prawdopodobnie nie będzie to miało szerokiego zastosowania w wielu dziedzinach, ale może być przydatne w ekologii lub ekonometrii.

Do niedawna w społeczności zajmującej się modelowaniem klimatu modele były w dużej mierze po prostu rozbite razem w nieważonej średniej (zwykle po korekcie błędu systematycznego polegającej na usunięciu średniej modelu dla części lub całości okresu próby). Jest to w zasadzie to, co zrobił IPCC dla 4. raportu oceniającego (4AR) i poprzednich raportów.

Jest to mniej więcej przykład szkoły łączenia zespołów „ prawda plus błąd ”, w której domyślnie lub jawnie zakłada się, że serie obserwacyjne (np. Temperatura globalna, lokalne opady itp.) Są prawdziwe i że jeśli pobierzesz wystarczającą ilość próbek (np. uruchomione modele), hałas w uruchomionych modelach zostanie anulowany (patrz (1)).

Niedawno zastosowano metody łączenia modeli na podstawie ważenia wydajności . Ponieważ modele klimatyczne są tak hałaśliwe i mają tak wiele zmiennych i parametrów, jedynymi sposobami oceny wydajności (o których wiem) są przyjmowanie kowariancji lub przyjmowanie MSE między danymi wyjściowymi modelu a obserwowanymi szeregami czasowymi. Modele można następnie połączyć, ważąc średnią na podstawie tej miary. Jest dobry przegląd tego w (2).

Jednym z założeń tej metody łączenia symulacji jest założenie, że wszystkie modele są w miarę niezależne - jeśli niektóre byłyby wysoce zależne, zniekształcałyby średnią. To założenie było dość uczciwe dla zestawu danych użytego dla 4AR ( CMIP3 , ponieważ ten zestaw danych składał się z kilku serii modeli z wielu grup modelowania (z drugiej strony, kod jest wspólny dla społeczności zajmującej się modelowaniem, więc nadal może istnieć pewna współzależność Ciekawe spojrzenie na ten temat znajduje się w (3) Zestaw danych do następnego raportu oceniającego, CMIP5, nie ma tego nieco losowego atrybutu - niektóre zespoły modelujące będą składać kilka przebiegów, a niektóre setki. Zespoły pochodzące z różnych zespołów mogą być wytwarzane przez peturbację stanu początkowego lub przez zmiany w fizyce modelu i parametryzacji. Ponadto, ten super zestaw nie jest próbkowany w żaden systematyczny sposób - tylko ten, kto kiedykolwiek przynosi dane, jest akceptowany (w granicach rozsądku). Jest to znane w tej dziedzinie jako „ zespół okazji ”. Istnieje spora szansa, że ​​użycie nieważonego środka na takim zespole spowoduje poważne odchylenie w stosunku do modeli z większą liczbą przebiegów (ponieważ chociaż istnieją setki przebiegów, prawdopodobnie istnieje znacznie mniejsza liczba naprawdę niezależnych przebiegów).

Mój przełożony w tej chwili recenzuje artykuł opisujący proces łączenia modeli obejmujący wydajność ORAZ ważenie niezależności . Dostępny jest streszczenie artykułu konferencyjnego (4), opublikuję link do artykułu, gdy zostanie opublikowany (powolny proces, nie wstrzymuj oddechu). Zasadniczo w niniejszym dokumencie opisano proces polegający na uwzględnieniu kowariancji błędów modelu (model-obs) i obciążeniu modeli o wysokiej kowariancji ze wszystkimi innymi modelami (tj. Modelami o wysoce zależnych błędach). Obliczana jest również wariancja błędu modelu i używana jako składnik ważenia wydajności.

Warto również zauważyć, że modelowanie klimatu jest oczywiście pod ogromnym wpływem kaprysów modelowania numerycznego w ogóle. Jest coś, co nazywa się „testem śmiechu” - jeśli skończysz z modelem, który sugeruje, że globalne średnie temperatury będą do 2050 r. + 20 ° C, po prostu wyrzucisz je, ponieważ jest to wyraźnie nieistotne fizycznie. Oczywiście ten rodzaj testu jest dość subiektywny. Nie wymagałem tego jeszcze, ale spodziewam się tego w najbliższej przyszłości.

Takie jest obecnie moje rozumienie kombinacji modeli stanów w mojej dziedzinie. Oczywiście wciąż się uczę, więc jeśli trafię na coś wyjątkowego, wrócę i zaktualizuję tę odpowiedź.

(1) Tebaldi, C. i Knutti, R., 2007. Zastosowanie zespołu wielu modeli w probabilistycznych prognozach klimatycznych. Transakcje filozoficzne Royal Society A: Mathematical, Physical and Engineering Sciences, 365 (1857), s. 2053–2075.

(2) Knutti, R. i in., 2010. Spotkanie ekspertów IPCC na temat oceny i łączenia wielomodelowych prognoz klimatycznych.

(3) Masson, D. & Knutti, R., 2011. Genealogia modeli klimatycznych. Geofizy. Res. Lett, 38 (8), str. L08703.

(4) Abramowitz, G. i Bishop, C., 2010. Definiowanie i ważenie zależności modelu w prognozowaniu zespołu. W AGU Fall Meeting Abstracts. p. 07.

naught101
źródło
pierwszy akapit masz na myśli „złożone, wysoce nieliniowe modele”, prawda? W moim obszarze pracy (obszar inny niż klimatyczny) często stwierdzam, że stosowanie różnych modeli zasadniczo nie prowadzi do bardzo różnych prognoz. Jednak samo uruchomienie obliczeń w celu łączenia modeli w sposób nieadekwatny jest dla nas ogromną barierą. Oczekiwałbym dokładniejszych prognoz, ale nie mam czasu na łączenie modeli i dokładne oszacowanie błędu w tych prognozach.
probabilityislogic
Dzięki, naprawione. Mam dostęp do klastra obliczeniowego, więc moc obliczeniowa nie stanowi dużego problemu, ale tak, nawet skonfigurowanie tego modelu, którego używam prawidłowo, jest uciążliwe i jest już napisane. Dlatego CMIP istnieje, więc ludzie nie muszą za każdym razem przechodzić przez te wszystkie kłopoty. Byłbym zainteresowany, gdybyś wiedział, w jakim obszarze jesteś, jeśli robisz podobne rzeczy.
naught101