我只是想复制以下论文中的主张,即从Gene Expression Data中找到相关的Biclusters,即:
命题4.如果。那么我们有:
一世。如果是具有加性模型的理想双齐群,则X I J是在列上具有相关性的理想双齐群; ii。如果C J是带加性模型的理想双齐群,则X I J是行相关的理想双齐群。 iii。如果R I和C J都是具有加性模型的理想双齐群,则X I J是理想的相关双齐群。
这些主张很容易得到证明。
...但是,当然,他们没有证明这一点。
我使用论文中的一些简单示例以及基本代码+自定义R代码来查看我是否可以演示该建议。
corbic <- matrix(c(0,4,-4,2,2,-2,6,0,4,-8,16,-2,-2,10,-14,4), ncol=4)
(来自表1F)
一些自定义代码,可以将标准X = svd形式转换为X = R C T,如本文所述:
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])))
}
将此函数应用于数据集:
> 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
除非我产生幻觉,否则即使矩阵在行和列之间显示出完美的相关性,该矩阵也不是可加的。他们提供的示例确实显示了他们应说的属性,这似乎很奇怪……除非我错过了某种SVD转换之前或之后的转换步骤?
4iii
说P(R), P(C), additivity => P(X)
吗 (我缩写为“ Y
is a perfect bicluster” P(Y)
)。看来您正在朝另一个方向发展,并期望其他条件下的可加性。请解释更多。
4iii
不说,如果X
是完全相关的bicluster然后R
和C
将添加剂。蕴含着另一个方向。现在,我同意他们给出的示例似乎不符合其所依据的定理是很奇怪的。也许您还可以提供其他一些信息?还有其他定理朝另一个方向发展吗?