Usiłuję tylko powtórzyć twierdzenie przedstawione w poniższym artykule Finding Correlated Biclusters z Gene Expression Data , czyli:
Twierdzenie 4. Jeśli . Następnie mamy:
ja. Jeśli jest idealnym biclusterem z modelem addytywnym, to jest idealnym biclusterem z korelacją na kolumnach; ii. Jeśli jest idealnym bicluster z modelem addytywnym, to jest idealnym bicluster z korelacją na wierszach; iii. Jeśli zarówno jak i są idealnymi biclusterami z modelem addytywnym, to jest idealnie skorelowanym biclusterem. X I J C J X I J R I C J X I J
Te propozycje można łatwo udowodnić ...
... ale oczywiście tego nie udowadniają.
Korzystam z kilku prostych przykładów w dokumencie plus podstawowy + niestandardowy kod R, aby sprawdzić, czy mogę zademonstrować tę propozycję.
corbic <- matrix(c(0,4,-4,2,2,-2,6,0,4,-8,16,-2,-2,10,-14,4), ncol=4)
(z tabeli 1F)
jakiś niestandardowy kod do konwersji standardowego X = na jak opisano w artykule: 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])))
}
zastosuj tę funkcję do zestawu danych:
> 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
O ile nie mam halucynacji, te matryce nie są addytywne, mimo że corbic wykazuje doskonałą korelację między rzędami i kolumnami. Wydaje się dziwne, że podany przez nich przykład wykazuje właściwość, o której mówili, że powinien ... chyba że brakuje mi jakiegoś etapu transformacji przed lub po nagraniu na DVD?
4iii
mówi tak P(R), P(C), additivity => P(X)
? (W skrócie „ Y
is perfect bicluster” as P(Y)
). Wygląda na to, że idziesz w innym kierunku, oczekując tej addytywności od innych warunków. Proszę wyjaśnić więcej.
4iii
nie mówi, że jeśli X
jest idealnie skorelowanym bicluster, to R
i C
będzie addytywny. Implikacja idzie w innym kierunku. Teraz zgadzam się, że to dziwne, że przykład, który podają, wydaje się nie łączyć z twierdzeniami, które są obok. Być może możesz podać jakieś inne informacje? Czy istnieje jakieś inne twierdzenie, które idzie w innym kierunku?