Jak znaleźć i ocenić optymalną dyskretyzację zmiennej ciągłej z kryterium ?

9

Mam zestaw danych ze zmienną ciągłą i binarną zmienną docelową (0 i 1).

Muszę zdyskretyzować zmienne ciągłe (w przypadku regresji logistycznej) w odniesieniu do zmiennej docelowej oraz z ograniczeniem, że częstotliwość obserwacji w każdym przedziale powinna być zrównoważona. Próbowałem algorytmów uczenia maszynowego, takich jak Chi Merge, drzewa decyzyjne. Scalanie chi dało mi interwały z bardzo niezrównoważonymi liczbami w każdym interwale (interwał z 3 obserwacjami i kolejny z 1000). Drzewa decyzyjne były trudne do interpretacji.

Doszedłem do wniosku, że optymalna dyskretyzacja powinna zmaksymalizować statystykę między zmienną dyskretyzowaną a zmienną docelową i powinna mieć interwały zawierające w przybliżeniu taką samą liczbę obserwacji.χ2

Czy istnieje algorytm do rozwiązania tego?

Tak mogłoby to wyglądać w R (def jest zmienną docelową x zmienną do dyskretyzacji). Obliczyłem Tschuprowa, aby ocenić „korelację” między zmienioną i zmienną docelową, ponieważ statystyki zwykle rosną wraz z liczbą przedziałów. Nie jestem pewien, czy to właściwa droga.Tχ2

Czy istnieje inny sposób oceny, czy moja dyskretyzacja jest optymalna, inny niż Tschuprowa (zwiększa się, gdy maleje liczba klas)?T

chitest <- function(x){
  interv <- cut(x, c(0, 1.6,1.9, 2.3, 2.9, max(x)), include.lowest = TRUE)
  X2 <- chisq.test(df.train$def,as.numeric(interv))$statistic
  #Tschuprow
  Tschup <- sqrt((X2)/(nrow(df.train)*sqrt((6-1)*(2-1))))
  print(list(Chi2=X2,freq=table(interv),def=sum.def,Tschuprow=Tschup))
}
Charlotte
źródło
2
Być może wiesz o tym; ale, dla przypomnienia, (1) nie jest konieczne ani często pożądane dyskrecjonowanie predyktorów dla regresji logistycznej, i (2) użycie odpowiedzi do zdefiniowania predyktorów wprowadza optymistyczne nastawienie do oceny wydajności predykcyjnej twojego modelu, i to jest dlatego ważne jest, aby sprawdzić poprawność całej procedury dopasowania (tj. włączając metodę użytą do utworzenia predyktorów).
Scortchi - Przywróć Monikę
Ok, jak mogę zweryfikować dyskretyzację, jak to działa?
Charlotte,
Jeśli korzystasz np. Z walidacji krzyżowej, wówczas w każdej zakładce nie tylko przeprowadzasz regresję logistyczną, stosując „optymalną” dyskretyzację predyktorów określonych z całej próbki, ale ponownie obliczasz „optymalną” dyskretyzację.
Scortchi - Przywróć Monikę

Odpowiedzi:

8

Istnieje wiele możliwych sposobów dyskretyzacji zmiennej ciągłej: patrz [Garcia 2013]

Na stronie 739 widziałem co najmniej 5 metod opartych na chi-kwadrat. Optymalizacja dyskretyzacji zależy od zadania, w którym chcesz użyć zmiennej dyskretyzowanej. W twoim przypadku regresja logistyczna. I jak omówiono w Garcia 2013, znalezienie optymalnej dyskretyzacji dla danego zadania jest NP-zakończone.

Istnieje jednak wiele heurystyk. W tym artykule omawiają co najmniej 50 z nich. Biorąc pod uwagę moje wykształcenie maszynowe (wydaje mi się, że ludzie w statystykach wolą inne rzeczy), jestem często stronniczy w stosunku do metody Fayyada i irańskiej metody minimalnej długości opisu (MDL). Widzę, że jest dostępny w dyskretyzacji pakietu R.

Jak powiedziałeś, Chi-kwadrat jest ukierunkowany na dużą liczbę interwałów i wiele innych statystyk (takich jak przyrost informacji wykorzystywany w metodzie MDL). Jednak MDL stara się znaleźć dobry kompromis między przyrostem informacji zmiennej dyskretyzowanej a klasą i złożonością (liczbą interwałów) zmiennej dyskretyzowanej. Spróbuj.

Simone
źródło
Twój link do Garcia 2013 wydaje się być zepsuty ... czy mógłbyś opublikować więcej szczegółów na temat tego artykułu lub ponownie połączyć?
Kiran K.
2
@KiranK. Dzięki, że dałeś mi znać. Naprawiłem link.
Simone