我正在尝试基于使用的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次运行)?
答案 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)
感谢您的回答。 我尝试使用上面的代码,我得到的解决方案如下(作为图像附加):
虽然数据是双变量数据,但如下:
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
我希望模拟结果会给我一对相似的数字。