tucker
Purpose
TUCKER analysis for n-way arrays.
Synopsis
 
model = tucker(x,ncomp,initval,options)        
%tucker model
pred  = tucker(x,model)                         %application
options = tucker('options')
Description
TUCKER
decomposes an array of order K (where K >= 3) into the summation over the outer product of K
vectors. As opposed to PARAFAC every combination of factors in each mode are
included (subspaces). Missing values must be NaN or Inf.
INPUTS:
                         x =   the multi-way array to be decomposed and
                 ncomp =   the number of components to estimate, or
                 model =   a TUCKER
model structure.
OPTIONAL INPUTS:
             initval =   if initval is the loadings from a previous TUCKER model are
then these are used as the initial starting values to estimate a final model, 
                                 if initval is a TUCKER
model structure then mode 1 loadings (scores) are estimated from x and the
loadings in the other modes (see output pred),
      options =  discussed below.
OUTPUTS:
                 model =   a structure array with the following fields:
     modeltype:  'TUCKER',
    datasource:  structure
array with information about input data,
          date:   date
of creation,
          time:   time
of creation,
          info:   additional
model information,
         loads:   1
by K+1 cell array with model loadings for each mode/dimension,
          pred:   cell
array with model predictions for each input data block,
          tsqs:  cell
array with T2 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.
                   pred =   is a structure array, similar to model, that contains
prediction results for new data fit to the TUCKER model.
Options
             options =   a structure array with the following fields:
                    name:   'options', name indicating that this is an options structure,
              display:   [
{'on'} | 'off' ], governs level of display,
                  plots:   [ {'final'} | 'all' | 'none' ], governs level of plotting,
              weights:  [], used for fitting a weighted loss function
(discussed below),
            stopcrit:   [1e-6
1e-6 10000 3600] defines the stopping criteria as [(relative tolerance)
(absolute tolerance) (maximum number of iterations) (maximum time in seconds)],
                    init:   [ 0 ], defines how parameters are initialized (see PARAFAC),
                    line:   [ 0 | {1}] defines whether to use the line search {default uses
it},
                    algo:   this option is not yet active,
    blockdetails:   'standard'
              missdat:   this option is not yet active,
        samplemode:   [1], defines which mode
should be considered the sample or object mode and
      constraints:   {4x1
cell}, defines constraints on parameters (see PARAFAC). The first three cells
define constraints on loadings whereas the last cell defines constraints on the
core.
The default options can be retreived using: options = tucker('options');.
See Also
 corcondia, coreanal, corecalc, datahat, gram, mpca, mwfit, outerm, parafac, parafac2, tld, unfoldm