Generate a random nonnegative matrix with known factor structure for benchmarking NMF recovery.
Uses block-diagonal construction: each factor owns a disjoint subset of features (rows) and dominates
a disjoint subset of samples (columns), with small cross-talk for realism. This produces clearly
recoverable factors even at moderate noise levels. Inspired by NMF::syntheticNMF.
Arguments
- nrow
number of rows (features)
- ncol
number of columns (samples)
- k
true rank (number of factors)
- noise
noise level as a multiplier on the mean signal. A value of 1.0 means the noise standard deviation equals the mean signal value. Default: 0.5.
- dropout
fraction of entries to set to zero (0 = no dropout). Default: 0.
- seed
seed for random number generation