Learn R Programming

plsRglm (version 0.3.3)

AICpls: AIC functions for plsR models

Description

This function provides AIC computations for an univariate plsR model.

Usage

AICpls(nn, ncomp, residpls)
AICpls2(ncomp, dataYpls, YChapeaupls, residpls)

Arguments

nn
Number of rows of the dataset
ncomp
Number of components
dataYpls
Vector of the response
YChapeaupls
Fitted values of a plsR univariate plsR model
residpls
Residuals of a fitted univariate plsR model

Value

  • realAIC value

Details

AIC functions for plsR models with univariate response.

References

Baibing Li, Julian Morris, Elaine B. Martin, Model selection for partial least squares regression, Chemometrics and Intelligent Laboratory Systems 64 (2002) 79-89. http://dx.doi.org/10.1016/S0169-7439(02)00051-5

See Also

loglikpls and loglikpls2 and AIC for loglikelihood computations for linear models

Examples

Run this code
data(pine)
ypine <- pine[,11]
Xpine <- pine[,1:10]
(Pinscaled <- as.data.frame(cbind(scale(log(ypine)),scale(as.matrix(Xpine)))))
colnames(Pinscaled)[1] <- "yy"

lm(yy~x1+x2+x3+x4+x5+x6+x7+x8+x9+x10,data=Pinscaled)

modpls <- plsR(log(ypine),Xpine,10)
modpls$Std.Coeffs
lm(yy~x1+x2+x3+x4+x5+x6+x7+x8+x9+x10,data=Pinscaled)

AIC(lm(yy~x1+x2+x3+x4+x5+x6+x7+x8+x9+x10,data=Pinscaled))
print(logLik(lm(yy~x1+x2+x3+x4+x5+x6+x7+x8+x9+x10,data=Pinscaled)))

sum(dnorm(modpls$RepY, modpls$Std.ValsPredictY, sqrt(mean(modpls$residY^2)), log=TRUE))
sum(dnorm(Pinscaled$yy,fitted(lm(yy~x1+x2+x3+x4+x5+x6+x7+x8+x9+x10,data=Pinscaled)),sqrt(mean(residuals(lm(yy~x1+x2+x3+x4+x5+x6+x7+x8+x9+x10,data=Pinscaled))^2)), log=TRUE))
loglikpls2(modpls$RepY,modpls$Std.ValsPredictY,modpls$residY)
loglikpls2(Pinscaled$yy,fitted(lm(yy~x1+x2+x3+x4+x5+x6+x7+x8+x9+x10,data=Pinscaled)),residuals(lm(yy~x1+x2+x3+x4+x5+x6+x7+x8+x9+x10,data=Pinscaled)))
loglikpls(33,10,modpls$residY)
loglikpls(33,10,residuals(lm(yy~x1+x2+x3+x4+x5+x6+x7+x8+x9+x10,data=Pinscaled)))
AICpls(33,10,residuals(lm(yy~x1+x2+x3+x4+x5+x6+x7+x8+x9+x10,data=Pinscaled)))
AICpls(33,10,modpls$residY)

Run the code above in your browser using DataLab