Learn R Programming

plsRglm (version 0.3.3)

loglikpls: loglikelihood functions for plsR models

Description

This function provides loglikelihood computations for an univariate plsR model.

Usage

loglikpls(nn, ncomp, residpls)
loglikpls2(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

  • realLoglikelihood value

Details

Loglikelihood 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

AICpls and AICpls2 for AIC compuations and logLik 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