Формула Доана для группировки гистограмм

9

Я реализую различные алгоритмы, чтобы оценить лучшее количество бинов для использования для гистограмм. Большинство из тех, что я реализую, описаны на странице «Гистограмма» в Википедии в разделе « Количество бинов и ширина » *.

Я застрял в проблеме с формулой Доана:

1 + log(n) + log(1 + kurtosis(data) * sqrt(n / 6.))

где nразмер данных.

Проблема в том, когда эксцесс отрицателен и n >> 1потому что аргумент аргумента logстановится отрицательным.

* (эта страница изменилась с момента публикации, ссылка отредактирована так, чтобы указывать на страницу, которая была на момент публикации)

Руджеро Турра
источник
1
Знаете ли вы, использует ли эта формула эксцесс или избыточный эксцесс (то есть, есть ли у нормального дистона 4 или 0)?
Питер Флом
@PeterFlom: в оригинальной статье ( amstat.tandfonline.com/doi/pdf/10.1080/00031305.1976.10479172 ) эксцесс определяется как асимметрия, но я не эксперт. Оригинальная статья также довольно сильно отличается от формулы Википедии
Руджеро Турра
1
Оу, что? Куртоз определяется как асимметрия? Это не имеет смысла; они очень разные. Я не могу получить доступ к газете, но, похоже, что-то где-то запуталось.
Питер Флом
@PeterFlom Нормальное распределение должно иметь эксцесс 3, а не 4.
Glen_b
@PeterFlom Я изучал проблему асимметрии и куртоза - см. «Изменить 2» в моем ответе.
Glen_b

Ответы:

11

Этот ответ претерпел значительные изменения, поскольку я исследую страницу википедии. Я оставил ответы в значительной степени, как они были, но добавили к ним, так что в настоящее время это формирует прогресс понимания; последние части, где лучшая информация.

Краткий ответ: страница википедии - и формула ОП, которая, кажется, была одинаковой, - просто неверны, по крайней мере, по трем различным причинам. Я оставлю свое первоначальное обсуждение (в котором предполагалось, что ОП и Википедия правильно поняли), поскольку это объясняет некоторые проблемы. Лучшее обсуждение следует позже. Краткий совет: просто забудь Доана. Если вы должны использовать это, используйте то, что сейчас говорит Википедия (я исправил это).


Я считаю, что формула должна относиться к избыточному эксцессу; моя причина в том, что он изменяет формулу для нормальных данных, чтобы учесть ненормальные данные, так что вы ожидаете, что она будет воспроизводить неизмененную в нормальном состоянии. Это происходит, если вы используете избыточный эксцесс.

