Corcondia
Purpose
Evaluate consistency of PARAFAC model.
Synopsis
- CoreConsist = corcondia(X,loads,weights,plots);
Description
PARAFAC can be written as a special Tucker3 model where the core is superdiagonal with ones on the diagonal. This special way of writing the model can be used to check the adequacy of a PARAFAC model by estimating what Tucker3 core is found if estimated unconstrained from the PARAFAC loadings. The core consistency is given as the percentage of variation in this core array consistent with the theoretical superdiagonal array. The maximum core consistency (100) is thus found. Consistencies found well below 70 to 90 indicate that either too many components are used or the model is otherwise mis-specified. The consistency can also become negative which means that the model is not reasonable. Note that core consistency is an ad hoc method. It often works well on real data, but not as well with simulated data. CORCONDIA does not provide proof of dimensionality, but it can give a good indication.
Inputs are the multi-way array (X) and (loads) which can be a) a cell array with PARAFAC model loadings or b) a PARAFAC model structure.
Optional inputs are weights which can be used to update the core in a weighted least squares sence and plots which suppress plotting of the results when set to zero (0).