Matrix factorization methods compress the original data matrix \(A \in
R^{f,N}\) with \(f\) features and \(N\) samples into two parts,
namely \(A = B C\) with \(B \in R^{f,k}, C\in R^{k,
N}\). The function estimateDimension estimates \(k\) based on a noise
model estimated from a scrambled version of the original data matrix.