Комментарии 10
Без формул - это хорошо. А вот как выбрать число интервалов гистограммы (в просторечии "ящиков")? Есть метод "на глазок" с последующей корректировкой. Ну, типа, берём 10 ящиков и смотрим, сколько минимум шариков лежит в каком-то из них. Нужно 3 минимум, если в кривой нет "плановых" замираний. А если есть? Имеются и формулы, разумеется, и не одна. Скажем, формула Стерджеса. Для оценок сойдет.
h = abs(maxX − minX)/[1+ 3,322lg(n)],
где h - ширина столбика, maxX и minX - максим. и мин. значение данных; n - число отсчетов данных. Логарифм десятичный. Для малого количества данных лучше на глазок.
Абсолютно согласен, есть формулы которые позволяют рассчитать число интервалов разбиения. Не хотелось углубляться в это. Формулу Стерджеса использовал, но в итоге, лично мне, всегда приходилось все-таки дополнительно корректировать число интервалов "на глазок", для того, чтобы получить наиболее визуально привлекательную кривую плотности распределения.
Вы не обозначили тип переменной: непрерывная, дискретная , смешанная. С какой Вы имеете дело. Для неслучайной переменной все рассуждения в статье излишни.
На сколько я понимаю, в целом, для оценки плотности распределения особого значения не имеет непрерывная или дискретная случайная величина. В данном случае важно то, что мы имеем определённую выборку числовых значений. Под неслучайностью в тексте понималось, что выборка не обязательно должна заранее строго соответствовать какому либо определенному закону распределения и мы должны знать это, а, например, это может быть возраст скончавшихся от коронавируса, не сказать, что это полностью случайная величина, но мы можем построить по такой выборке кривую плотности распределения. Согласен, что, возможно, этот момент не совсем понятно сформулирован в тексте.
В numpy есть функция histogramm() а в seaborn функция histplot(). По моему, проще бороться с причинами, которые не позволяют пользоваться этими функциями, чем изобретать велосипеды.
В pandas вообще есть метод kde, который строит плотность распределения, и я удивился, когда он неправильно это сделал, причём сильно неправильно, я наверное напишу про это статью. Причём строит неверно не всегда.
Я бы на вашем месте не торопился и изучил документацию, в том числе stats из scipy. Многие методы поддерживают настройку параметров. В том же seaborn kdeplot имеет множество параметров.
Если ошибка действительно есть, то лучше сообщить об этом разработчикам, чем пилить сюда об этом статью. Pandas - это прежде всего инструмент подготовки и обработки данных, максимум разведочного, но не глубокого анализа.
Получаем кривую плотности распределения вероятности случайного процесса