spls: Fit SPLS regression models

Description Usage Arguments Details Value Author(s) References See Also Examples

View source: R/spls.R

Description

Fit a SPLS regression model.

Usage

1
2
spls( x, y, K, eta, kappa=0.5, select="pls2", fit="simpls",
    scale.x=TRUE, scale.y=FALSE, eps=1e-4, maxstep=100, trace=FALSE)

Arguments

x

Matrix of predictors.

y

Vector or matrix of responses.

K

Number of hidden components.

eta

Thresholding parameter. eta should be between 0 and 1.

kappa

Parameter to control the effect of the concavity of the objective function and the closeness of original and surrogate direction vectors. kappa is relevant only when responses are multivariate. kappa should be between 0 and 0.5. Default is 0.5.

select

PLS algorithm for variable selection. Alternatives are "pls2" or "simpls". Default is "pls2".

fit

PLS algorithm for model fitting. Alternatives are "kernelpls", "widekernelpls", "simpls", or "oscorespls". Default is "simpls".

scale.x

Scale predictors by dividing each predictor variable by its sample standard deviation?

scale.y

Scale responses by dividing each response variable by its sample standard deviation?

eps

An effective zero. Default is 1e-4.

maxstep

Maximum number of iterations when fitting direction vectors. Default is 100.

trace

Print out the progress of variable selection?

Details

The SPLS method is described in detail in Chun and Keles (2010). SPLS directly imposes sparsity on the dimension reduction step of PLS in order to achieve accurate prediction and variable selection simultaneously. The option select refers to the PLS algorithm for variable selection. The option fit refers to the PLS algorithm for model fitting and spls utilizes algorithms offered by the pls package for this purpose. See help files of the function plsr in the pls package for more details. The user should install the pls package before using spls functions. The choices for select and fit are independent.

Value

A spls object is returned. print, plot, predict, coef, ci.spls, coefplot.spls methods use this object.

Author(s)

Dongjun Chung, Hyonho Chun, and Sunduz Keles.

References

Chun H and Keles S (2010), "Sparse partial least squares for simultaneous dimension reduction and variable selection", Journal of the Royal Statistical Society - Series B, Vol. 72, pp. 3–25.

See Also

print.spls, plot.spls, predict.spls, coef.spls, ci.spls, and coefplot.spls.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
    data(yeast)
    # SPLS with eta=0.7 & 8 hidden components
    (f <- spls(yeast$x, yeast$y, K=8, eta=0.7))

    # Print out coefficients
    coef.f <- coef(f)
    coef.f[,1]

    # Coefficient path plot
    plot(f, yvar=1)
    dev.new()

    # Coefficient plot of selected variables
    coefplot.spls(f, xvar=c(1:4))

Example output

Sparse Partial Least Squares (SPLS) Regression and
Classification (version 2.2-1)


Sparse Partial Least Squares for multivariate responses
----
Parameters: eta = 0.7, K = 8, kappa = 0.5
PLS algorithm:
pls2 for variable selection, simpls for model fitting

SPLS chose 28 variables among 106 variables

