Чи можу я використовувати сюжетні коробки та вусики також для багатомодального розподілу або лише для одномодального розподілу?
Чи можу я використовувати сюжетні коробки та вусики також для багатомодального розподілу або лише для одномодального розподілу?
Відповіді:
Проблема полягає в тому, що звичайний boxplot * зазвичай не може вказати кількість режимів. Хоча в деяких (як правило, рідкісних) обставинах можна отримати чітке вказівку на те, що найменша кількість режимів перевищує 1, частіше дана боксплот відповідає одному або будь-якій більшої кількості режимів.
* запропоновано кілька модифікацій звичайних видів боксплот, які роблять більше, щоб вказати на зміни щільності і використовувати кулачок для ідентифікації декількох режимів, але я не думаю, що це мета цього питання.
Наприклад, в той час як ця ділянка робить вказують на присутність , щонайменше , двох режимів (дані були отримані таким чином , щоб мати рівно два) -
навпаки, у цього є два дуже чіткі режими в його розповсюдженні, але ви просто не можете цього сказати:
Дійсно, фігура 1 тут (який я вважаю , це робочий документ пізніше опубліковані в [1]) показує чотири різних набору даних з однієї і тієї ж коробки ділянки.
У мене немає цих даних, але тривіальне питання зробити подібний набір даних - як зазначено у посиланні вище, пов’язаному з підсумком п’яти чисел, нам потрібно лише обмежити наші розповсюдження, щоб вони лежали в прямокутних полях, резюме п'яти номерів обмежує нас.
Ось код R, який генеруватиме аналогічні дані, ніж у статті:
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])
Ось подібний дисплей, зазначений у статті, вищезазначених даних (за винятком я показую тут усі чотири скриньки):
Але остерігайтеся, але і гістограми можуть мати проблеми ; Дійсно, ми бачимо тут одну з його проблем, оскільки розподіл у третій «піковій» гістограмі насправді виразно бімодальний; ширина відрізка гістограми просто занадто широка, щоб її показати. Крім того, як в коментарях зазначає Нік Кокс, оцінки щільності ядра можуть також впливати на враження кількості режимів (іноді розмивання режимів ... або іноді пропонування невеликих режимів, де в оригінальному розподілі не існує жодного). Треба подбати про інтерпретацію багатьох поширених екранів.
Існують модифікації боксплоту, які можуть краще вказувати на багатомодальність (серед численних інших сюжети для вази, скрипки та бобові сюжети). У деяких ситуаціях вони можуть бути корисними, але якщо мені цікаво знайти режими, я зазвичай дивлюся на інший тип дисплея.
x4
[1]: Choonpradub, C., & McNeil, D. (2005),
"Чи можна поліпшити коробку?"
Songklanakarin J. Sci. Технол. , 27 : 3, с. 649-657.
http://www.jourlib.org/paper/2081800
pdf
Існує кілька варіантів виявлення мультимодальності за допомогою R. Дані для наведених нижче діаграм генерували за допомогою трьох режимів (-3,0,1). Boxplot явно перевершує інші (сюжет скрипки виглядає так, що він має різні настройки щільності ядра за замовчуванням), але жоден насправді не розрізняє режими 0 та 1. Насправді мало причин використовувати боксерти вже в епоху комп'ютера. Навіщо викидати інформацію?
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")