Nvalidate

From Eigenvector Research Documentation Wiki
Jump to navigation Jump to search

Purpose

Validate the number PARAFAC or Tucker components.

Synopsis

result = nvalidate(x,ncomp,method,options);
nvalidate(result,x) %Plot earlier results
nvalidate(x,1:3,'parafac')  % Validate 1-3 component PARAFAC models
nvalidate(x,[1 1 1;3 3 3],'tucker') % validate [1 1 1] to [3 3 3] comp Tucker3 models

Inputs

  • x multi-way array to be modeled
  • ncomp = number of components to be modeled
  • for parafac models, set ncomp to [1:4] to test one -to four component models.
  • for tucker, set ncomp to [2 2 2; 4 5 4] to check from 2 to 4/5 components depending on mode.
  • method Either 'parafac' or 'tucker'

Outputs

The outputs of the nvalidate function are returned as a struct with the following fields

  • ssq The sum-squared error. What to look for: look for sudden changes as in a Scree-Plot(often difficult) and look for sudden increase in number of local minima (replicate points for a number of components are not identical). This is often a good indication that noise is being modeled.
  • models Cell of models where element {f,r} is the r'th model replicate fit with f components
  • iterations Number of iterations What-To-Look-For: A sudden increase in the number of iterations suggests that too many components may be used (but could a.so just be due to a difficult fitting problem). So don't pay too much attention to this.

For PARAFAC models, special plots are given

  • consistency The core consistency (corcondia). What-To-Look_For: CORCONDIA is a percentage below or equal to 100%. A value of 80-100% means that the model is valid, while a value below, say 40% means that the model is not valid. A value between 40 and 80% means that the model is probably valid but somehow difficult to estimate, e.g., due to slight misspecification or correlations. The Corcondia will mostly decrease with number of components but very sharply where the correct number of components are exceeded. Hence, the appropriate number of components is the model with the highest number of components and a valid CORCONDIA.
  • splithalf Stability of loadings. What-To-Look-For: A high value (close to 100%) means that when the data is split in two, both sets will yield the same parameters. May give meaningless results for few samples or if the underlying variables are not equally distributed over samples.

See Also

corcondia, modelviewer,parafac,parafac2,tucker