GetGCVbw2D {KFPCA} | R Documentation |
Bandwidth selection through GCV for two-dimension cases
Description
Bandwidth selection through generalized cross-validation (GCV) for two-dimension cases.
Usage
GetGCVbw2D(tPairs, yin, Lt, kern, ObsGrid, RegGrid, dataType = "Sparse")
Arguments
tPairs |
A |
yin |
A |
Lt |
A |
kern |
A |
ObsGrid |
A |
RegGrid |
A |
dataType |
A |
Value
A scalar denoting the optimal bandwidth.
Examples
# 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, regular = FALSE,
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))
[Package KFPCA version 2.0 Index]