Как стать автором
Обновить

Получаем кривую плотности распределения вероятности случайного процесса

Время на прочтение8 мин
Количество просмотров7.2K
Всего голосов 12: ↑11 и ↓1+10
Комментарии10

Комментарии 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 - это прежде всего инструмент подготовки и обработки данных, максимум разведочного, но не глубокого анализа.

Да, я ещё перепроверю конечно всё для начала.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации