Dlaczego za wszelką cenę należy unikać binowania?

10

Przeczytałem więc kilka postów o tym, dlaczego zawsze należy unikać binowania. Popularnym odniesieniem dla tego roszczenia jest ten link .

Główną kwestią jest to, że punkty binningu (lub punkty odcięcia) są raczej arbitralne, jak również wynikająca z tego utrata informacji, i że splajny powinny być preferowane.

Jednak obecnie pracuję z interfejsem API Spotify, który ma wiele miar zaufania dla kilku ich funkcji.

Patrząc na jedną cechę, „instrumentalność”, odniesienia wskazują:

Przewiduje, czy utwór nie zawiera wokalu. W tym kontekście dźwięki „Ooh” i „aah” są traktowane jako instrumentalne. Rap lub słowa mówione są wyraźnie „wokalne”. Im wartość instrumentalności jest bliższa 1,0, tym większe prawdopodobieństwo, że utwór nie zawiera treści wokalnych. Wartości powyżej 0,5 mają reprezentować ścieżki instrumentalne , ale pewność jest wyższa, gdy wartość zbliża się do 1,0.

Biorąc pod uwagę bardzo przesunięty w lewo rozkład moich danych (około 90% próbek jest niewiele powyżej 0, uznałem za sensowne przekształcenie tej cechy w dwie cechy kategoryczne: „instrumentalna” (wszystkie próbki o wartości powyżej 0,5) i „nienarzędziowa” „(dla wszystkich próbek o wartości poniżej 0,5).

Czy to źle? A jaka byłaby alternatywa, gdy prawie wszystkie moje (ciągłe) dane obracają się wokół jednej wartości? Z tego, co rozumiem na temat splajnów, nie będą one również działać z problemami z klasyfikacją (co robię).

Readler
źródło
10
Opisana konfiguracja nie wydaje się sugerować, że binowanie jest dobrym pomysłem. Sam powiedziałeś, że istnieje informacja, jak bliska jest wartość 1.0 . IMHO dobrze by było, gdybyś miał ciągłą funkcję związaną z prawdopodobieństwem bycia instrumentalnym. Być może możesz rozwinąć swoje pytanie.
Frank Harrell,
Moje pytanie w zasadzie dotyczy tego, kiedy można używać binowania, jeśli w ogóle. W moim przypadku użyłem go na podstawie dziedziny (instrumentalna / nieinstrumentalna), ponieważ uważam, że jest to bardziej predykcyjne niż stwierdzenie, jak bliski jest utwór instrumentalny (ponieważ utwór jest instrumentalny lub nie). Przeciwstawiłeś się tej logice w punkcie 8 twojego postu. Ja, jako nowicjusz, naprawdę trudno mi zrozumieć, dlaczego tak jest.
Readler
1
Napisałem o tym długi post w kontekście modelowania predykcyjnego: madrury.github.io/jekyll/update/statistics/2017/08/04/…
Matthew Drury
Bardzo pouczające i dokładne, dzięki. Jednak nie widzę związku z moim pytaniem (chociaż wciąż zyskałem nowe spostrzeżenia, więc wszystko dobrze!). Twój artykuł mówi o binning się predyktora w problemach regresyjnych i dlatego , że jest to zły pomysł (który swój artykuł przekonująco argumentował przeciw) i dlatego stosując dłutowanie pozwala na modelowanie regresji. Pytałem o to, dlaczego źle jest dyskretować wartości cechy ciągłej (danych wejściowych) w problemie klasyfikacji (którego zmiennymi predykcyjnymi są z natury „przedziały”, tj. Klasy).
Readler
2
Jeśli prawie wszystkie funkcje są w jednym momencie, prawdopodobnie nie będzie to pomocne dla twojego modelu, niezależnie od tego, co robisz.
Kumulacja

Odpowiedzi:

15

Niewielką przesadą jest stwierdzenie, że binowanie należy unikać za wszelką cenę , ale z pewnością jest tak, że binning wprowadza wybory bin, które wprowadzają pewną arbitralność do analizy. Dzięki nowoczesnym metodom statystycznym generalnie nie jest konieczne angażowanie się w binowanie, ponieważ wszystko, co można zrobić na dyskretnych „binowanych” danych, można ogólnie zrobić na podstawie podstawowych wartości ciągłych.

Najczęstszym zastosowaniem „binowania” w statystykach jest tworzenie histogramów. Histogramy są podobne do ogólnej klasy estymatorów gęstości jądra (KDE), o ile dotyczą one agregacji funkcji krokowych na wybranych przedziałach, podczas gdy KDE obejmuje agregację gładszych jąder. Funkcja krokowa zastosowana w histogramie nie jest funkcją gładką, i ogólnie rzecz biorąc jest tak, że można wybrać lepsze funkcje jądra, które są mniej arbitralne w metodzie KDE, co również daje lepsze oszacowania podstawowej gęstości danych. Często mówię uczniom, że histogram to po prostu „KDE biedaka”. Osobiście nigdy bym go nie użył, ponieważ tak łatwo jest uzyskać KDE bez binowania danych, a to daje doskonałe wyniki bez arbitralnego wyboru binowania.

Inne powszechne użycie „binowania” występuje, gdy analityk chce dyskretyzować ciągłe dane do pojemników, aby zastosować techniki analityczne wykorzystujące wartości dyskretne. To wydaje się sugerować w cytowanym rozdziale dotyczącym przewidywania dźwięków wokalnych. W takich przypadkach binowanie wprowadza pewną arbitralność, a także utratę informacji. Ponownie najlepiej jest tego uniknąć, jeśli to możliwe, próbując utworzyć model bezpośrednio na podstawie leżących u jego podstaw wartości ciągłych, zamiast tworzyć model na podstawie dyskretnych wartości „skumulowanych”.

Zasadniczo statystycy powinni unikać technik analitycznych, które wprowadzają arbitralne założenia, szczególnie w przypadkach, w których dostępne są techniki alternatywne, aby łatwo uniknąć tych założeń. Zgadzam się więc z opinią, że binowanie jest generalnie niepotrzebne. Z pewnością nie należy tego unikać za wszelką cenę, ponieważ koszty są ważne, ale ogólnie należy tego unikać, gdy istnieją proste alternatywne techniki, które pozwalają na uniknięcie go bez poważnych niedogodności.

Ben - Przywróć Monikę
źródło
Widzę. Dalsze pytanie: patrząc na rozkład powyższego przykładu patrz tutaj (jak na ironię histogram), po prostu nie dostrzegam użyteczności zmiennej ciągłej, w której prawie wszystkie próbki obracają się wokół jednej wartości (tutaj 0), która jest to, co początkowo skłoniło mnie do binowania tej funkcji. Wspomniałeś o alternatywności - czy uprzejmie opracowałbyś czy wskazałbyś mi właściwy kierunek, w którym mógłbym dowiedzieć się więcej?
Readler,
Spróbuj przeczytać o KDE i zastanów się nad alternatywnymi sposobami kreślenia danych jednowymiarowych .
Ben - Przywróć Monikę
Na tym histogramie widzę wartości w każdym miejscu (ale tak, głównie bliskie zeru). Nie powinno być żadnych niedogodności w stosowaniu spline, a to z pewnością da więcej informacji. Narysuj dopasowany splajn! a jeśli z jakiegoś powodu musisz dyskretnie , ta fabuła może ci pomóc. Może być tak, że dla twojego konkretnego zastosowania lepszy jest inny punkt odcięcia niż 0,5.
kjetil b halvorsen
2
Histogram nie może być poprawnie interpretowany jako KDE. Czym byłoby jądro?
whuber
1
W odniesieniu do twojego trzeciego akapitu, miałem podobne pytanie, kiedy próbowałem obliczyć przyrost informacji za pomocą niektórych danych liczbowych. Czy możesz spojrzeć na to pytanie i wyjaśnić, co robić w tej sytuacji? stats.stackexchange.com/questions/384684/…
astel
4

Zwykle zdecydowanie sprzeciwiałbym się kategoryzacji zmiennych ciągłych z powodów dobrze wyrażonych przez innych godnych uwagi Franka Harrella. W takim przypadku pomocne może być pytanie o proces, który wygenerował wyniki. Wygląda na to, że większość wyników jest w rzeczywistości zerowa, z dodanym szumem. Niektóre z nich są raczej blisko jedności z hałasem. Bardzo niewielu leży pomiędzy. W tym przypadku kategoryzacja wydaje się bardziej uzasadniona, ponieważ można argumentować, że modulo szum to zmienna binarna. Gdyby dopasować ją jako zmienną ciągłą, współczynniki miałyby znaczenie w kategoriach zmiany zmiennej predykcyjnej, ale w tym przypadku w większości jej zakresu zmienna jest bardzo słabo zaludniona, co wydaje się nieatrakcyjne.

mdewey
źródło
4
Moja krótka odpowiedź na pytanie, kiedy korzystanie z binowania jest OK: niezerowa długość jest płaska.
Frank Harrell,
2

Wyobraź sobie, że masz zegarek, który pokazuje tylko godziny. Tylko przez to, że mam tylko strzałkę godziny, która raz na godzinę powoduje skok 1/12 do innej godziny, nie porusza się płynnie. Taki zegar nie byłby bardzo przydatny, ponieważ nie wiedziałbyś, czy jest pięć po drugiej, wpół do drugiej czy dziesięć do trzeciej. Taki jest problem z binowanymi danymi, gubi szczegóły i wprowadza „skaczące” zmiany.

Tim
źródło
1
(+1) Tak i dodaj do tego dodatkowy problem, że twórca zegarków może nie wybierać przyrostów godzinowych, ale może arbitralnie zdecydować, że jego zegarek będzie zwiększany co 19 minut, a masz dodatkowy problem poza utratą informacji .
Ben - Przywróć Monikę
2

W przypadku niektórych aplikacji, w tym najwyraźniej rozważanych, binowanie może być absolutnie konieczne. Oczywiście, aby wykonać problem kategoryzacji, w pewnym momencie musisz wycofać dane kategoryczne z modelu i chyba że wszystkie dane wejściowe również są kategoryczne, będziesz musiał przeprowadzić binowanie. Rozważ przykład:

Wyrafinowana sztuczna inteligencja gra w pokera. Ocenił prawdopodobieństwo, że jego ręka będzie lepsza od rąk innych graczy, o 70%. Nadszedł czas na obstawianie, jednak powiedziano mu, że powinien unikać binowania za wszelką cenę, a w konsekwencji nigdy nie stawia zakładu; składa się domyślnie.

Jednak to, co słyszałeś, może być prawdą, w tym przedwczesnym binowaniu wartości pośrednich rezygnuje z informacji, które mogły zostać zachowane. Jeśli ostatecznym celem twojego projektu jest ustalenie, czy „polubisz” dany utwór, co może być określone przez dwa czynniki: „instrumentalność” i „rockitude”, prawdopodobnie lepiej byłoby zachować je jako zmienne ciągłe, dopóki trzeba wyciągnąć „sympatię” jako zmienną kategoryczną.

like={0rockitude3+instrumentalness2<31rockitude3+instrumentalness23

lub dowolne współczynniki, które uznacie za najbardziej odpowiednie, lub jakikolwiek inny model odpowiednio dopasowany do zestawu treningowego.

Jeśli zamiast tego zdecydujesz, czy coś jest „instrumentalne” (prawda czy fałsz) i „skały” (prawda czy fałsz), to masz przed sobą cztery kategorie, które przedstawisz jako dzień:

  1. instrumentalny, skały
  2. skały nieinstrumentalne
  3. instrumentalny, bez skał
  4. nieinstrumentalne, bez kamieni

Ale wtedy jedyne, co możesz zdecydować, to którą z 4 kategorii „polubisz”. Zrezygnowałeś z elastyczności w swojej ostatecznej decyzji.

Decyzja o binowaniu, czy nie, zależy całkowicie od twojego celu. Powodzenia.

guenthmonstr
źródło
2

R

R{b1bN}bi=[li,ui]liuii

l=l0wl0u0=l0+ww(wmin,wmax)

P(R)=w=wminwmaxl=l0l0+wP(R|l,w)P(l,w)P(l,w)2(u0l0)wmax+wmin×(wmaxwmin)

wmax,wmin,l0P(R)P(R|wmax,wmin,l0)P(R)P(R|wmax,wmin,l0)=P(R)

W kontekście pytania PO byłbym zadowolony, gdyby arbitralny próg 0,5 był ustawiony na różne wartości między wiarygodnymi wartościami minimalnymi i maksymalnymi oraz by zobaczyć, że podstawowe wyniki jego analizy są w dużej mierze niezależne od wyboru.

Peter Leopold
źródło