The matrix is divided in two blocks with an equal variance using the greedy implementation of the partition problem on the covariances between the columns and the total row sums.
numeric array or matrix
The objective is to find two block with an variance that is as close as possible to the variance of the other block without significantly impacting the performance.
The first step is to calculate the covariances between all columns and the total row sums of the matrix. Using the greedy implementation of the partition problem, we find two groups with variances that are as close as possible to eachother.
numeric binary vector with the partition
Kris Boudt, email@example.com
Edgars Jakobsons, firstname.lastname@example.org
Steven Vanduffel, email@example.com
Kristof Verbeken, firstname.lastname@example.org
to test: d<-10; X<-matrix(runif(d^2,max=10),ncol=d); partition<-sample(c(T,F),d,replace=T); print(equalvar(X,partition,"greedy"));print(equalvar(X,partition,"KK"));