我需要使用 R 中的核密度估计从现有数据生成样本。在我的数据中缺少负值(并且不可能),但在生成样本中存在负值。
library(ks)
set.seed(1)
par(mfrow=c(2,1))
x<-rlnorm(100)
hist(x, col="red", freq=F)
y <- rkde(fhat=kde(x=x, h=hpi(x)), n=100)
hist(y, col="green", freq=F)
如何限制KDE和生成样本的范围?
rkde
pas a positive
争论:
y <- rkde(
fhat = kde(x=x, h=hpi(x)),
n = 100,
positive = TRUE
)
另一种方法是在估计之前对数据进行转换(例如,使用对数),
使其不受约束,并在随机数生成后将其转换回来。
x2 <- log(x)
y2 <- rkde(fhat=kde(x=x2, h=hpi(x2)), n=100)
y <- exp(y2)
hist(y, col="green", freq=F)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)