Bandwidth selection through GCV for two-dimension cases
Bandwidth selection through generalized cross-validation (GCV) for two-dimension cases.
GetGCVbw2D(tPairs, yin, Lt, kern, ObsGrid, RegGrid, dataType = "Sparse")
tPairs |
A |
yin |
A |
Lt |
A |
kern |
A |
ObsGrid |
A |
RegGrid |
A |
dataType |
A |
A scalar denoting the optimal bandwidth.
# Generate data n <- 100 interval <- c(0, 10) lambda_1 <- 9 #the first eigenvalue lambda_2 <- 1.5 #the second eigenvalue eigfun <- list() eigfun[[1]] <- function(x){cos(pi * x/10)/sqrt(5)} eigfun[[2]] <- function(x){sin(pi * x/10)/sqrt(5)} score <- cbind(rnorm(n, 0, sqrt(lambda_1)), rnorm(n, 0, sqrt(lambda_2))) DataNew <- GenDataKL(n, interval = interval, sparse = 6:8, meanfun = function(x){0}, score = score, eigfun = eigfun, sd = sqrt(0.1)) # Optimal bandwidth for the estimate of # E{X(s)X(t)} = cov(X(s), X(t)) + mu(s) * mu(t) xin2D <- NULL yin2D <- NULL for(i in 1:n){ xin2D <- rbind(xin2D, t(utils::combn(DataNew$Lt[[i]], 2))) yin2D <- rbind(yin2D, t(utils::combn(DataNew$Ly[[i]], 2))) } tPairs <- xin2D yin <- yin2D[,1] * yin2D[, 2] bwOpt <- GetGCVbw2D(tPairs = tPairs, yin = yin, Lt = DataNew$Lt, kern = "epan", ObsGrid = sort(unique(unlist(DataNew$Lt))), RegGrid = seq(interval[1], interval[2], length.out = 51))
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.