[R] pls -- crossval vs plsr(..., CV=TRUE)

From: martin peters <mbp140_at_psu.edu>
Date: Thu 12 May 2005 - 12:42:45 EST

Hi,

Newbie question about the pls package.

Setup:
Mac OS 10.3.9
R: Aqua GUI 1.01, v 2.0.1

I want to get R^2 and Q^2 (LOO and Leave-10-Out) values for each component for my model.
I was running into a few problems so I played with the example a little and the results do not match up with the comments in the help pages.

$ library(pls)
$ data(NIR)

$ testing.plsNOCV <- plsr(y ~ X, 6, data = NIR, method="kernelpls",
validation="none")
$ NIR.plsCV <- plsr(y ~ X, 6, data = NIR, CV=TRUE, method="kernelpls")
$ testing.plsCV <- crossval(testing.plsNOCV)
$ R2(NIR.plsCV)

(Intercept) 1 comps 2 comps 3 comps 4 comps 5 comps

      0.0000 0.9812 0.9825 0.9964 0.9997 0.9999

     6 comps
      0.9999

$ R2(testing.plsCV)
(Intercept) 1 comps 2 comps 3 comps 4 comps 5 comps 0.0000 0.9678 0.9782 0.9941 0.9991 0.9996 6 comps 0.9997

$ ?crossval

"This function performs cross-validation on a model fit by mvr. It can handle models such as plsr(y ~ msc(X), ...) or other models where the predictor variables need to be recalculated for each segment. When recalculation is not needed, the result of crossval(mvr(...)) is identical to mvr(..., CV = TRUE), but slower."

If the above result is correct can someone explain the difference to me.

Using the above scheme gives different results for my model (dim(X) ~ 88 x 1500), of around ~ 0.2 (7th Comp) in R2, and so the question is which one should I use?

Your help will be greatly appreciated,

Cheers,

Martin.

        [[alternative text/enriched version deleted]]



R-help@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html Received on Thu May 12 16:32:39 2005

This archive was generated by hypermail 2.1.8 : Fri 03 Mar 2006 - 03:31:41 EST