Załóżmy, że chcę sprawdzić, czy moje dane są wykładnicze na podstawie histogramu (tzn. Są przekrzywione w prawo).
W zależności od sposobu grupowania lub binowania danych mogę uzyskać bardzo różne histogramy.
Jeden zestaw histogramów sprawi, że dane będą miały charakter wykładniczy. Kolejny zestaw sprawi, że dane nie będą wykładnicze. Jak sprawić, by określanie rozkładów z histogramów było dobrze zdefiniowane?
distributions
data-visualization
histogram
binning
guestoeijreor
źródło
źródło
Odpowiedzi:
Trudność z użyciem histogramów do wnioskowania o kształcie
Chociaż histogramy są często przydatne, a czasem przydatne, mogą wprowadzać w błąd. Ich wygląd może się znacznie zmienić wraz ze zmianami lokalizacji granic pojemników.
Problem ten jest od dawna znany *, ale może nie tak szeroko, jak powinien być - rzadko można go wspomnieć w dyskusjach na poziomie podstawowym (choć są wyjątki).
* na przykład Paul Rubin [1] ujął to w następujący sposób: „ dobrze wiadomo, że zmiana punktów końcowych na histogramie może znacząco zmienić jego wygląd ”. .
Myślę, że jest to kwestia, którą należy szerzej omówić podczas wprowadzania histogramów. Dam kilka przykładów i dyskusji.
Dlaczego powinieneś uważać na poleganie na jednym histogramie zestawu danych
Spójrz na te cztery histogramy:
To cztery bardzo różne histogramy.
Jeśli wkleisz następujące dane (używam tutaj R):
Następnie możesz je wygenerować samodzielnie:
Teraz spójrz na ten pasek:
(Jeśli nadal nie jest to oczywiste, zobacz, co się stanie, gdy odejmiesz dane Annie z każdego zestawu
head(matrix(x-Annie,nrow=40))
:)Dane po prostu przesuwano za każdym razem o 0,25.
Jednak wrażenia, które otrzymujemy z histogramów - prawe pochylenie, jednolite, lewe pochylenie i bimodalne - były zupełnie inne. Nasze wrażenie w całości zależało od położenia pierwszego bin-origin względem minimum.
Więc nie tylko „wykładniczy” vs.
Edycja: Jeśli zmienisz przepustowość, możesz uzyskać takie rzeczy:
To te same 34 obserwacje w obu przypadkach, tylko różne punkty przerwania, jedno z szerokością przedziału a drugie z przedziałem szerokości .0,81 0.8
Zręczne, co?
Tak, te dane zostały celowo wygenerowane, aby to zrobić ... ale lekcja jest jasna - to, co myślisz, że widzisz na histogramie, może nie być szczególnie dokładnym wrażeniem danych.
Co możemy zrobić?
Histogramy są szeroko stosowane, często wygodne do uzyskania i czasami oczekiwane. Co możemy zrobić, aby uniknąć lub złagodzić takie problemy?
Jak zauważył Nick Cox w komentarzu do powiązanego pytania : ogólna zasada powinna zawsze polegać na tym, że szczegóły odporne na różnice w szerokości i pochodzeniu pojemnika mogą być prawdziwe; kruche szczegóły mogą być fałszywe lub trywialne .
Przynajmniej zawsze powinieneś robić histogramy dla kilku różnych szerokości lub początków bin, a najlepiej obu.
Ewentualnie sprawdź oszacowanie gęstości jądra przy niezbyt szerokim paśmie.
Innym podejściem, które zmniejsza arbitralność histogramów, są uśrednione przesunięte histogramy ,
(to jeden z najnowszego zestawu danych), ale jeśli podejmiesz ten wysiłek, myślę, że równie dobrze możesz użyć oszacowania gęstości jądra.
Jeśli wykonuję histogram (używam ich, mimo że jestem bardzo świadomy problemu), prawie zawsze wolę używać znacznie więcej pojemników niż typowe ustawienia domyślne programu i bardzo często lubię robić kilka histogramów o różnej szerokości pojemnika (i czasami pochodzenie). Jeśli są w miarę spójne pod względem wrażeń, prawdopodobnie nie masz tego problemu, a jeśli nie są spójne, wiesz, aby przyjrzeć się dokładniej, być może spróbuj oszacować gęstość jądra, empiryczny CDF, wykres QQ lub coś takiego podobny.
Podczas gdy histogramy mogą czasem wprowadzać w błąd, wykresy pudełkowe są jeszcze bardziej podatne na takie problemy; dzięki wykresowi pudełkowemu nie możesz nawet powiedzieć „użyj więcej pojemników”. Zobacz cztery bardzo różne zestawy danych w tym poście , wszystkie z identycznymi, symetrycznymi wykresami pudełkowymi, nawet jeśli jeden z tych zestawów danych jest dość wypaczony.
[1]: Rubin, Paul (2014) „Histogram Abuse!”,
Post na blogu LUB w świecie OB , 23 stycznia 2014
link ... (alternatywny link)
źródło
Gęstość jądra lub wykres logspline mogą być lepszą opcją niż histogram. Wciąż istnieją pewne opcje, które można ustawić za pomocą tych metod, ale są one mniej zmienne niż histogramy. Istnieją również qqplots. Ładne narzędzie do sprawdzania, czy dane są wystarczająco zbliżone do rozkładu teoretycznego, szczegółowo opisano w:
Krótka wersja pomysłu (wciąż czytaj artykuł, aby uzyskać szczegółowe informacje) polega na tym, że generujesz dane z rozkładu zerowego i tworzysz kilka wykresów, z których jeden jest danymi oryginalnymi / rzeczywistymi, a reszta jest symulowana z rozkładu teoretycznego. Następnie przedstawisz wykresy komuś (być może samemu), który nie widział oryginalnych danych, i sprawdzisz, czy mogą wybrać prawdziwe dane. Jeśli nie mogą zidentyfikować prawdziwych danych, oznacza to, że nie masz dowodów przeciwko wartości zerowej.
vis.test
Funkcji w pakiecie dla R TeachingDemos ułatwienia realizacji postać tego testu.Oto szybki przykład. Jeden z poniższych wykresów to 25 punktów generowanych z rozkładu o 10 stopniach swobody, pozostałe 8 są generowane z rozkładu normalnego o tej samej średniej i wariancji.
vis.test
Funkcja utworzył tę działkę, a następnie wyświetla użytkownikowi na wybór działek ich zdaniem jest inna, a następnie powtarza procesu jeszcze 2 razy (3 ogółem).źródło
Wykresy skumulowanego rozkładu [ MATLAB , R ] - gdzie wykreślasz ułamek wartości danych mniejszy lub równy zakresowi wartości - są zdecydowanie najlepszym sposobem na spojrzenie na rozkłady danych empirycznych. Oto na przykład ECDF tych danych , wytworzonych w R:
Można to wygenerować za pomocą następującego wejścia R (z powyższymi danymi):
Jak widać, wizualnie oczywiste jest, że te cztery dystrybucje są po prostu tłumaczeniami. Ogólnie rzecz biorąc, zalety ECDF dla wizualizacji empirycznych rozkładów danych to:
Jedyną sztuczką jest nauczenie się, jak prawidłowo odczytywać ECDF: płytkie nachylone obszary oznaczają rzadkie rozmieszczenie, strome nachylone obszary oznaczają gęstą dystrybucję. Jednak po ich przeczytaniu są one wspaniałym narzędziem do przeglądania rozkładów danych empirycznych.
źródło
Sugestia: Histogramy zwykle przypisują tylko dane osi X, które wystąpiły w środku przedziału i pomijają pomiary położenia w osi X o większej dokładności. Wpływ ten na pochodne dopasowania może być dość duży. Weźmy trywialny przykład. Przypuśćmy, że bierzemy klasyczne wyprowadzenie delty Diraca, ale modyfikujemy ją tak, abyśmy zaczynali od rozkładu Cauchy'ego w dowolnej umiejscowieniu mediany ze skończoną skalą (połowa szerokości maksimum). Następnie bierzemy limit, gdy skala spada do zera. Jeśli użyjemy klasycznej definicji histogramu i nie zmienimy rozmiarów pojemników, nie uchwycimy ani położenia, ani skali. Jeśli jednak użyjemy środkowej lokalizacji w pojemnikach o nawet stałej szerokości, zawsze uchwycimy lokalizację, jeśli nie skalę, gdy skala jest mała w stosunku do szerokości pojemnika.
Aby dopasować wartości, w których dane są wypaczone, użycie stałych punktów środkowych bin spowoduje przesunięcie w osi X całego segmentu krzywej w tym regionie, co, jak sądzę, odnosi się do powyższego pytania.
KROK 1 Oto prawie rozwiązanie. Użyłemn=8 w każdej kategorii histogramu i właśnie wyświetlał je jako średnią wartość osi x z każdego przedziału. Ponieważ każdy przedział histogramu ma wartość 8, wszystkie rozkłady wyglądają jednolicie i musiałem je przesunąć w pionie, aby je pokazać. Wyświetlacz nie jest poprawną odpowiedzią, ale nie jest pozbawiony informacji. Prawidłowo mówi nam, że między grupami występuje przesunięcie osi x. Mówi nam również, że rzeczywisty rozkład wydaje się mieć kształt litery U. Dlaczego? Należy zauważyć, że odległość między wartościami średnimi jest dalej od siebie w środkach i bliżej krawędzi. Aby uczynić to lepszą reprezentacją, powinniśmy pożyczyć całe próbki i ułamkowe ilości każdej próbki granicy bin, aby wszystkie średnie wartości bin na osi X były w równej odległości. Naprawienie tego i prawidłowe wyświetlanie wymagałoby trochę programowania. Ale, może to być po prostu sposób tworzenia histogramów, aby faktycznie wyświetlały dane podstawowe w jakimś logicznym formacie. Kształt nadal się zmienia, jeśli zmienimy całkowitą liczbę pojemników pokrywających zakres danych, ale chodzi o to, aby rozwiązać niektóre problemy powstałe w wyniku arbitralnego binowania.
KROK 2 Zacznijmy więc pożyczać między pojemnikami, aby spróbować wyrównać środki.
Teraz widzimy, jak kształty histogramów zaczynają się pojawiać. Ale różnica między średnimi nie jest idealna, ponieważ mamy tylko pełną liczbę próbek do wymiany między pojemnikami. Aby usunąć ograniczenie wartości całkowitych na osi y i zakończyć proces tworzenia jednakowo odległych wartości średnich na osi x, musimy zacząć dzielić ułamki próbki między przedziały.
Krok 3 Udostępnianie wartości i części wartości.
Jak widać, dzielenie części wartości na granicy bin może poprawić jednorodność odległości między wartościami średnimi. Udało mi się to zrobić z dokładnością do trzech miejsc po przecinku z podanymi danymi. Nie sądzę jednak, aby odległość między wartościami średnimi była ogólnie równa, ponieważ nie pozwala na to grubość danych.
Można jednak robić inne rzeczy, takie jak szacowanie gęstości jądra .
Tutaj widzimy dane Annie jako ograniczoną gęstość jądra z wykorzystaniem wygładzeń Gaussa wynoszących 0,1, 0,2 i 0,4. Pozostałe przedmioty będą miały przesunięte funkcje tego samego typu, pod warunkiem, że zrobi to samo co ja, a mianowicie wykorzysta dolną i górną granicę każdego zestawu danych. Tak więc nie jest to już histogram, ale plik PDF i pełni tę samą rolę co histogram bez niektórych brodawek.
źródło