Постройте функцию плотности вероятности таким образом, чтобы на выходе получалась плавная кривая

#python #seaborn #histogram #kde #probability-density

Вопрос:

Я пытаюсь построить pdf-файл набора данных таким образом, чтобы он выглядел как плавная кривая. Для этого я использовал seaborn.kdeplot. Проблема в том, что набор данных имеет строгий диапазон, и график KDE имеет тенденцию пересекать диапазон по обоим краям. Чтобы ограничить кривую pdf в пределах диапазона, я попытался использовать параметр clip, но он делает края резкими, а не плавными, начиная и заканчивая. Резкие изменения на концах визуально выглядят не очень хорошо, поэтому я ищу другие способы построения PDF-файла.

Не могли бы вы, пожалуйста, поделиться некоторыми соображениями по этому вопросу? Есть ли какой-либо другой способ, которым я могу построить pdf-файл?

В качестве примера, пожалуйста, найдите следующий код:

 data = np.random.uniform(0,1,100) sns.kdeplot(data) sns.kdeplot(data, clip=(0, 1))  

введите описание изображения здесь введите описание изображения здесь

Комментарии:

1. Пожалуйста, предоставьте достаточно кода, чтобы другие могли лучше понять или воспроизвести проблему.

2. Если данные действительно заканчиваются внезапно, плавное окончание приведет к искажению визуализации. В любом случае, kdeplot предназначен только для данных, которые заканчиваются и начинаются гладко, так как kde представляет собой сумму множества небольших гауссовых колоколообразных кривых.

3. @JohanC Спасибо за комментарий. Не могли бы вы, пожалуйста, предложить любой другой способ построения PDF-файла данных с диапазоном, аналогичным равномерному распределению.

4. Альтернативой kdeplot может быть stepplot: ax = sns.histplot(..., element='step', fill=False) с ax.set_ylim(ymin=0) .