Czy mogę używać wykresów pudełkowych i wąsów również do dystrybucji multimodalnej, czy tylko do dystrybucji unimodalnej?
Czy mogę używać wykresów pudełkowych i wąsów również do dystrybucji multimodalnej, czy tylko do dystrybucji unimodalnej?
Odpowiedzi:
Problem polega na tym, że zwykły wykres pudełkowy * ogólnie nie może wskazywać liczby trybów. Podczas gdy w niektórych (generalnie rzadkich) okolicznościach można uzyskać wyraźne wskazanie, że najmniejsza liczba trybów przekracza 1, częściej dany wykres pudełkowy jest zgodny z jednym lub większą liczbą trybów.
* zasugerowano kilka modyfikacji zwykłych rodzajów wykresów pudełkowych, które robią więcej, aby wskazać zmiany w gęstości i można użyć kamery do identyfikacji wielu trybów, ale nie sądzę, że są one celem tego pytania.
Na przykład, podczas gdy działka nie wskazują na obecność przynajmniej dwóch trybach (dane zostały wygenerowane w taki sposób, aby dokładnie dwa) -
i odwrotnie, ten ma dwa bardzo wyraźne tryby dystrybucji, ale po prostu nie można tego stwierdzić na podstawie wykresu pudełkowego:
Rzeczywiście, rysunek 1 tutaj (który moim zdaniem jest dokumentem roboczym opublikowanym później w [1]) pokazuje cztery różne zestawy danych z tym samym wykresem skrzynek.
Nie mam tych danych pod ręką, ale stworzenie podobnego zestawu danych jest trywialną sprawą - jak wskazano w powyższym linku związanym z pięciocyfrowym podsumowaniem, musimy jedynie ograniczyć nasze dystrybucje, aby mieściły się w prostokątnych polach, które pięciocyfrowe podsumowanie ogranicza nas do.
Oto kod R, który wygeneruje podobne dane jak w artykule:
x1 = qnorm(ppoints(1:100,a=-.072377))
x1 = x1/diff(range(x1))*18+10
b = fivenum(x1) # all of the data has this five number summary
x2 = qnorm(ppoints(1:48));x2=x2/diff(range(x2))*.6
x2 = c(b[1],x2+b[2],.31+b[2],b[4]-.31,x2+b[4],b[5])
d = .1183675; x3 = ((0:34)-34/2)/34*(9-d)+(5.5-d/2)
x3 = c(x3,rep(9.5,15),rep(10.5,15),20-x3)
x4 = c(1,rep(b[2],24),(0:49)/49*(b[4]-b[2])+b[2],(0:24)/24*(b[5]-b[4])+b[4])
Oto podobny obraz do powyższego w artykule (oprócz tego, że pokazuję tutaj wszystkie cztery wykresy pudełkowe):
Uważaj jednak - histogramy również mogą mieć problemy ; faktycznie widzimy tutaj jeden z jego problemów, ponieważ rozkład w trzecim histogramie „z pikami” jest w rzeczywistości wyraźnie bimodalny; szerokość pojemnika histogramu jest po prostu zbyt szeroka, aby go pokazać. Ponadto, jak zauważa Nick Cox w komentarzach, szacunki gęstości jądra mogą również wpływać na wrażenie liczby trybów (czasami rozmazywanie trybów ... lub czasami sugerowanie małych trybów, w których żaden nie występuje w pierwotnym rozkładzie). Należy zachować ostrożność przy interpretacji wielu popularnych wyświetlaczy.
Istnieją modyfikacje wykresu pudełkowego, które mogą lepiej wskazywać multimodalność (wykresy wazonów, wykresy skrzypiec i wykresy fasoli, między innymi). W niektórych sytuacjach mogą się przydać, ale jeśli chcę znaleźć tryby, zwykle patrzę na inny rodzaj wyświetlacza.
x4
[1]: Choonpradub, C., i McNeil, D. (2005),
„Czy można poprawić wykres pudełkowy?”
Songklanakarin J. Sci. Technol. , 27 : 3, s. 649–657.
http://www.jourlib.org/paper/2081800
pdf
Istnieje wiele opcji wykrywania multimodalności za pomocą R. Dane dla poniższych wykresów zostały wygenerowane w trzech trybach (-3,0,1). Wykresy pudełkowe są wyraźnie lepsze niż inne (wykres skrzypiec wygląda tak, jakby miał inne domyślne ustawienia gęstości jądra), ale tak naprawdę żaden nie rozróżnia trybów 0 i 1. Naprawdę mało jest powodów, aby używać wykresów pudełkowych w erze komputerów. Po co wyrzucać informacje?
dat <- c(rnorm(500, -3, 1), rnorm(200, 0, 1), rnorm(300, 1, 1))
par(mfrow=c(2, 2))
boxplot(dat, horizontal=TRUE, main="Boxplot")
require(beanplot)
beanplot(dat, horizontal=TRUE, main="Beanplot")
require(viopoints)
viopoints(dat, horizontal=TRUE, main="Viopoints")
require(vioplot)
vioplot(dat, horizontal=TRUE)
title("Violin Plot")