WAPLS {rioja}R Documentation

Weighted averaging partial least squares (WAPLS) regression and calibration

Description

Functions for reconstructing (predicting) environmental values from biological assemblages using weighted averaging partial least squares (WAPLS) regression and calibration.

Usage

WAPLS(y, x, npls=5, iswapls=TRUE, standx=FALSE, lean=FALSE,
      check.data=TRUE, ...)

WAPLS.fit(y, x, npls=5, iswapls=TRUE, standx=FALSE, lean=FALSE)

## S3 method for class 'WAPLS':
predict (object, newdata=NULL, sse=FALSE, nboot=100,
      match.data=TRUE, verbose=TRUE, ...)

## S3 method for class 'WAPLS':
crossval(object, cv.method="loo", verbose=TRUE, ngroups=10,
      nboot=100, ...)

## S3 method for class 'WAPLS':
performance(object, ...)

## S3 method for class 'WAPLS':
rand.t.test(object, n.perm=999, ...)

## S3 method for class 'WAPLS':
screeplot(x, rand.test=TRUE, ...)

## S3 method for class 'WAPLS':
print(x, ...)

## S3 method for class 'WAPLS':
summary(object, full=FALSE, ...)

## S3 method for class 'WAPLS':
plot(x, resid=FALSE, xval=FALSE, npls=1, 
      xlab="", ylab="", ylim=NULL, xlim=NULL, add.ref=TRUE,
      add.smooth=FALSE, ...)

## S3 method for class 'WAPLS':
residuals(object, ...)

## S3 method for class 'WAPLS':
coef(object, ...)

## S3 method for class 'WAPLS':
fitted(object, ...)

Arguments

y a data frame or matrix of biological abundance data.
x, object a vector of environmental values to be modelled or an object of class wa.
newdata new biological data to be predicted.
iswapls logical logical to perform WAPLS or PLS. Defaults to TRUE = WAPLS.
standx logical to standardise x-data in PLS, defaults to FALSE.
npls number of pls components to extract.
check.data logical to perform simple checks on the input data.
match.data logical indicate the function will match two species datasets by their column names. You should only set this to FALSE if you are sure the column names match exactly.
lean logical to exclude some output from the resulting models (used when cross-validating to speed calculations).
full logical to show head and tail of output in summaries.
resid logical to plot residuals instead of fitted values.
xval logical to plot cross-validation estimates.
xlab, ylab, xlim, ylim additional graphical arguments to plot.wa.
add.ref add 1:1 line on plot.
add.smooth add loess smooth to plot.
cv.method cross-validation method, either "loo", "lgo" or "bootstrap".
verbose logical or integer to show feedback during cross-validaton. If TRUE print feedback every 50 cycles, if integer, use this value.
nboot number of bootstrap samples.
ngroups number of groups in leave-group-out cross-validation, or a vector contain leave-out group menbership.
sse logical indicating that sample specific errors should be calculated.
rand.test logical to perform a randomisation t-test to test significance of cross validated components.
n.perm number of permutations for randomisation t-test.
... additional arguments.

Details

Function WAPLS performs partial least squares (PLS) or weighted averaging partial least squares (WAPLS) regression. WAPLS was first described in ter Braak and Juggins (1993) and ter Braak et al. (1993) and has since become popular in palaeolimnology for reconstructing (predicting) environmental values from sub-fossil biological assemblages, given a training dataset of modern species and envionmental data. Prediction errors and model complexity (number of components) can be estimated by cross-validation using crossval which implements leave-one out, leave-group-out, or bootstrapping. With leave-group out one may also supply a vector of group memberships for more carefully designed cross-validation experiments.

Function predict predicts values of the environemntal variable for newdata or returns the fitted (predicted) values from the original modern dataset if newdata is NULL. Variables are matched between training and newdata by column name (if match.data is TRUE). Use compare.datasets to assess conformity of two species datasets and identify possible no-analogue samples.

WAPLS has methods fitted and rediduals that return the fitted values (estimates) and residuals for the training set, performance, which returns summary performance statistics (see below), coef which returns the species coefficients, and print and summary to summarise the output. WAPLS also has a plot method that produces scatter plots of predicted vs observed measurements for the training set.

Function rand.t.test performs a randomisation t-test to test the significance of the cross-validated components after van der Voet (1994).

Function screeplot displays the RMSE of prediction for the training set as a function of the number of components and is useful for estimating the optimal number for use in prediction. By default screeplot will also carry out a randomisation t-test and add a line to scree plot indicating percentage change in RMSE with each component annotate with the p-value from the randomisation test.

Value

Function WAPLS returns an object of class WAPLS with the following named elements:

coefficients species coefficients (the updated "optima").
meanY weighted mean of the environmental variable.
iswapls logical indicating whether analysis was WAPLS (TRUE) or PLS (FALSE).
T sample scores.
P variable (species) scores.
npls number of pls components extracted.
fitted.values fitted values for the training set.
call original function call.
x environmental variable used in the model.
standx, meanT sdx additional information returned for a PLS model.
predicted predicted values of each training set sample under cross-validation.
residuals.cv prediction residuals.
fit predicted values for newdata.
fit.boot mean of the bootstrap estimates of newdata.
v1 squared standard error of the bootstrap estimates for each new sample.
v2 mean squared error for the training set samples, across all bootstrap samples.
SEP standard error of prediction, calculated as the square root of v1 + v2.


Function performance returns a matrix of performance statistics for the WAPLS model. See performance, for a description of the summary.
Function rand.t.test returns a matrix of performance statistics together with columns indicating the p-value and percentage change in RMSE with each higher component (see van der Veot (1994) for details).

Author(s)

Steve Juggins

References

ter Braak, C.J.F. & Juggins, S. (1993) Weighted averaging partial least squares regression (WA-PLS): an improved method for reconstructing environmental variables from species assemblages. Hydrobiologia, 269/270, 485-502.

ter Braak, C.J.F., Juggins, S., Birks, H.J.B., & Voet, H., van der (1993). Weighted averaging partial least squares regression (WA-PLS): definition and comparison with other methods for species-environment calibration. In Multivariate Environmental Statistics (eds G.P. Patil & C.R. Rao), pp. 525-560. Elsevier Science Publishers.

van der Voet, H. (1994) Comparing the predictive accuracy of models uing a simple randomization test. Chemometrics and Intelligent Laboratory Systems, 25, 313-323.

See Also

WA, MAT, performance, and compare.datasets for diagnostics.

Examples

data(IK)
spec <- IK$spec
SumSST <- IK$env$SumSST
core <- IK$core

fit <- WAPLS(spec, SumSST)
fit
# cross-validate model
fit.cv <- crossval(fit, cv.method="loo")
# How many components to use?
rand.t.test(fit.cv)
screeplot(fit.cv)

#predict the core
pred <- predict(fit, core, npls=2)

#plot predictions - depths are in rownames
depth <- as.numeric(rownames(core))
plot(depth, pred$fit[, 2], type="b", ylab="Predicted SumSST", las=1)

# predictions with sample specific errors
## Not run: 
pred <- predict(fit, core, npls=2, sse=TRUE, nboot=1000)
pred
## End(Not run)

[Package rioja version 0.5-6 Index]