The heuristic overcomes the negative elements of the SVD by enforcing nonnegativity whenever encountered and by iteratively approximating the outer product of each pair of singular vectors.
Some of the properties of the data are preserved in the initial starting matrices.