Я заинтересован в поиске как можно более оптимального метода для определения количества бинов, которые я должен использовать в гистограмме. Мои данные должны быть в диапазоне от 30 до 350 объектов максимум, и в частности я пытаюсь применить пороговое значение (как метод Оцу), где "хорошие" объекты, которых у меня должно быть меньше и которые должны быть более разложены, отделены от " плохие »объекты, которые должны быть более плотными по стоимости. Конкретное значение будет иметь оценку 1-10 для каждого объекта. У меня было 5-10 объектов с оценками 6-10 и 20-25 объектов с оценками 1-4. Я хотел бы найти шаблон объединения гистограмм, который, как правило, позволяет что-то вроде метода Отсу для пороговых значений объектов с низкой оценкой. Однако, в реализации Otsu, которую я видел, размер корзины был 256, и часто у меня гораздо меньше точек данных, чем 256, что для меня предполагает, что 256 не является хорошим номером корзины. С таким небольшим количеством данных, какие подходы я должен использовать для расчета количества корзин для использования?
источник
Ответы:
Фридман-Diaconis правило очень прочное и хорошо работает на практике. Для ширины ячейки задано значение . Таким образом, количество бинов равно , где - количество наблюдений, max - максимальное значение, а min - минимальное значение.h=2×IQR×n−1/3 (max−min)/h n
В базе R вы можете использовать:
Для других библиотек
ggplot2
печати без этой опции (например, ), вы можете рассчитать ширину бина как:источник
IQR
?num_bins <- diff(range(x)) / (2 * IQR(x) / length(x)^(1/3))
nclass.FD
не существовало девять лет назад.Если вы используете слишком мало бинов, гистограмма не очень хорошо отображает данные. Если у вас слишком много корзин, вы получите неправильный вид гребня, что также не дает смысла в распределении.
Одним из решений является создание графика, который показывает каждое значение. Либо точечный график, либо кумулятивное распределение частот, для которого не нужны ячейки.
Если вы хотите создать распределение частоты с одинаково разнесенными ячейками, вам нужно решить, сколько ячеек (или ширину каждой ячейки). Решение явно зависит от количества ценностей. Если у вас много значений, ваш график будет выглядеть лучше и будет более информативным, если у вас много бинов. На этой странице википедии перечислено несколько методов определения ширины бина по количеству наблюдений. Самый простой способ - установить количество бинов, равное квадратному корню из числа значений, которые вы складываете.
На этой странице Хидеаки Симадзаки объясняется альтернативный метод. Это немного сложнее вычислить, но, похоже, отлично справляется. Верхняя часть страницы представляет собой приложение Java. Пролистайте до конца, чтобы увидеть теорию и объяснение, затем продолжайте прокручивать, чтобы найти ссылки на статьи, которые объясняют метод.
источник
Возможно, статья « Вариации на гистограмме » Денби и Мэлловса будет интересна:
Они также упоминают, что код на R доступен по запросу.
источник
Я не уверен, что это считается строго хорошей практикой, но я склонен создавать более одной гистограммы с разной шириной бина и выбирать гистограмму, какую гистограмму использовать, исходя из того, какая гистограмма соответствует интерпретации, которую я пытаюсь передать лучше всего. Хотя это вносит некоторую объективность в выбор гистограммы, я оправдываю это тем, что у меня было гораздо больше времени для понимания данных, чем человеку, которому я даю гистограмму, поэтому мне нужно дать им очень краткое сообщение.
Я также большой поклонник представления гистограмм с одинаковым количеством точек в каждой ячейке, а не с одинаковой шириной ячейки. Я обычно нахожу, что они представляют данные намного лучше, чем постоянная ширина бина, хотя их трудно создать.
источник
Вы видели метод Симадзаки-Шиномото ?
Хотя это кажется вычислительно дорогим, это может дать вам хорошие результаты. Стоит попробовать, если вычислительное время не является вашей проблемой. Есть несколько реализаций этого метода в java, MATLAB и т. Д. По следующей ссылке, которая работает достаточно быстро: веб-интерфейс
источник
Если мне нужно определить количество бинов программным путем, я обычно начинаю с гистограммы, в которой бинов больше, чем необходимо. После того, как гистограмма заполнена, я объединяю ячейки до тех пор, пока у меня не будет достаточно записей на ячейку для используемого мной метода, например, если я хочу смоделировать неопределенности Пуассона в эксперименте по подсчету с неопределенностями из нормального распределения, пока у меня не будет больше, чем около 10 записей.
источник
Пожалуйста, рассматривайте этот ответ как дополнение к ответу мистера Роба Хиндмана .
Чтобы создать графики гистограммы с точно такими же интервалами или «ширинами бин», используя правило Фридмана – Диакониса с базовым R или
ggplot2
пакетом, мы можем использовать одно из значенийhist()
функции, а именноbreaks
. Предположим, мы хотим создать гистограммуqsec
изmtcars
данных, используя правило Фридмана – Диакониса. В базовом R мы используемМежду тем, в
ggplot2
упаковке мы используемИли, альтернативно
Все они генерируют графики гистограммы с точно такими же интервалами и количеством бинов, как и предполагалось.
источник
У меня 600 наблюдений за Au г / т. Размер бен 1 дает мне это:
Автоматический выбор (опустить диапазон корзины) дает это:
Данные выглядят хорошо на первом и втором графиках, как будто нет проблем с целостностью данных. На вопрос отвечает только размер бункера 0,1 (г / т): измерения были неточными и неточными
Мое суждение: 1. На Земле нет техники измерения, чтобы показать истинную ценность природного явления. Все измерения приблизительны, некоторые близки к истинному значению. Это зависит от дизайна выборки, калибровки, квалификации человека и т. Д. 2. Именно поэтому распределение искажено, а не симметрично. 3. Тем не менее, форма распределения должна напоминать «колоколообразную» секцию, по крайней мере, приблизительно. Один звонок за раз (если нет нескольких геологических условий). 4. Распределение частот с помощью манипуляций с размером бункера может помочь определить, насколько точными и точными были измерения. Так что нужен экспериментальный подбор размера мусорного ведра, а не правила, вырезанного на камне.
источник