Приспособление KDE с scikitlearn и пандами к участку.Тем не менее, распределения лежат за пределами диапазона данных - PullRequest
1 голос
/ 20 сентября 2019

Я подгоняю распределение оценок в диапазоне от 1 до 13 для набора данных, используя функции KDE scikitlearns и Pandas plot.kde.

Я установил пропускную способность с помощью метода gridsearchCV.Однако при построении графиков диапазон значений достигает -2,5 и 17,5.Это за пределами диапазона данных, который составляет 1-13. Distribution of scores fitted with Gaussian kernel Я прикрепил изображение самого дистрибутива и представлю следующий код:

plot_m = df_match.plot.kde(bw_method = 0.6842105263157895)

Мои вопросыКак мне установить границы для оценки плотности ядра, такие как эта?Вероятность того, что результаты окажутся за пределами диапазона данных, должна составлять 0.

1 Ответ

0 голосов
/ 21 сентября 2019

В оценках плотности ядра обычно используются гауссовы неровности, которые имеют неограниченную поддержку.(Поддержка - это набор, в котором плотность отлична от нуля.) Оценка плотности ядра - это просто линейная комбинация ядер, поэтому kde также будет иметь неограниченную поддержку, если ядра это сделают.

Мой совет - просто построитьусеченная плотность, которая ограничена известным допустимым диапазоном для данных.Усеченная плотность определяется равной нулю за пределами допустимого диапазона и пропорциональной исходной неусеченной плотности в допустимом диапазоне.Константа пропорциональности всего 1 - (масса исключена из допустимого диапазона).

Я не знаю, есть ли в pandas или sk-learn что-то встроенное для обработки усеченных плотностей, но это не так уж сложнореализовать это самостоятельно.

Кстати, если ваши данные на самом деле являются целыми числами, а интересующая переменная не может быть на самом деле нецелым числом, вы не можете сделать ничего лучше, чем просто создать гистограмму с одним бином нацелое число в диапазоне от 1 до 13.

Это хороший вопрос, но, вероятно, больше подходит для stats.stackexchange.com.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...