https://github.com/cran/fields
Tip revision: ce722edae3c1b9e1af2985ce3500b11058facf0e authored by Doug Nychka on 24 August 2006, 01:46:17 UTC
version 3.04
version 3.04
Tip revision: ce722ed
Krig.fgcv.R
"Krig.fgcv" <-
function(lam, obj)
{
#
# GCV that is leave-one-group out
#
lD <- obj$matrices$D * lam
RSS <- sum(((obj$matrices$u * lD)/(1 + lD))^2)
MSE <- RSS/length(lD)
if((obj$N - length(lD)) > 0) {
MSE <- MSE + obj$pure.ss/(obj$N - length(lD))
}
trA <- sum(1/(1 + lD))
den <- (1 - (obj$cost * (trA - obj$nt - obj$offset) + obj$nt)/length(
lD))
# If the denominator is negative then flag this as a bogus case
# by making the GCV function "infinity"
#
ifelse(den > 0, MSE/den^2, NA)
}