mvr.mvrCv(X, Y, ncomp,
method = c("kernelpls", "simpls", "oscorespls", "svdpc"), scale = FALSE,
segments = 10, segment.type = c("random", "consecutive", "interleaved"),
length.seg, trace = FALSE, ...)NAs and Infs are not
allowed.NAs and Infs
are not allowed.TRUE, the learning $X$ data for each
segment is scaled by dividing each variable by its sample standard
deviation. The prediction data is scaled by the same amount.segments is a list.segments unless
segments is a list.TRUE, the segment number is printed
for each segment."CV" for cross-validation.ncomp components. Each row corresponds to one response variable.MSEP uses this.ncomp components. Each row corresponds to one response variable.pcr, plsr or mvr with the
argument validation set to "CV" or "LOO". All
arguments to mvrCv can be specified in the generic function call. If segments is a list, the arguments segment.type and
length.seg are ignored. The elements of the list should be
integer vectors specifying the indices of the segments. See
cvsegments for details.
Otherwise, segments of type segment.type are generated. How
many segments to generate is selected by specifying the number of
segments in segments, or giving the segment length in
length.seg. If both are specified, segments is
ignored.
X and Y do not need to be centered.
The R2 component returned is calculated as the squared correlation
between the cross-validated predictions and the responses.
Note that this function cannot be used in situations where $X$
needs to be recalculated for each segment (except for scaling by the
standard deviation), for instance with
msc or other preprocessing. For such models, use the more
general (but slower) function crossval.
Also note that if needed, the function will silently(!) reduce
ncomp to the maximal number of components that can be
cross-validated, which is $n - l - 1$, where $n$ is the
number of observations and $l$ is the length of the longest
segment. The (possibly reduced) number of components is returned as
the component ncomp.
mvr
crossval
cvsegments
MSEPdata(NIR)
NIR.pcr <- pcr(y ~ X, 6, data = NIR, validation = "CV", segments = 10)
plot(MSEP(NIR.pcr))Run the code above in your browser using DataLab