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))
}

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.


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
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.