Как исправить неправильную пропускную способность в statsmodels.nonparametric.kde.kdensity или seaborn.kdeplot? - PullRequest
0 голосов
/ 26 марта 2019

Я перевожу некоторые из моих R-файлов на Python, и у меня есть некоторые проблемы с настройкой пропускной способности на моих графиках KDE с ядром Епанечникова в Python.

Я пытался использовать функцию seaborn.kdeplot(), а также statsmodels.nonparametric.kde.kdensity (), но так и не получили правильного результата.

До сих пор я не нашел шаблон, как масштабируется или стандартизируется пропускная способность в Python.Более того, если я использую гауссовское ядро, графики из R и Python совпадают.Так, может, ядро ​​Епанечникова рассчитывается по-другому?

Я использовал следующие коды для создания графика KDE в Python:

import seaborn as sns
sns.kdeplot(y,kernel = 'epa', bw = 0.1)

и

from statsmodels.nonparametric.kde import kdensity
density = kdensity(y, kernel='epa', bw=0.1)
plt.plot(density[1],density[0], color = 'red')

Вывод воба не очень гладкие: https://user -images.githubusercontent.com / 48911472 / 55010186-1382fc80-4fe4-11e9-999f-263ea9bf62c9.png

Однако, это должно выглядеть таквывод в R (или в STATA, поскольку они одинаковы), который является более плавным:

plot(density(y,bw=0.1, kernel ="epanechnikov"), col="red")

https://user -images.githubusercontent.com / 48911472/55010088-e3d3f480-4fe3-11e9-8d84-ebd54c5b8bc9.png

1 Ответ

0 голосов
/ 26 марта 2019

Попробуйте увеличить размер сетки по сравнению с sns.kdplot, значение по умолчанию равно 100, хотя я считаю, что плотность по R составляет около 512. Надеюсь, это поможет

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