2014-09-27 4 views
0
library(ks) 

x<-rnorm(1000) 
hist(x, col="red") 

y <- rkde(kde(x), n=1000) 
hist(y, col="green") 

y <- rkde(density(x), n=1000) 
hist(y, col="blue") 

Последняя гистограмма неверна. Раньше я использовал density, и я обнаружил, что он был точным для более сложных дистрибутивов. Почему в этом случае он работает так плохо? ThanksРазличные результаты при генерации случайных выборок из плотности ядра

+0

Если вы собираетесь использовать не-базовые функции, вам нужно сообщить нам, какой пакет вы используете – Dason

ответ

3

Потому что вы используете эту функцию неправильно. rkde ожидает объект класса kde. density не возвращает объект kde и структурирован по-разному.

Это было бы как сказать кому-нибудь, чтобы стрелять в свой пистолет и вручать им снаряды с дробовиками, а затем задаваться вопросом, почему, когда они стреляли, это на самом деле ничего не делало.

+1

Хорошая аналогия. Ха-ха –

+0

Хорошо. Я думал, что 'rkde' можно использовать для генерации случайных выборок из каждого ядра. Я так, как я могу генерировать случайные выборки из ядра, полученного с использованием «плотности» или другого пакета, такого как «ash»? – jpcgandre

+0

Посмотрите, что делает rkde и имитирует, что для объекта, возвращаемого по плотности – Dason