mvr               package:pls               R Documentation(latin1)

_P_a_r_t_i_a_l _L_e_a_s_t _S_q_u_a_r_e_s _a_n_d _P_r_i_n_c_i_p_a_l _C_o_m_p_o_n_e_n_t _R_e_g_r_e_s_s_i_o_n

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

     Functions to perform partial least squares regression (PLSR) or
     principal component regression (PCR), with a formula interface.
     Cross-validation can be used.  Prediction, model extraction, plot,
     print and summary methods exist.

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

     mvr(formula, ncomp, data, subset, na.action,
         method = pls.options()$mvralg,
         scale = FALSE, validation = c("none", "CV", "LOO"),
         model = TRUE, x = FALSE, y = FALSE, ...)
     plsr(..., method = pls.options()$plsralg)
     pcr(..., method = pls.options()$pcralg)

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

 formula: a model formula.  Most of the 'lm' formula constructs are
          supported.  See below.

   ncomp: the number of components to include in the model (see below).

    data: an optional data frame with the data to fit the model from.

  subset: an optional vector specifying a subset of observations to be
          used in the fitting process.

na.action: a function which indicates what should happen when the data
          contain missing values.

  method: the multivariate regression method to be used.  If
          '"model.frame"', the model frame is returned.

   scale: numeric vector, or logical.  If numeric vector, X is scaled
          by dividing each variable with the corresponding element of
          'scale'.  If 'scale' is 'TRUE', X is scaled by dividing each
          variable by its sample standard deviation.  If
          cross-validation is selected, scaling by the standard
          deviation is done for every segment.

validation: character.  What kind of (internal) validation to use.  See
          below.

   model: a logical.  If 'TRUE', the model frame is returned.

       x: a logical.  If 'TRUE', the model matrix is returned.

       y: a logical.  If 'TRUE', the response is returned.

     ...: additional arguments, passed to the underlying fit functions,
          and 'mvrCv'.

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

     The functions fit PLSR or PCR models with 1, ..., 'ncomp' number
     of components.  Multi-response models are fully supported.

     The type of model to fit is specified with the 'method' argument.
     Four PLSR algorithms are available: the kernel algorithm
     ('"kernelpls"'), the wide kernel algorithm ('"widekernelpls"'),
     SIMPLS ('"simpls"') and the classical orthogonal scores algorithm
     ('"oscorespls"').  One PCR algorithm is available: using the
     singular value decomposition ('"svdpc"'). If 'method' is
     '"model.frame"', the model frame is returned. The functions 'pcr'
     and 'plsr' are wrappers for 'mvr', with different values for
     'method'.

     The 'formula' argument should be a symbolic formula of the form
     'response ~ terms', where 'response' is the name of the response
     vector or matrix (for multi-response models) and 'terms' is the
     name of one or more predictor matrices, usually separated by '+',
     e.g., 'water ~ FTIR' or 'y ~ X + Z'.  See 'lm' for a detailed
     description.  The named variables should exist in the supplied
     'data' data frame or in the global environment.  Note: Do not use
     'mvr(mydata$y ~ mydata$X, ...)', instead use 'mvr(y ~ X, data =
     mydata, ...)'.  Otherwise, 'predict.mvr' will not work properly.
     The chapter 'Statistical models in R' of the manual 'An
     Introduction to R' distributed with R is a good reference on
     formulas in R.

     The number of components to fit is specified with the argument
     'ncomp'.  It this is not supplied, the maximal number of
     components is used (taking account of any cross-validation).

     If 'validation = "CV"', cross-validation is performed.  The number
     and type of cross-validation segments are specified with the
     arguments 'segments' and 'segment.type'.  See 'mvrCv' for details.
      If 'validation = "LOO"', leave-one-out cross-validation is
     performed.  It is an error to specify the segments when
     'validation = "LOO"' is specified.

     Note that the cross-validation is optimised for speed, and some
     generality has been sacrificed.  Especially, the model matrix is
     calculated only once for the complete cross-validation, so models
     like 'y ~ msc(X)' will not be properly cross-validated.  However,
     scaling requested by 'scale = TRUE' is properly cross-validated.
     For proper cross-validation of models where the model matrix must
     be updated/regenerated for each segment, use the separate function
     'crossval'.

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

     If 'method = "model.frame"', the model frame is returned.
     Otherwise, an object of class 'mvr' is returned. The object
     contains all components returned by the underlying fit function. 
     In addition, it contains the following components: 

validation: if validation was requested, the results of the
          cross-validation.  See 'mvrCv' for details.

na.action: if observations with missing values were removed,
          'na.action' contains a vector with their indices.  The class
          of this vector is used by functions like 'fitted' to decide
          how to treat the observations.

   ncomp: the number of components of the model.

  method: the method used to fit the model.  See the argument 'method'
          for possible values.

   scale: if scaling was requested (with 'scale'), the scaling used.

    call: the function call.

   terms: the model terms.

   model: if 'model = TRUE', the model frame.

       x: if 'x = TRUE', the model matrix.

       y: if 'y = TRUE', the model response.

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

     Ron Wehrens and Bjrn-Helge Mevik

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

     Martens, H., Ns, T. (1989) _Multivariate calibration._
     Chichester: Wiley.

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

     'kernelpls.fit', 'widekernelpls.fit', 'simpls.fit',
     'oscorespls.fit', 'svdpc.fit', 'mvrCv', 'crossval', 'loadings',
     'scores', 'loading.weights', 'coef.mvr', 'predict.mvr', 'R2',
     'MSEP', 'RMSEP', 'plot.mvr'

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

     data(yarn)
     ## Default methods:
     yarn.pcr <- pcr(density ~ NIR, 6, data = yarn, validation = "CV")
     yarn.pls <- plsr(density ~ NIR, 6, data = yarn, validation = "CV")

     ## Alternative methods:
     yarn.oscorespls <- mvr(density ~ NIR, 6, data = yarn, validation = "CV",
                           method = "oscorespls")
     yarn.simpls <- mvr(density ~ NIR, 6, data = yarn, validation = "CV",
                       method = "simpls")

     data(oliveoil)
     sens.pcr <- pcr(sensory ~ chemical, ncomp = 4, scale = TRUE, data = oliveoil)
     sens.pls <- plsr(sensory ~ chemical, ncomp = 4, scale = TRUE, data = oliveoil)

