FAQ  Frequently Asked Questions
Issue:

Nonnegativity (PARAFAC, PARAFAC2, Tucker): Why do I get negative scores when all modes are set to nonnegativity?
Possible Solutions:

This can happen, when the data are really difficult to model meaningfully with nonnegativity.
Imagine for example, that the data are allnegative. A nonnegative solution would probably be something which had some loading vectors that were all zero. For mathematical reasons, this can not be allowed (because the rank goes down). The algorithm, when struggling, therefore tries to make the model as nonnegative as possible without reaching a situation where one whole loading vector is allzero.
This can happen when you use too many components or have data that are otherwise 'strange'. Sometimes, starting the algorithm with more initial guesses can help (set options.init=10). But most of the time, it is an indication that the constraint is not meaningful on your data with the given number of components.
It can be very instructive to run the algorithm without any constraints and try to interpret what it is in the data that causes negative components. This can often point to a solution to you problem.
Note that applying centering will give negative data (and loadings).
Still having problems? Check our documentation Wiki or try writing our helpdesk at helpdesk@eigenvector.com