Сложность использования гистограмм для определения формы
Хотя гистограммы часто удобны и иногда полезны, они могут вводить в заблуждение. Их внешний вид может сильно измениться с изменением местоположения границ бункера.
Эта проблема давно известна *, хотя, возможно, не так широко, как следовало бы - ее редко упоминают в обсуждениях на элементарном уровне (хотя есть исключения).
* например, Пол Рубин [1] выразился так: « Хорошо известно, что изменение конечных точек в гистограмме может существенно изменить ее внешний вид ». ,
Я думаю, что это проблема, которая должна быть более широко обсуждена при представлении гистограмм. Я приведу несколько примеров и обсуждение.
Почему вы должны опасаться полагаться на одну гистограмму набора данных
Посмотрите на эти четыре гистограммы:
Это четыре очень разные гистограммы.
Если вы вставите следующие данные (я использую R здесь):
Annie <- c(3.15,5.46,3.28,4.2,1.98,2.28,3.12,4.1,3.42,3.91,2.06,5.53,
5.19,2.39,1.88,3.43,5.51,2.54,3.64,4.33,4.85,5.56,1.89,4.84,5.74,3.22,
5.52,1.84,4.31,2.01,4.01,5.31,2.56,5.11,2.58,4.43,4.96,1.9,5.6,1.92)
Brian <- c(2.9, 5.21, 3.03, 3.95, 1.73, 2.03, 2.87, 3.85, 3.17, 3.66,
1.81, 5.28, 4.94, 2.14, 1.63, 3.18, 5.26, 2.29, 3.39, 4.08, 4.6,
5.31, 1.64, 4.59, 5.49, 2.97, 5.27, 1.59, 4.06, 1.76, 3.76, 5.06,
2.31, 4.86, 2.33, 4.18, 4.71, 1.65, 5.35, 1.67)
Chris <- c(2.65, 4.96, 2.78, 3.7, 1.48, 1.78, 2.62, 3.6, 2.92, 3.41, 1.56,
5.03, 4.69, 1.89, 1.38, 2.93, 5.01, 2.04, 3.14, 3.83, 4.35, 5.06,
1.39, 4.34, 5.24, 2.72, 5.02, 1.34, 3.81, 1.51, 3.51, 4.81, 2.06,
4.61, 2.08, 3.93, 4.46, 1.4, 5.1, 1.42)
Zoe <- c(2.4, 4.71, 2.53, 3.45, 1.23, 1.53, 2.37, 3.35, 2.67, 3.16,
1.31, 4.78, 4.44, 1.64, 1.13, 2.68, 4.76, 1.79, 2.89, 3.58, 4.1,
4.81, 1.14, 4.09, 4.99, 2.47, 4.77, 1.09, 3.56, 1.26, 3.26, 4.56,
1.81, 4.36, 1.83, 3.68, 4.21, 1.15, 4.85, 1.17)
Тогда вы можете создать их самостоятельно:
opar<-par()
par(mfrow=c(2,2))
hist(Annie,breaks=1:6,main="Annie",xlab="V1",col="lightblue")
hist(Brian,breaks=1:6,main="Brian",xlab="V2",col="lightblue")
hist(Chris,breaks=1:6,main="Chris",xlab="V3",col="lightblue")
hist(Zoe,breaks=1:6,main="Zoe",xlab="V4",col="lightblue")
par(opar)
Теперь посмотрите на этот график:
x<-c(Annie,Brian,Chris,Zoe)
g<-rep(c('A','B','C','Z'),each=40)
stripchart(x~g,pch='|')
abline(v=(5:23)/4,col=8,lty=3)
abline(v=(2:5),col=6,lty=3)
(Если это еще не очевидно, что происходит , когда вы вычитать данные Энни из каждого набора: head(matrix(x-Annie,nrow=40))
)
Данные просто смещались влево каждый раз на 0,25.
Тем не менее, впечатления, которые мы получаем от гистограмм - перекос вправо, униформа, перекос налево и бимодальный - были совершенно разными. Наше впечатление полностью зависело от расположения первого бункера относительно минимума.
Так что не просто «экспоненциально» против «не совсем экспоненциально», а «наклон вправо» против «перекоса влево» или «бимодальный» против «равномерного», просто двигаясь туда, где начинаются ваши контейнеры.
Изменить: Если вы измените ширину бина, вы можете получить что-то вроде этого:
Это одинаковые 34 наблюдения в обоих случаях, просто разные точки останова, одна с шириной бина а другая с шириной бина .0,810.8
x <- c(1.03, 1.24, 1.47, 1.52, 1.92, 1.93, 1.94, 1.95, 1.96, 1.97, 1.98,
1.99, 2.72, 2.75, 2.78, 2.81, 2.84, 2.87, 2.9, 2.93, 2.96, 2.99, 3.6,
3.64, 3.66, 3.72, 3.77, 3.88, 3.91, 4.14, 4.54, 4.77, 4.81, 5.62)
hist(x,breaks=seq(0.3,6.7,by=0.8),xlim=c(0,6.7),col="green3",freq=FALSE)
hist(x,breaks=0:8,col="aquamarine",freq=FALSE)
Отличная, а?
Да, эти данные были специально созданы для этого ... но урок очевиден - то, что вы видите в гистограмме, может не быть особенно точным представлением данных.
Что мы можем сделать?
Гистограммы широко используются, их часто удобно получать, а иногда и ожидаемо. Что мы можем сделать, чтобы избежать или смягчить такие проблемы?
Как отмечает Ник Кокс в комментарии к смежному вопросу : эмпирическое правило всегда должно заключаться в том, что детали, устойчивые к изменениям ширины бункера и происхождения бункера, скорее всего, будут подлинными; детали, хрупкие к таковым, могут быть ложными или тривиальными .
По крайней мере, вы всегда должны делать гистограммы в нескольких разных значениях ширины бина или источниках бина, или предпочтительно в обоих.
В качестве альтернативы, проверьте оценку плотности ядра при не слишком широкой полосе пропускания.
Еще один подход, который уменьшает произвольность гистограмм, это усредненные сдвинутые гистограммы ,
(это один из последних наборов данных), но если вы пойдете на это, я думаю, вы могли бы также использовать оценку плотности ядра.
Если я делаю гистограмму (я использую их, несмотря на то, что остро осознаю проблему), я почти всегда предпочитаю использовать значительно больше бинов, чем обычно дают стандартные программные значения по умолчанию, и очень часто мне нравится делать несколько гистограмм с различной шириной бина (и, иногда, происхождение). Если они достаточно последовательны во впечатлении, вы вряд ли столкнетесь с этой проблемой, и если они непоследовательны, вы знаете, что нужно посмотреть более внимательно, возможно, попробовать оценку плотности ядра, эмпирический CDF, график QQ или что-то в этом роде. аналогичный.
Хотя иногда гистограммы могут вводить в заблуждение, коробочные графики еще более подвержены таким проблемам; с боксплотом у вас даже нет возможности сказать «используйте больше корзин». Посмотрите на четыре очень разных набора данных в этом посте , все с одинаковыми, симметричными диаграммами, хотя один из наборов данных довольно искажен.
[1]: Рубин, Пол (2014) «Злоупотребление гистограммой!»,
Сообщение в блоге, ИЛИ в мире акушерства , 23 января 2014 г.
ссылка ... (альтернативная ссылка)