mvr
.mvrCv(X, Y, ncomp,
method = c("kernelpls", "simpls", "oscorespls", "svdpc"),
segments = 10, segment.type = c("random", "consecutive", "interleaved"),
length.seg, trace = FALSE, ...)
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 CV = TRUE
. All arguments to mvrCv
can be
specified in the generic function call. If length.seg
is specified, segments of the requested length
are used. Otherwise:
If segments
is a number, it specifies the number of segments to
use, and segment.type
is used to select the type of segments.
If segments
is a list, the elements of the list should be
integer vectors specifying the indices of the segments. See
cvsegments
for details.
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, for instance with
msc
or other preprocessing. For such models, use the more
general (but slower) function crossval
.
mvr
crossval
cvsegments
MSEP
data(NIR)
NIR.pcr <- pcr(y ~ X, 6, data = NIR, CV = TRUE, segments = 10)
plot(MSEP(NIR.pcr))
Run the code above in your browser using DataLab