I'm just trying to replicate a claim made in the following paper, Finding Correlated Biclusters from Gene Expression Data, which is:
Proposition 4. If $X_{IJ}=R_{I}C^{T}_{J}$. then we have:
i. If $R_{I}$ is a perfect bicluster with additive model, then $X_{IJ}$ is a perfect bicluster with correlation on columns;
ii. If $C_J$ is a perfect bicluster with additive model, then $X_{IJ}$ is a perfect bicluster with correlation on rows;
iii. If both $R_I$ and $C_J$ are perfect biclusters with additive model, then $X_{IJ}$ is a perfect correlated bicluster.These propositions can be easily proved...
... but of course, they don't prove it.
I'm using some of the simple examples in the paper plus base + custom R code to see if I can demonstrate this Proposition.
corbic <- matrix(c(0,4,-4,2,2,-2,6,0,4,-8,16,-2,-2,10,-14,4), ncol=4)
(from Table 1F)
some custom code to convert standard X = $UdV^T$ svd form to $X=RC^{T}$ as described in the paper:
svdToRC <- function(x, ignoreRank = FALSE, r = length(x$d), zerothresh=1e-9) {
#convert standard SVD decomposed matrices UEV' to RC' form
#x -> output of svd(M)
#r -> rank of matrix (defaults to length of singular values vector)
# but really is the number of non-zero singular values
#ignoreRank -> return the full decomposition (ignore zero singular values)
#zerothresh -> how small is zero?
R <- with(x, t(t(u) * sqrt(d)))
C <- with(x, t(t(v) * sqrt(d)))
if (!ignoreRank) {
ind <- which(x$d >= zerothresh)
} else {
ind <- 1:r
}
return(list(R=as.matrix(R[,ind]), C=as.matrix(C[,ind])))
}
apply this function to the dataset:
> svdToRC(svd(corbic))
$R
[,1] [,2]
[1,] 0.8727254 -0.9497284
[2,] -2.5789775 -1.1784221
[3,] 4.3244283 -0.7210346
[4,] -0.8531261 -1.0640752
$C
[,1] [,2]
[1,] -1.092343 -1.0037767
[2,] 1.223860 -0.9812343
[3,] 3.540063 -0.9586919
[4,] -3.408546 -1.0263191
Unless I'm hallucinating, this matrices are not additive, even though corbic exhibits perfect correlation between rows and columns. It seems strange that the example they provide does exhibit the property they said it should... unless I'm missing some kind of pre- or post- svd transformation step?
4iii
say thatP(R), P(C), additivity => P(X)
? (I'm abbreviating "Y
is a perfect bicluster" asP(Y)
). It seems you're going in the other direction, expecting that additivity from the other conditions. Please explain more. $\endgroup$ – Stumpy Joe Pete Aug 28 '12 at 21:184iii
doesn't say that ifX
is a perfectly correlated bicluster thenR
andC
will be additive. The implication goes in the other direction. Now, I agree that it's weird that the example they give doesn't seem to jive with the theorems it's next to. Perhaps there is some other information you could provide? Is there some other theorem that goes in the other direction? $\endgroup$ – Stumpy Joe Pete Aug 31 '12 at 7:12