# Npls

Jump to navigation
Jump to search

### Purpose

Multilinear-PLS (N-PLS) for true multi-way regression.

### Synopsis

- model = npls(x,y,ncomp,
*options*) - pred = npls(x,ncomp,model,
*options*)

Please note that the recommended way to build and apply a N-PLS model from the command line is to use the Model Object. Please see this wiki page on building and applying models using the Model Object.

### Description

NPLS fits a multilinear PLS1 or PLS2 regression model to x and y [R. Bro, J. Chemom., 1996, 10(1), 47-62]. The NPLS function also can be used for calibration and prediction.

#### Inputs

**x**= X-block,

**y**= Y-block, and

**ncomp**= the number of factors to compute, or

**model**= in prediction mode, this is a structure containing a NPLS model.

#### Optional Inputs

**options**= discussed below.

#### Outputs

**model**= standard model structure (see: Standard Model Structure) with the following fields:

**modeltype**: 'NPLS',

**datasource**: structure array with information about input data,

**date**: date of creation,

**time**: time of creation,

**info**: additional model information,

**reg**: cell array with regression coefficients,

**loads**: cell array with model loadings for each mode/dimension,

**core**: cell array with the NPLS core,

**pred**: cell array with model predictions for each input data block,

**tsqs**: cell array with T^{2}values for each mode,

**ssqresiduals**: cell array with sum of squares residuals for each mode,

**description**: cell array with text description of model, and

**detail**: sub-structure with additional model details and results.

### Options

= options structure containing the fields:**options**

**display**: [ 'off' | {'on'} ], governs level of display to command window,

**plots**: [ 'none' | {'final'} ], governs level of plotting,

**preprocessing**: {[] []}, two element cell array containing preprocessing structures (see PREPROCESS) defining preprocessing to use on the x- and y-blocks (first and second elements respectively)

**outputregrescoef**: if this is set to 0 no regressions coefficients associated with the X-block directly are calculated (relevant for large arrays), and

**blockdetails**: [ 'compact' | {'standard'} | 'all' ] level of detail (predictions, raw residuals, and calibration data) included in the model.

- ‘Standard’ = the predictions and raw residuals for the X-block as well as the X-block itself are not stored in the model to reduce its size in memory. Specifically, these fields in the model object are left empty: 'model.pred{1}', 'model.detail.res{1}', 'model.detail.data{1}'.
- ‘Compact’ = for this function, 'compact' is like 'standard' but the residual limits in the model structure are also left empty (.model.detail.reslim.lim95, model.detail.reslim.lim99).
- 'All' = keep predictions, raw residuals for both X- & Y-blocks as well as the X- & Y-blocks themselves.

### See Also

analysis, conload, datahat, explode, gram, modlrder, mpca, crossval, outerm, parafac, parafac2, pls, tld, unfoldm, EVRIModel_Objects