R-funksjon
for kryssvalidert R2 (se sidene 49-52 i BS)
# Nedenfor er det
gitt en funksjon som beregner kryssvalidert R2 (se sidene 49-52 i BS)
# Kopier komandoene og lim dem inn i komandovinduet
til R:
kryssvalidR2<-function(lmobj,y=lmobj$y,x=lmobj$x)
{
? ?a=t(x)%*%x
? ?d=diag(1/eigen(a)$values)
??e=eigen(a)$vector
? ?inv.a=e %*% d %*% t(e)
? ?v<-diag(x%*%inv.a%*%t(x))
? ?SSkryss<-sum((lmobj$res/(1-v))^2)
? ?SStot<-sum((y-mean(y))^2)
? ?R2kryss<-1-SSkryss/SStot
? ?R2kryss
}
# For ? bruke
funksjonen tilpasser du f?rst en line?r regresjonsmodell
ved
# en kommando av
formen lmobj<-lm(y~x1+x2+x3+x4+x5,
x=T, y=T)
# (merk at du m?
ha med opsjonene "x=T" og
"y=T")
# S? beregner du
kryssvalidert R2 ved kommandoen kryssvalidR2(lmobj)