Overfitting to dopasowanie modelu lub reguł decyzyjnych do szczególnych cech dostępnej próby rozwojowej kosztem zdolności uogólnienia zależności na dalsze dane. Dotyczy również procesu wyboru między kandydatami; jakości nie można oceniać wyłącznie według wyniku, który jednocześnie zdecydował o zwycięzcy.
QuantConnect opisuje Overfitting jako zbyt ścisłe dopasowanie do ograniczonego zbioru treningowego, które wychwytuje jego szczegóły i szum kosztem wyników na nowych danych. Nasze rozróżnienie: problemem nie jest samo uczenie się z historii, lecz uznanie cechy konkretnej próby za prawidłowość dającą się przenieść. W handlu przeuczony może być również ręcznie skonstruowany zestaw warunków, nie tylko złożony model automatyczny. Atrakcyjna krzywa lub dobry wynik punktowy na danych rozwojowych nie są więc jeszcze niezależnym potwierdzeniem procedury. [QuantConnect — Optimization Parameters]
Dokumentacja scikit-learn pokazuje różnicę między zbyt prostym modelem, który nie potrafi uchwycić zależności, a modelem wrażliwym na konkretne próbki treningowe. Nasz wniosek: sama liczba parametrów nie wystarcza do rozpoznania przeuczenia. Uproszczenie lub ograniczenie elastyczności modelu może pomóc, ale może też usunąć użyteczną zależność. Decyzja powinna opierać się na ustalonej z góry ocenie na odpowiednich, oddzielnych danych. Nawet późniejszy wybór najprostszej wersji na podstawie już obejrzanego testu nie przywraca temu testowi niezależnej roli. [scikit-learn — Validation and Learning Curves]
Bailey i współautorzy ostrzegają przed fałszywymi odkryciami przy wielokrotnym testowaniu strategii na tych samych danych. Nasz wniosek metodologiczny: należy zapisywać nie tylko parametry zwycięzcy, ale też wcześniejszych kandydatów, zmiany reguł i kryterium wyboru. Nawet prosta strategia końcowa może być wynikiem rozległych poszukiwań. Presji selekcyjnej nie widać z jej ostatniego zapisu. Prawdopodobieństwa przeuczenia nie da się określić wyłącznie na podstawie liczby wariantów; zależy również od danych, ich zależności i sposobu poszukiwania. [Bailey et al. — The Probability of Backtest Overfitting]
Przykład zagnieżdżonej walidacji w scikit-learn oddziela wewnętrzny wybór parametrów od zewnętrznej oceny całej procedury wyboru. Użycie tych samych wyników do wyboru i przedstawiania jakości prowadzi do nadmiernie optymistycznej oceny. Nasz wymóg to opisanie tej granicy przed próbą oraz włączenie do procesu wyboru także przetwarzania wstępnego i doboru wskaźników. Jeżeli na podstawie wyniku zewnętrznego dalej zmieniamy projekt, ta informacja również weszła do rozwoju. Zagnieżdżona struktura nie daje przyzwolenia na wielokrotne dostrajanie do tego samego końcowego testu. [scikit-learn — Nested versus Non-nested Cross-validation]
Dokumentacja scikit-learn ostrzega, że zwykły podział zakładający niezależne próbki może przy danych zależnych w czasie zniekształcić ocenę zdolności uogólniania. Nasza kontrola testu handlowego zachowuje więc kolejność informacji i sprawdza, czy każdy element wejściowy użyty do decyzji oraz każdy wynik docelowy użyty do treningu lub wyboru reguły był już dostępny w odpowiedniej chwili. Kolejny okres nie powinien wybierać reguły dla wcześniejszego momentu. Walk-forward Analysis pomaga opisać tę kolejność, ale wielokrotne zmiany jej protokołu na podstawie tych samych wyników są ponownie rozwojem, a nie nowym niezależnym dowodem. [scikit-learn — Cross-validation: Evaluating Estimator Performance]
scikit-learn wymaga uczenia przekształceń, takich jak normalizacja lub wybór cech, wyłącznie na części treningowej, a dopiero potem stosowania ich do testu. Nasze rozróżnienie: wyciek niedostępnych informacji i przeuczenie są problemami powiązanymi, lecz nie tożsamymi. Strategia może dopasować się do szumu nawet bez dostępu do przyszłych wierszy; z kolei wyciek może stworzyć optymistyczną ocenę również dla prostego modelu. Dlatego sprawdzamy nie tylko podział tabeli, lecz całą procedurę od przygotowania danych po ostateczną decyzję. [scikit-learn — Common Pitfalls: Data Leakage]
Krzywe walidacyjne i uczenia w scikit-learn porównują zachowanie na części treningowej i walidacyjnej przy zmianie ustawień lub ilości danych. Nasza granica interpretacji: sam gorszy późniejszy wynik nie dowodzi jednej określonej przyczyny. Na rynku mogą zmienić się otoczenie, jakość danych lub koszty realizacji; na krótki odcinek może wpływać przypadek. Badamy stabilność pobliskich ustawień i różnice warunków, ale zapisujemy każde nowe poszukiwanie po zapoznaniu się z wynikami. Diagnozy nie przedstawiamy jako automatycznej certyfikacji statystycznej. [scikit-learn — Validation and Learning Curves]
NFA ostrzega, że wyniki hipotetyczne nie są rzeczywistym handlem i nie oddają w pełni płynności, poślizgu cenowego ani reakcji na rzeczywistą stratę. Nasz raport oddziela więc wyniki rozwojowe od późniejszych, podaje wszystkie znane próby, koszty i ograniczenia danych. Ewentualna dalsza weryfikacja musi mieć reguły zapisane przed rozpoczęciem. Niższe ryzyko błędu metodologicznego nie jest tym samym co udowodniona przewaga handlowa. Nawet dotąd niewykorzystane dane nie mogą zagwarantować wyniku w przyszłych warunkach rynkowych. [NFA — Use of Promotional Material Containing Hypothetical Performance Results]
Zwycięzca wyboru nie musi wygrać w późniejszym teście
Pełniejszy obraz uzyskasz, czytając to hasło razem z Backtesting, Walk-forward Analysis, Look-ahead Bias, Paper Trading, Trading Journal. Do tego hasła prowadzą również odsyłacze z Technical analysis, Technical indicator, Moving average crossover, Relative Strength Index.
01Czy prosta strategia też może być przeuczona?+
Tak. Prostą regułę końcową można było wybrać spośród wielu prób na podstawie tych samych danych. Ważny jest cały proces poszukiwania, a nie tylko liczba parametrów w opublikowanej wersji.
02Czy każdy zły późniejszy wynik dowodzi przeuczenia?+
Nie. Może być związany również ze zmianą rynku, kosztami, błędnymi danymi lub krótkim odcinkiem podlegającym przypadkowym wahaniom. Trzeba sprawdzić metodologię i warunki; pojedyncza różnica wyników nie określa przyczyny ani prawdopodobieństwa przeuczenia.