mvrCv              package:pls              R Documentation(latin1)

_C_r_o_s_s-_v_a_l_i_d_a_t_i_o_n

_D_e_s_c_r_i_p_t_i_o_n:

     Performs the cross-validation calculations for 'mvr'.

_U_s_a_g_e:

     mvrCv(X, Y, ncomp,
           method = pls.options()$mvralg, scale = FALSE,
           segments = 10, segment.type = c("random", "consecutive", "interleaved"),
           length.seg, jackknife = FALSE, trace = FALSE, ...)

_A_r_g_u_m_e_n_t_s:

       X: a matrix of observations.  'NA's and 'Inf's are not allowed.

       Y: a vector or matrix of responses.  'NA's and 'Inf's are not
          allowed.

   ncomp: the number of components to be used in the modelling.

  method: the multivariate regression method to be used.

   scale: logical.  If '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: the number of segments to use, or a list with segments (see
          below).

segment.type: the type of segments to use.  Ignored if 'segments' is a
          list.

length.seg: Positive integer.  The length of the segments to use.  If
          specified, it overrides 'segments' unless 'segments' is a
          list.

jackknife: logical.  Whether jackknifing of regression coefficients
          should be performed.

   trace: logical; if 'TRUE', the segment number is printed for each
          segment.

     ...: additional arguments, sent to the underlying fit function.

_D_e_t_a_i_l_s:

     This function is not meant to be called directly, but through the
     generic functions '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.

     If 'jackknife' is 'TRUE', jackknifed regression coefficients are
     returned, which can be used for for variance estimation
     ('var.jack') or hypothesis testing ('jack.test').

     'X' and 'Y' do not need to be centered.

     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'.

_V_a_l_u_e:

     A list with the following components: 

  method: equals '"CV"' for cross-validation.

    pred: an array with the cross-validated predictions.

coefficients: (only if 'jackknife' is 'TRUE') an array with the
          jackknifed regression coefficients.  The dimensions
          correspond to the predictors, responses, number of
          components, and segments, respectively.

  PRESS0: a vector of PRESS values (one for each response variable) for
          a model with zero components, i.e., only the intercept.

   PRESS: a matrix of PRESS values for models with 1, ..., 'ncomp'
          components.  Each row corresponds to one response variable.

     adj: a matrix of adjustment values for calculating bias corrected
          MSEP.  'MSEP' uses this.

segments: the list of segments used in the cross-validation.

   ncomp: the actual number of components used.

_N_o_t_e:

     The 'PRESS0' is always cross-validated using leave-one-out
     cross-validation.  This usually makes little difference in
     practice, but should be fixed for correctness.

     The current implementation of the jackknife stores all
     jackknife-replicates of the regression coefficients, which can be
     very costly for large matrices.  This might change in a future
     version.

_A_u_t_h_o_r(_s):

     Ron Wehrens and Bjrn-Helge Mevik

_R_e_f_e_r_e_n_c_e_s:

     Mevik, B.-H., Cederkvist, H. R. (2004) Mean Squared Error of
     Prediction (MSEP) Estimates for Principal Component Regression
     (PCR) and Partial Least Squares Regression (PLSR). _Journal of
     Chemometrics_, *18*(9), 422-429.

_S_e_e _A_l_s_o:

     'mvr' 'crossval' 'cvsegments' 'MSEP' 'var.jack' 'jack.test'

_E_x_a_m_p_l_e_s:

     data(yarn)
     yarn.pcr <- pcr(density ~ NIR, 6, data = yarn, validation = "CV", segments = 10)
     ## Not run: plot(MSEP(yarn.pcr))

