首页 > 解决方案 > 单点密度估计

问题描述

我试图通过使用非参数核估计方法来绘制密度。为此,我使用了 Weibull、Gamma、Inverse Gaussian 等非对称内核。我已经成功地绘制了他们文章中给出的密度。我的查询是关于在x的单点上绘制的那些图,特别是在 Birnbaum-Saunders 中给出的x=0和第 108 页上的高频金融数据建模持续时间的对数正态内核估计器,还有一些其他人提出了同样的事情。可以使用以下 R 代码绘制简单的密度图。请指导我如何在特定点上绘图。

n <- 200
k <- 400
y <- rexp(n, 1)

h <- 0.79 * IQR(y) * length(y) ^ (-1/5)
x <- seq(min(y) + 0.05, max(y), length=k)
Kbs <- matrix(rep(0, k * n), ncol=k)
fhat <- rep(0, k)

########### BS ###########

for (j in 1:k) {
  for (i in 1:n) {
    Kbs[i, j] <- (1 / (2*sqrt(2*h*pi))) *
      ((sqrt(1 / (x[j]*y[i]))) + (sqrt(x[j] / (y[i]^3)))) *
      exp(- (y[i] / (2*h*x[j])) + (1/h) - (x[j]/(2*h*y[i])))
    Kbs[is.nan(Kbs)] <- 0
  }
  fhat[j] <- 1/n * (sum(Kbs[, j]))
}

d1 <- density(y, bw=h)

plot(x, fhat, type="s", ylab="Density Function", lty=1, xlab="Time")
lines(d1, type="p", col="red")
legend("topright", c("Real Density", "Density by Birnbaum-Saunders Kernel"),
       col=c("red", "black"), lty=c(1, 2))

问候。

标签: rkernel-densitydensity-plot

解决方案


推荐阅读