Jak obsługiwać nieistniejące (nie brakujące) dane?

11

Nigdy tak naprawdę nie znalazłem żadnego dobrego tekstu ani przykładów na temat obsługi „nieistniejących” danych dla danych wejściowych do dowolnego rodzaju klasyfikatora. Dużo czytałem o brakujących danych, ale co można zrobić z danymi, które nie mogą istnieć lub nie istnieją w odniesieniu do danych wejściowych na wielu odmianach. Rozumiem, że to bardzo złożone pytanie i będzie się różnić w zależności od zastosowanych metod szkoleniowych ...

Np. Jeśli próbujesz przewidzieć czas postoju dla kilku biegaczy z dobrymi dokładnymi danymi. Wśród wielu danych wejściowych możliwe są między innymi zmienne:

  1. Zmienna wejściowa - Pierwszy biegacz (T / N)
  2. Zmienna wejściowa - poprzedni czas laptime (0-500 sekund)
  3. Zmienna wejściowa - wiek
  4. Zmienna wejściowa - wysokość. . . wiele innych zmiennych wejściowych itp

& Output Predictor - Przewidywany czas pracy (0 - 500 sekund)

„Brakującą zmienną” dla „2. Wcześniejszego czasu oczekiwania” można obliczyć na kilka sposobów, ale „1. Pierwszy biegacz zawsze będzie równy N. Ale dla „NIEDOSTĘPNYCH DANYCH” dla pierwszego biegacza (gdzie „1. Pierwszy raz biegacz” = Y) jaką wartość / leczenie powinienem podać dla „2. Poprzedni czas laptime?

Na przykład przypisując „2. Poprzedni czas laptime jako -99 lub 0 może dramatycznie wypaczyć dystrybucję i sprawić, że nowy biegacz osiągnie dobre wyniki.

Moje obecne metody szkoleniowe wykorzystują regresję logistyczną, SVM, NN i drzewa decyzyjne

osknows
źródło
Powinienem dodać, że odrzuciłem nowych biegaczy zarówno z danych treningowych, jak i prognostycznych z powodu wewnętrznej niepewności, ale doceniłbym lepsze metody niż „Ignoruj”
osknows

Odpowiedzi:

6

Zamiast przypisywać specjalną wartość nieistniejącemu czasowi pierwszego okrążenia po raz pierwszy, wystarczy użyć terminu interakcji dla czasu poprzedniego okrążenia z odwrotnością manekina pierwszego biegacza:

Yi=β0+β1FTRi+β2(NFTRi)×PLTi+...

tutaj

  • Yi
  • ...
  • FTRi
  • PLTi
  • NFTRiFTRi=0

Model dla początkujących biegaczy to:

Yi=(β0+β1)+...

a dla biegaczy nie pierwszy raz:

Yi=β0+β2PLTi+...
mpiktas
źródło
8

W przypadku regresji logistycznej dopasowanej do maksymalnego prawdopodobieństwa, o ile masz zarówno (1), jak i (2) w modelu, to bez względu na „domyślną” wartość, którą podajesz nowym biegaczom dla (2), oszacowanie dla (1) dostosuje się odpowiednio.

X1X2 będzie zmienną „poprzedni czas okrążenia w sekundach”. Zatem predyktorem liniowym jest:

η=α+β1X1+β2X2+

X2

η=α+β1+

podczas gdy dla istniejącego biegacza będzie to:

η=α+β2X2+

X2

η=α+β199β2+

β199β2=β1 , a ponieważ maksymalne prawdopodobieństwo jest niezmienne paremeteryzacji, oszacowania odpowiednio się dostosują.

Oczywiście, jeśli nie używasz maksymalnego prawdopodobieństwa (tj. Używasz pewnego rodzaju kary lub wcześniejszych parametrów), wtedy otrzymasz różne wartości, chyba że odpowiednio dostosujesz karę / wcześniej. A jeśli model jest nieliniowy (np. SVM, NN i drzewa decyzyjne), ten argument w ogóle nie działa.

Simon Byrne
źródło