Это, однако, поднимает проблему, заключающуюся в том, что термин в журнале может быть отрицательным при больших выборках (действительно, можно быть при довольно малых ). Я бы посоветовал не использовать его с отрицательным избыточным эксцессом (в любом случае я бы никогда не использовал его сверх унимодальности; как только вещи станут мультимодальными, вы хотите применить идею избыточного эксцессиса к каждому режиму, а не сглаживать их!), Хотя и в легких случаях ( избыточный эксцесс (чуть меньше 0) и скромные размеры выборки не будут большой проблемой.н0n

Я бы также предположил, что в любом случае он даст слишком мало контейнеров при больших размерах выборки, даже если он работает как задумано.

Вы можете найти эту статью (от обычного CVer Rob Hyndman ):

http://www.robjhyndman.com/papers/sturges.pdf

некоторый интерес. Если аргумент Стерджеса неверен, формула Доана имеет ту же проблему ... как Роб ясно отмечает в статье.

В этой статье (и в этом ответе ) он отдает дань правилу Фридмана-Диакониса. В документе он также указывает на подход, упомянутый Мэттом Вандом (он ссылается на рабочий документ, который, кажется, не находится в сети, но следующий документ доступен, если у вас есть доступ):

http://www.jstor.org/discover/10.2307/2684697

[Изменить: на самом деле ссылка на рабочий документ находится на странице citeseer ]

Этот подход включает в себя приблизительную оценку конкретных функционалов для получения приблизительно оптимальной (с точки зрения средней интегрированной квадратичной ошибки, MISE) ширины бина для оценки базовой плотности. Хотя они работают хорошо и дают намного больше контейнеров, чем Стерджес или Доан в целом, иногда я все еще предпочитаю использовать больше контейнеров, хотя обычно это очень хорошая первая попытка.

Честно говоря, я не знаю, почему подход Вэнда (или, по крайней мере, правило Фредмана Дьякониса) не везде применяется по умолчанию.

R, по крайней мере, предлагает расчет числа бинов по Фридману-Диаконису:

 nclass.FD(rnorm(100))
[1] 11
 nclass.FD(runif(100))
[1] 6
 nclass.FD(rt(100,1))
[1] 71

Видеть ?nclass.FD

Лично для меня это слишком мало мусорных ведер в первых двух случаях по крайней мере; Я бы удвоил оба из них, несмотря на то, что он может быть немного шумнее, чем оптимальный. Поскольку n становится большим, я думаю, что в большинстве случаев это очень хорошо.


Изменить 2:

Я решил исследовать проблему асимметрии и куртоза, на которую @PeterFlom справедливо выразил недоумение.

Я только что взглянул на документ Doane, связанный с (я читал его раньше…, но это было почти 30 лет назад) - в нем вообще не упоминается эксцесс, только асимметрия.

Doane в фактической формуле:Ke=log2(1+g1σg1)

где - количество добавленных бинов, - асимметрия 3-го момента. [Ну, на самом деле Doane, следуя довольно распространенному использованию времени, использует для подписи (!) Асимметрии 3-х моментов (происхождение этого особенно неоправданного злоупотребления нотацией довольно старое, и я не собираюсь продолжать это, за исключением того, чтобы сказать, что это, к счастью, теперь появляется гораздо реже).]g 1 Keg1b1

Теперь в нормальном состоянии, (хотя это приближение довольно плохое, пока n не превысит 100; Doane использует первую форму)σg1=6(n2)(n+1)(n+3)6n

Тем не менее, кажется, что на этом пути кто-то пытался приспособить его к куртозу (в то время, когда я пишу эту Википедию, он , к примеру, с точки зрения куртоза , и я не думаю, что он это придумал) - но есть очевидная причина полагать, что формула просто неверна (обратите внимание, что используемая стандартная ошибка - это последнее приближение для асимметрии, которую я дал выше). Я думаю, что я видел такое использование эксцесса в нескольких местах, кроме Википедии, но помимо того, что он не был в статье Доана, его нет ни в статье Скотта, ни в статье Хиндмана, на которую я указываю, ни в статье Вэнда. Однако, похоже, что оно откуда-то пришло (то есть я уверен, что оно не оригинально для Википедии), потому что Doane не имеет приближения кσg1, Похоже, с ним играли несколько раз, прежде чем он там оказался; Мне было бы интересно, если бы кто-нибудь выследил это.

Мне действительно кажется, что аргумент Доана должен с радостью распространиться на эксцесс, но нужно будет использовать правильную стандартную ошибку .

Однако, поскольку Доан полагается на аргументы Стерджеса и Стерджеса, похоже, ошибочны, возможно, все предприятие обречено. В любом случае я отредактировал страницу обсуждения гистограммы в Википедии, отметив ошибку.

---

Изменить 3: я исправил страницу википедии (но я позволил себе принять абсолютное значение асимметрии, в противном случае оригинальная формула Доана не может быть использована для левосторонних распределений в том виде, в котором она стояла - ясно, для числа бинов знак асимметрия несущественна). Строго говоря, я должен был представить формулу в ее первоначальной (неправильной) форме, а затем объяснить, почему это не имеет смысла, но я думаю, что это проблематично по нескольким причинам - не в последнюю очередь, что у людей будет искушение просто скопировать формулу и проигнорировать объяснение. Я полагаю, что это на самом деле охватывает первоначальные намерения Доана В любом случае это огромное улучшение по сравнению с глупостью, которая была в оригинале. (Пожалуйста, любой, кто может получить доступ к оригинальному документу, взгляните на него и какb1 определите и проверьте мои изменения в википедии, чтобы убедиться, что это разумно - были как минимум три неправильные вещи: эксцесс, стандартная ошибка и неправильная база журналов, плюс небольшая ошибка самого Доана.)

Glen_b - Восстановить Монику
источник
большое Вам спасибо. Кстати, я удивлен, увидев такую ​​ошибку в «Американском статистике». Я никогда не видел обозначения . b1
Руджеро Турра
Небольшие ошибки такого масштаба (отсутствие абсолютного значения) встречаются не так уж редко в журналах - за пределами статистики я видел гораздо более очевидные (и более вопиющие). Что касается обозначения, это на самом деле довольно распространено; например , 1 , ЭГ2 , EG3 ... Я мог бы указать на десятки
Glen_b -Reinstate Монику
2

Мера эксцесса, определенная в терминах второго и четвертого моментов, никогда не бывает отрицательной ( см. ), А затем log(1+...)>0.

Эта величина реализуется в команде kurtosis()из библиотеки R moments. Кроме того, с помощью команды hist()вы можете указать количество перерывов следующим образом

library(moments)

n <- 250
data <- rnorm(n)

# Sturges formula log_2(n) + 1
hist(data,breaks = "Sturges")

# Doane's formula    
Doane <- 1 + log(n) + log(1 + kurtosis(data) * sqrt(n / 6.))
hist(data,breaks = Doane)

Формула, используемая в команде kurtosis(), проста mean((data - mean(data))^4)/mean((data - mean(data))^2)^2.

Теперь, если вы хотите исследовать, что является «наилучшей» формулой, тогда вам понадобится критерий. Учтите, что это было обсуждено в статистической литературе.

Майлз Дэвис
источник
то, что я не знаю, каково определение эксцесса в формуле Доана
Руджеро Турра
Существует ссылка на определение эксцесса в записи википедии, которую вы разместили. Между прочим, это то же самое, что я отправил. Он оценивается как центральный момент четвертого образца, деленный на квадрат центрального момента второго образца. Пожалуйста, смотрите мои изменения для кода.
Майлз Дэвис
1
опять же, я не знаю, является ли ваша правильная формула Доана, если вы посмотрите на статью, например, он использует log2 вместо log
Ruggero Turra
Ну, это «формула Доана », которую вы опубликовали . В любом случае, это можно легко исправить, используя log(n,2)вместо log(n). НО, запись в Википедии, а также другие источники указывают, что так и должно быть log.
Майлз Дэвис