R的核密度估计模拟

时间:2017-05-15 17:29:04

标签: r simulation kernel-density

我正在尝试基于使用的R. Dataset上的内核分布进行模拟 - 在HSAUR2包上使用CYG OB1。使用数据集我进行了分析以找到核密度估计值。我希望使用此核密度来模拟双变量值。到目前为止使用的代码

> CYGOB1d <- bkde2D(CYGOB1, bandwidth = sapply(CYGOB1, dpik))
> plot(CYGOB1, xlab = "log surface temperature", ylab = "log light intensity")
> contour(x = CYGOB1d$x1, y=CYGOB1d$x2, z=CYGOB1d$fhat, add = TRUE)
> persp(x=CYGOB1d$x1, y=CYGOB1d$x2, z = CYGOB1d$fhat, xlab = "log surface 
  temperature", ylab = "log light intensity", zlab ="density")

如何根据核密度进行模拟(1000次运行)?

2 个答案:

答案 0 :(得分:1)

如果disjoint_timer_query是您的随机变量,则可以使用

z

有关计算方法的各种其他选项,请参阅d <- density(z,n=512) #n is the number of points used for the curve, should be a power of two (512 is default) sample(x = d$x,prob = d$y,size=1000,replace=TRUE) #samples from the n values of x, according to prob y (the density)

答案 1 :(得分:0)

感谢您的回答。 我尝试使用上面的代码,我得到的解决方案如下(作为图像附加):

simulation results

虽然数据是双变量数据,但如下:

      logst logli
[1,]   4.37  5.23
[2,]   4.56  5.74
[3,]   4.26  4.93
[4,]   4.56  5.74
[5,]   4.30  5.19
[6,]   4.46  5.46
[7,]   3.84  4.65
[8,]   4.57  5.27
[9,]   4.26  5.57
[10,]  4.37  5.12

我希望模拟结果会给我一对相似的数字。