Selected variables: 
ACE2_YPD	ARG80_YPD	ASH1_YPD	AZF1_YPD	CRZ1_YPD	
FHL1_YPD	FKH2_YPD	GAT3_YPD	GCR1_YPD	HAL9_YPD	
HAP2_YPD	HIR1_YPD	IME4_YPD	MBP1_YPD	MCM1_YPD	
MET4_YPD	MSN2_YPD	NDD1_YPD	PHD1_YPD	RFX1_YPD	
RME1_YPD	RTG3_YPD	SIP4_YPD	STE12_YPD	SWI4_YPD	
SWI5_YPD	SWI6_YPD	YAP5_YPD	
      ABF1_YPD       ACE2_YPD       ADR1_YPD      ARG80_YPD      ARG81_YPD 
  0.0000000000   0.0921735981   0.0000000000  -0.0757267511   0.0000000000 
     ARO80_YPD       ASH1_YPD       AZF1_YPD       BAS1_YPD       CAD1_YPD 
  0.0000000000   0.0004722267   0.0535732585   0.0000000000   0.0000000000 
      CBF1_YPD       CHA4_YPD       CIN5_YPD       CRZ1_YPD       CUP9_YPD 
  0.0000000000   0.0000000000   0.0000000000   0.0221795965   0.0000000000 
     DAL81_YPD      DAL82_YPD       DIG1_YPD       DOT6_YPD       FHL1_YPD 
  0.0000000000   0.0000000000   0.0000000000   0.0000000000   0.0319323856 
      FKH1_YPD       FKH2_YPD       FZF1_YPD       GAL4_YPD       GAT1_YPD 
  0.0000000000  -0.0567580194   0.0000000000   0.0000000000   0.0000000000 
      GAT3_YPD       GCN4_YPD       GCR1_YPD       GCR2_YPD       GLN3_YPD 
 -0.0979477385   0.0000000000  -0.0103847979   0.0000000000   0.0000000000 
      GTS1_YPD       HAA1_YPD       HAL9_YPD       HAP2_YPD       HAP3_YPD 
  0.0000000000   0.0000000000  -0.0461270465  -0.0059927574   0.0000000000 
      HAP4_YPD       HAP5_YPD       HIR1_YPD       HIR2_YPD       HMS1_YPD 
  0.0000000000   0.0000000000  -0.1423007595   0.0000000000   0.0000000000 
      HSF1_YPD       IME4_YPD       INO2_YPD       INO4_YPD       IXR1_YPD 
  0.0000000000   0.0825866466   0.0000000000   0.0000000000   0.0000000000 
      LEU3_YPD       MAC1_YPD      MAL13_YPD      MAL33_YPD A1..MATA1._YPD 
  0.0000000000   0.0000000000   0.0000000000   0.0000000000   0.0000000000 
      MBP1_YPD       MCM1_YPD      MET31_YPD       MET4_YPD       MIG1_YPD 
 -0.0989846456   0.0177376192   0.0000000000   0.0040401579   0.0000000000 
      MOT3_YPD       MSN1_YPD       MSN2_YPD       MSN4_YPD      MSS11_YPD 
  0.0000000000   0.0000000000  -0.0522722014   0.0000000000   0.0000000000 
      NDD1_YPD       NRG1_YPD       PDR1_YPD       PHD1_YPD       PHO2_YPD 
 -0.0762039190   0.0000000000   0.0000000000   0.0450622380   0.0000000000 
      PHO4_YPD       PUT3_YPD       RAP1_YPD       RCS1_YPD       REB1_YPD 
  0.0000000000   0.0000000000   0.0000000000   0.0000000000   0.0000000000 
      RFX1_YPD       RGM1_YPD       RGT1_YPD     RIM101_YPD       RLM1_YPD 
  0.0376175987   0.0000000000   0.0000000000   0.0000000000   0.0000000000 
      RME1_YPD       ROX1_YPD       RPH1_YPD       RTG1_YPD       RTG3_YPD 
  0.0352009681   0.0000000000   0.0000000000   0.0000000000  -0.0270656647 
      SFL1_YPD       SFP1_YPD       SIP4_YPD       SKN7_YPD       SKO1_YPD 
  0.0000000000   0.0000000000  -0.0609970553   0.0000000000   0.0000000000 
      SMP1_YPD       SOK2_YPD       STB1_YPD      STE12_YPD       STP1_YPD 
  0.0000000000   0.0000000000   0.0000000000   0.2914620255   0.0000000000 
      STP2_YPD       SUM1_YPD       SWI4_YPD       SWI5_YPD       SWI6_YPD 
  0.0000000000   0.0000000000  -0.0989567780   0.0136874415  -0.1240524590 
      THI2_YPD       UGA3_YPD       YAP1_YPD       YAP3_YPD       YAP5_YPD 
  0.0000000000   0.0000000000   0.0000000000   0.0000000000  -0.0564389410 
      YAP6_YPD       YAP7_YPD    YFL044C_YPD    YJL206C_YPD       ZAP1_YPD 
  0.0000000000   0.0000000000   0.0000000000   0.0000000000   0.0000000000 
      ZMS1_YPD 
  0.0000000000 

spls documentation built on May 6, 2019, 1:09 a.m.

Related to spls in spls...