Czy podczas budowania modelu regresji przy użyciu oddzielnych zestawów modelowania / sprawdzania poprawności należy „ponownie wprowadzić do obiegu” dane sprawdzania poprawności?


13

Załóżmy, że mam podział 80/20 między obserwacjami modelowania / walidacji. Dopasowałem model do zestawu danych modelowania i czuję się dobrze z błędem, który widzę w zestawie danych sprawdzania poprawności. Przed wdrożeniem mojego modelu do oceny przyszłych obserwacji, czy właściwe jest połączenie weryfikacji z powrotem z danymi modelowania, aby uzyskać zaktualizowane oszacowania parametrów dla danych 100%? Słyszałem o tym dwie perspektywy:

  1. Walidacja, którą wykonałem, była walidacją struktury modelu, tj. Zestawu predyktorów i transformacji, które zastosowałem. Nie ma sensu zostawiać 20% moich danych w tabeli, gdybym mógł ich użyć do zaktualizowania moich oszacowań.

  2. Sprawdzanie poprawności, które przeprowadziłem, było częściowo sprawdzeniem poprawności parametrów obliczonych na moim zestawie danych modelowania. Jeśli zaktualizuję dopasowanie modelu, zmieniłem szacunki i nie mam już obiektywnego sposobu na przetestowanie wydajności zaktualizowanego modelu.

Zawsze śledziłem argument nr 1, ale ostatnio słyszałem, jak kilka osób argumentowało nr 2. Chciałem zobaczyć, co myślą o tym inni. Czy widziałeś jakieś dobre dyskusje w literaturze lub gdzie indziej na ten temat?

Odpowiedzi:


6

Opcja 1 jest poprawna. Możesz dodać zestaw danych sprawdzania poprawności, aby zaktualizować parametry swojego modelu.

To jest odpowiedź. Teraz omówmy to. Fakt, że to, co zrobiłeś, był twoją opcją 1. powyżej, jest wyraźniejszy, jeśli wykonałeś albo k-krotnie krzyżową weryfikację ładowania początkowego (i powinieneś to zrobić - nie wynika to z twojego pytania).

W 5-krotnej walidacji krzyżowej dzielisz posiadane dane na 5 losowych zestawów o jednakowej wielkości. Nazwijmy je A, B, C, D i E. Następnie poznasz parametry swojego modelu (samego modelu) w 4 zestawach, powiedzmy A, B, C i D, i przetestujesz go lub potwierdzisz w piąty model E. (Zrobiłeś to). Ale następnie wybierasz inny zestaw jako test / walidację (powiedzmy D) i uczysz się używając innych 4 (A, B, C i E). Przetestuj na D, powtórz.

Błąd, który Twój model predykcyjny jest średnim błędem z 5 testów - i masz pewne zrozumienie, w jaki sposób błąd predykcyjny zależy od zestawu uczenia się i testowania. W najlepszym przypadku wszystkie 5 miar błędu jest podobnych i możesz mieć pewność, że Twój model będzie działał na tym poziomie w przyszłości.

Ale jaki model? Dla każdego zestawu zestawów edukacyjnych będziesz mieć inny parametr dla modelu. Uczenie się z A, B, C, D generuje zestaw parametrów P1, uczenie się z A, B, C, E, zestaw parametrów P2, aż do P5. Żaden z nich nie jest twoim modelem.

To, co przetestowałeś, to oczekiwany błąd procedury konstruowania modeli , procedura, którą zastosowałeś, gdy zestaw do nauki to A, B, C, D i kiedy był to A, B, C, E i tak dalej. Czy ta procedura generuje model z oczekiwanym błędem.

Jaki jest więc ostateczny model? Jest to zastosowanie procedury do wszystkich dostępnych danych (A, B, C, D i E). Nowy model z zestawem parametrów P0, którego nigdy wcześniej nie wygenerowałeś, nie masz danych do jego przetestowania (ponieważ „wykorzystałeś” wszystkie dane przy określaniu parametrów P0), a jednak masz uzasadnione oczekiwania, że ​​będzie on działał w przyszłości dane jak inne modele (P1, P2 ...) skonstruowane przy użyciu tej samej procedury.

Co jeśli nie wykonałeś weryfikacji krzyżowej lub bootstrapu (bootstrap jest nieco bardziej skomplikowany do wyjaśnienia - pomijam go w tej dyskusji)? Co jeśli wykonałeś tylko jeden podział uczenia / weryfikacji i jedną miarę błędu. Następnie argument 2. może być nieco poprawny, ale masz większy problem - masz tylko jedną miarę błędu modelu i nie wiesz, jak zależny jest ten błąd od danych użytych do jego sprawdzenia. Być może, na szczęście, twój zestaw 20% weryfikacji był szczególnie łatwy do przewidzenia. Nie dokonując wielu miar błędu, bardzo ryzykowne będzie założenie, że oczekiwany poziom błędu modelu predykcyjnego pozostanie taki sam dla przyszłych danych.

Jakie jest „większe ryzyko”? Czy założyć, że ten błąd pozostanie zasadniczo taki sam dla przyszłych danych, czy założyć, że dodanie większej ilości danych w celu poznania twojego modelu w jakiś sposób „spieprzy” model i zwiększy jego poziom błędu w przyszłości? Naprawdę nie wiem, jak na to odpowiedzieć, ale byłbym podejrzliwy wobec modeli, które pogorszyłyby się z większą ilością danych ...

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.