From Eigenvector Research Documentation Wiki
Jump to navigation Jump to search


Calculates selectivity ratio for a given regression model.


[sr,fstat,sb] = sratio(x,model,options)


The selectivity ratio provides a simple numerical assessment of the usefulness of each variable in a regression model. The larger the selectivity ratio, the more useful the given variables are for the prediction. Variables with lower selectivity ratio may be excluded without degrading the performance of the model (and exclusion may help performance).

The calculation is based on the article: Rajalahti, et al., "Biomarker discovery in mass spectral profiles by means of selectivity ratio plot", Chemometrics and Intelligent Laboratory Systems, 95 (2009), p35–48.

The article states, in part: "By using the y-vector as a target, it is possible to transform the PLS components to obtain a single predictive target-projected component analogously to the predictive component in orthogonal partial least squares discriminant analysis (OPLS-DA). By calculating the ratio between explained and residual variance of the spectral variables on the target-projected component, a selectivity ratio plot is obtained that can be used for variable selection."


  • x = calibration data (optionally: preprocessed calibration data, see options.preprocessed flag).
  • model = regression model (PLS, PCR, MLR, etc).


  • sr = selectivity ratio for each variable included in the model.
  • fstat = approximate cutoff criterion based on f-test.
  • sb = sign of corresponding regression vector such that sr.*bs adds the sign information to the selectivity ratio.


options = a structure array with the following fields:

  • preprocessed : [{false}| true ] When true, treat x as if it is already preprocessed and ignore preprocessing stored in model. (Used when preprocessing has already been performed and can be skipped.)
  • probability : [ 0.95 ] probability point for f-statistic.
  • stdxfactor: [0.001] fraction of the standard deviation of x to add to the denominator of the sratio calculation. This is used to stabilize the result for variables with "perfect" fit by a model. A value of zero reproduces the original publication results.

See Also

selectvars, genalg, ipls, orthogonalizepls, plotloads, vip, rpls, Sample and Variable Selection, Variable Selection