2- nPLS
nPLS1 is a regression model between the an n-way array X of predictors and a predictand vector y.
This model has proven particularly parsimonious and robust with respect to its two-way equivalent PLS1 applied to the matricised form of the array (also referred to as "unfoldPLS" or "multiwayPLS") when modelling multilinear data especially for analytical purposes.
No preliminary steps are required apart from having loaded or imported an X array and a matrix Y.
For a scientific overview of the method, click here.
Compute an nPLS1 model, an example
Load the desired data set (e.g. Fluorescence). Both X and Y are necessary.
Select only one of the
variables of Y (e.g. 'DOPA').
NB. If more than one Y variable is selected when starting the
computations, separate models will be computed for the different variables.
Select the menu 'Regression' -> 'nPLS'.
The following window appears:

Insert the desired number of
LV
in the marked field.
With the Fluorescence data set the rank is known and it is equal to 4 (i.e. the
chemical rank). Yet, it is good practice to compute a number of LV that exceed
the chemical rank.
In this case input '1,6'.
This will have CuBatch compute all the models from 1 LV to 6. If one wants only
one model it is sufficient to insert that number (e.g. '1', '2', etc)
Remember to press 'Enter' after having typed the new value or the selection will
not be effective.
No preprocessing is necessary
for the Fluorescence data set, so this part can be skipped.
Now CuBatch is ready to compute síx nPLS1 models using up to six components. Press then 'Start'.
|
![]() |
Compute and full cross-validate an nPLS1 model

To
activate full-cross validation, check on
the Validate button (marked in red) in the "nPLS Model" window; the validation options will be activated.
NB
Unless a test set was selected, the 'Test set' validation check-box is non
active.
Check the
'Leave one out' (marked in green) option, if not checked.
Press 'Start'.
A waitbar appears shows the increments (one increment = one model)
After 1 or 2 minutes the waitbar
disappears and the "nPLS Model" window is closed;
only the main CuBatch window remains open
In the InfoBox are now visible, besides those relative to the nPLS1 model, some
information on the validation.
The 'Results' menu is active and allows to
display the results.

Apply to a new set of data
Applying the model to new data is relatively simple and straightforward:


Some additional notes for on-line applications
It is possible to apply nPLS1 for batch process
monitoring: in such case it is possible that the imported sample is not
complete (that is to say: the last mode dimension is smaller than for the
calibration/NOC data set). The user is then asked the user is asked (only in the
'advanced' mode, the 'plant' user is not
given access to this option) which fill-in mode is desired.
'Current variation' is the default.

After the computations are over the InfoBox shows also the fill-in method
employed for this external set.

This option is not available unless the last mode is given name
'time' (case insensitive)
Bootstrap options
In
case one wants to employ bootstrapping, after having checked the Validation
button, the 'Bootstrap' check-box needs be
selected.

The 'Preferences' -> 'Bootstrap' menu will then be active (in green) and on the "nPLS Model" window a new object asking for the number of bootstrap replicates appears (marked in red).
Two types of bootstrap are implemented, the naïve bootstrap and the residual bootstrap (see the literature for more details on the methods).
The 'Start' button does not become active until the number of replicates is defined.
After the model has been computed and validated the 'Results' menu is updated.
Preprocessing
To preprocess the data click on the 'Preprocessing'
button. The following window will appear:

Three types of scaling are available: using the Standard Deviation, using the
Root Mean Squared value or using the Frobenius norm.
As the nPLS1 uses only vectors as predictands it is possible to centre and scale
Y only in one mode.
Note that the preprocessing
is handled according to the nprocess function. For details on preprocessing of
multiway array check the literature. In brief, remember that the centring is made 'across' the
specified mode while the scaling is done 'within' a certain mode.
NB using nprocess it is not possible to achieve columnwise autoscale as
the scaling is performed slabwise.