Buduję model skłonności za pomocą regresji logistycznej dla klienta użyteczności publicznej. Obawiam się, że z całej próby moje „złe” konta wynoszą zaledwie 5%, a reszta jest dobra. Przepowiadam „źle”.
- Czy wynik zostanie zakłócony?
- Jaka jest optymalna proporcja „złej do dobrej”, aby zbudować dobry model?
Odpowiedzi:
Nie zgodziłem się z innymi odpowiedziami w komentarzach, więc sprawiedliwie daję własne. Niech będzie odpowiedzią (konta dobre / złe), a X będzie współzmiennymi.Y X
W przypadku regresji logistycznej model jest następujący:
Zastanów się, w jaki sposób mogą być gromadzone dane:
Oba są odpowiednie dla powyższego modelu, ponieważ modelujesz tylko rozkład . Można by je nazwać badaniem prospektywnym .Y|X
Alternatywnie:
(Można również wybrać dane w oparciu o i pewne zmienne X : byłoby to stratyfikowane badanie kontroli przypadków i jest o wiele bardziej skomplikowane w pracy, więc nie będę się tutaj zajmował).Y X
Jest ładny wynik z epidemiologii (patrz Prentice i Pyke (1979) ), że dla badania kontrolnego przypadku, maksymalne oszacowania prawdopodobieństwa dla można znaleźć za pomocą regresji logistycznej, która wykorzystuje model prospektywny dla danych retrospektywnych.β
Jak to ma związek z twoim problemem?
Cóż, oznacza to, że jeśli jesteś w stanie zebrać więcej danych, możesz po prostu spojrzeć na złe konta i nadal używać regresji logistycznej, aby oszacować (ale musiałbyś dostosować α, aby uwzględnić nadmierną reprezentację ). Załóżmy, że kosztuje to 1 USD za każde dodatkowe konto, może to być bardziej opłacalne niż po prostu przeglądanie wszystkich kont.βja α
Ale z drugiej strony, jeśli masz już WSZYSTKIE możliwe dane, nie ma sensu stratyfikować: po prostu wyrzucałbyś dane (dając gorsze oszacowania), a następnie miałbyś problem z oszacowaniem .α
źródło
Asymptotycznie stosunek wzorców pozytywnych do negatywnych jest w zasadzie nieistotny. Problem pojawia się głównie wtedy, gdy masz za mało próbek klasy mniejszości, aby odpowiednio opisać jej rozkład statystyczny. Zwiększenie zbioru danych zasadniczo rozwiązuje problem (tam, gdzie jest to możliwe).
Jeśli nie jest to możliwe, najlepiej jest ponownie próbkować dane, aby uzyskać zrównoważony zestaw danych, a następnie zastosować mnożnikową korektę na wyjściu klasyfikatora, aby skompensować różnicę między zestawem treningowym a operacyjnymi częstotliwościami względnymi klas. Podczas gdy można obliczyć (asymptotycznie) optymalny współczynnik dostosowania, w praktyce najlepiej jest dostroić dostosowanie za pomocą weryfikacji krzyżowej (ponieważ mamy do czynienia z konkretnym przypadkiem praktycznym, a nie asymptotycznym).
W takiej sytuacji często używam komitetu modeli, w którym każdy jest szkolony we wszystkich wzorcach mniejszości i innej losowej próbce wzorców większości tego samego rozmiaru co wzorce mniejszości. Zapobiega to pechowi przy wyborze jednego podzbioru wzorców większości.
źródło
Teoretycznie będziesz w stanie lepiej rozróżniać, jeśli proporcje „dobrego” i „złego” są mniej więcej podobne. Być może uda Ci się to osiągnąć poprzez próbkowanie warstwowe, nadpróbkowanie złych przypadków, a następnie ponowne ważenie, aby powrócić do prawdziwych proporcji później.
Niesie to za sobą pewne ryzyko. W szczególności Twój model prawdopodobnie będzie oznaczać osoby jako „potencjalnie złe” - prawdopodobnie te, które mogą nie płacić rachunków za media w terminie. Ważne jest, aby wpływ błędów podczas wykonywania tej czynności był odpowiednio rozpoznawany: w szczególności ilu „dobrych klientów” zostanie oznaczonych przez model jako „potencjalnie zła”, a prawdopodobieństwo błędnej zmiany wagi jest mniejsze, jeśli nie zniekształcisz swojej model przez próbkowanie warstwowe.
źródło
Czy to ma teraz znaczenie, że masz niski odsetek awarii (złych kont)? Nie bardzo, o ile twoje przykładowe dane są zrównoważone, jak niektórzy już wskazywali. Jeśli jednak Twoje dane nie są zrównoważone, uzyskanie większej ilości danych może być prawie bezużyteczne, jeśli istnieją pewne efekty wyboru, których nie bierzesz pod uwagę. W takim przypadku powinieneś użyć dopasowania, ale brak równowagi może sprawić, że dopasowanie będzie zupełnie bezużyteczne. Inna strategia polega na znalezieniu naturalnego eksperymentu, aby można było zastosować zmienną instrumentalną lub projekt nieciągłości regresji.
Wreszcie, jeśli masz zrównoważoną próbkę lub nie ma stronniczości w selekcji, możesz martwić się faktem, że złe konto jest rzadkie. Nie sądzę, że 5% to rzadkość, ale na wszelki wypadek przejrzyj artykuł Gary'ego Kinga na temat prowadzenia logistyki rzadkich zdarzeń. W pakiecie Zelig w R można uruchomić logistykę rzadkich zdarzeń.
źródło
Okej, więc pracuję w wykrywaniu oszustw, więc ten problem nie jest dla mnie nowy. Myślę, że społeczność uczenia maszynowego ma wiele do powiedzenia na temat niezrównoważonych danych (ponieważ w klasach są niezrównoważone). Istnieje więc kilka bardzo łatwych strategii, o których myślę, że już zostały wspomniane, oraz kilka zgrabnych pomysłów i pewne rozwiązania. Nie zamierzam nawet udawać, że wiem, co to oznacza dla asymptotyków dla twojego problemu, ale zawsze wydaje mi się, że daje to rozsądne wyniki w regresji logistycznej. Może gdzieś tam jest papier, choć nie jestem pewien.
Oto twoje opcje, jakie widzę:
W każdym razie zastosowałem wszystkie te metody, ale uważam, że najprostszym jest ponowne rozważenie problemu regresji logistycznej. Jedną rzeczą, którą możesz zrobić, aby sprawdzić swój model, jest wzięcie:
-Intercept/beta
To powinna być granica decyzji (50% prawdopodobieństwa przynależności do jednej z klas) na danej zmiennej ceteris paribus . Jeśli to nie ma sensu, np. Granica decyzji jest liczbą ujemną na zmiennej, która jest ściśle dodatnia, oznacza to, że masz regres logistyczny, który należy poprawić.
źródło