Wybór oryginalnego (?) Modelu z k-krotnie CV

9

Używając k-krotnie CV do wyboru spośród modeli regresji, zwykle obliczam błąd CV osobno dla każdego modelu, wraz z jego standardowym błędem SE, i wybieram najprostszy model w obrębie 1 SE modelu o najniższym błędzie CV (1 standardowa reguła błędu, patrz na przykład tutaj ). Jednak niedawno powiedziano mi, że w ten sposób przeceniam zmienność i że w konkretnym przypadku wyboru między dwoma modelami A i B powinienem naprawdę postąpić inaczej:

  • dla każdego zagięcia o długości , oblicz punktowe różnice między przewidywaniami dwóch modeli. oblicz średnią różnicę kwadratową dla zagięciaKNK
    MSDK=i=1NK(y^Aiy^Bi)2NK
  • średni pomiędzy fałdami jak zwykle i użyj tego błędu różnicy CV (wraz z jego błędem standardowym) jako estymatora błędu uogólnienia.MSDK

Pytania:

  1. Czy to ma dla ciebie sens? Wiem, że istnieją teoretyczne powody wykorzystania błędu CV jako estymatora błędu uogólnienia (nie wiem, które z tych powodów, ale wiem, że one istnieją!). Nie mam pojęcia, czy istnieją teoretyczne powody, dla których warto zastosować ten błąd CV różnicy.
  2. Nie wiem, czy można to uogólnić do porównań więcej niż dwóch modeli. Obliczanie różnic dla wszystkich par modeli wydaje się ryzykowne (wielokrotne porównania?): Co byś zrobił, gdybyś miał więcej niż dwa modele?

EDYCJA: moja formuła jest całkowicie niepoprawna, tutaj opisano prawidłową metrykę i jest ona znacznie bardziej skomplikowana. Cóż, cieszę się, że zapytałem tutaj przed oślepiającym zastosowaniem formuły! Dziękuję @Bay za pomoc w zrozumieniu jego oświecającej odpowiedzi. Prawidłowy opisany środek jest dość eksperymentalny, więc trzymam się mojego zaufanego konia roboczego, błędu CV!

DeltaIV
źródło

Odpowiedzi:

2

jest nieparzystą miarą błędu generalizacji, gdyż wstrzymanie zestaw nawet nie przyjść na zdjęciu. Wszystko to pokaże, jak skorelowane są przewidywania modelu, ale nic o tym, jak dobrze prognozuje punkt danych testowych.MSDK

Na przykład mógłbym wymyślić głupią parę predyktorów:

y^A(x,θ)=1+x,1θ

y^B(x,θ):=1+x,1θ2

W takim przypadku dostrojenie podczas krzyżowej weryfikacji powiedziałoby mi, że ustawienie ma duże, jak to możliwe, ponieważ to , ale wątpię, aby te modele były dobrymi predyktorami.θMSDK

okiem na link, ale nie widziałem tam twojego pomiaru . Andrew Gelman jest szanowanym statystykiem, więc wątpię, czy poparłby coś takiego jak wyżej, co wyraźnie zawodzi jako oszacowanie błędu uogólnienia. Jego artykuł i łącze omawiają weryfikację krzyżową Leave One Out (LOO), która nadal wymaga porównania z punktem danych testowych (tj. Wstrzymanym od treningu) jako punktem odniesienia. jest czysto „do wewnątrz” poszukuje metryczny, że nie powie nic na temat oczekiwanego błędu testu (z wyjątkiem być może, że oba modele mogą mieć podobne błędy ...).MSDKMSDK


Odpowiedź na komentarz OP

Formuła przedstawiona w komentarzu wymaga nieco kontekstu:

  1. Jest to bayesowska miara dokładności, ponieważ elpd to oczekiwana logarytmiczna gęstość predykcyjna punktowa - całkiem kęs, ale w zasadzie jest to suma oczekiwanych wartości logarytmu tylnej predykcyjnej gęstości ocenianej w każdym punkcie danych pod pewnymi wcześniejszymi predykcyjnymi gęstość szacowana za pomocą walidacji krzyżowej.
  2. Powyższą miarę (elpd) oblicza się za pomocą jednej krzyżowej walidacji, przy czym gęstość predykcyjna jest brana w pominiętym punkcie.
  3. Ich formuła (19) oblicza błąd standardowy różnicy w dokładności predykcyjnej (mierzonej za pomocą elpd) między dwoma modelami. Chodzi o to, że różnica w elpd jest asymptotycznie normalna, więc błąd standardowy ma inferencyjne znaczenie (i może być użyty do testowania, czy podstawowa różnica wynosi zero), czy też model A ma mniejszy błąd predykcji niż model B.

Tak więc istnieje wiele ruchomych części do tego pomiaru: Musisz uruchomić algorytm próbkowania MCMC, aby uzyskać punkty z gęstości parametru tylnego. Następnie należy go zintegrować, aby uzyskać gęstość predykcyjną. Następnie musisz wziąć oczekiwane wartości każdego z nich (podczas wielu losowań). To dość proces, ale ostatecznie powinien dać użyteczny błąd standardowy.

Uwaga: W trzecim pełnym akapicie poniżej równania (19) autorzy stwierdzają, że potrzebne są dalsze badania w celu ustalenia, czy to podejście dobrze sprawdza się w porównaniu modeli ... więc nie jest jeszcze dobrze przetestowane (wysoce eksperymentalne). Dlatego zasadniczo ufasz przydatności tej metody, dopóki badania uzupełniające nie sprawdzą, czy w wiarygodny sposób zidentyfikowano lepszy model (pod względem elpd ).


źródło
Rozumiem twój punkt widzenia: wyraźnie ja (podobnie jak mój kolega, który wskazał mi gazetę) nic z tego nie zrozumiałem. Czy możesz mi wyjaśnić, co nazywa Gelman „Standardowy błąd różnicy [modeli A i B]”, ? Strona 18 dokumentu powiązanego, par. 5.2 Byłoby naprawdę pomocne, gdybyś mógł podać prosty przykład, w którym pokazano, jak obliczyć ten termin. Zdecydowanie dużo tu nie rozumiem. se(elpd^LOOAelpd^LOOB)
DeltaIV
@DeltaIV Ok ... Sprawdzę odnośnik i spróbuję rozpakować tę formułę.
1
@DeltaIV ok, miałem zmianę do przeglądu. Rozszerzyłem swój post. Wydaje się, że jest to bardzo eksperymentalna (i niezweryfikowana) metoda porównywania dwóch modeli predykcyjnych. Byłbym ostrożny, używając go, chyba że możesz zweryfikować jego działanie za pomocą własnych badań Monte Carlo (tj. Czy można wybrać bardziej przewidywalny model, gdy znasz właściwą odpowiedź?).