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 takP(R), P(C), additivity => P(X)
? (W skrócie „Y
is perfect bicluster” asP(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śliX
jest idealnie skorelowanym bicluster, toR
iC
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?Odpowiedzi:
Zauważ, że „bicluster” w tym artykule odnosi się do podzbioru macierzy, „podzbioru wierszy, które wykazują podobne zachowanie w podzbiorze kolumn lub odwrotnie”. Identyfikacja biclusters jest zwykle wykonywana w algorytmach eksploracji danych. Autorzy proponują nowy „skorelowany model bicluster”, który różni się od poprzednich modeli używanych do identyfikacji tych podzbiorów. Nic nie wiem na temat genetyki, ale zamieszanie tutaj wydaje się dość jasne i wynika z dwóch źródeł:
1. Użycie słowa „dodatek”
W tym artykule nie ma nic, co sugerowałoby, że dwie macierze podane w danych wyjściowych funkcji powinny być „addytywne”, jeśli przez „addytywne” odwrotność addytywna jest rozumiana przez OP. W tym sensie autorzy nie używają słowa dodatek. Dotyczą one uzyskania bicluster z modelem addytywnym, „w którym każdy wiersz lub kolumnę można uzyskać przez dodanie stałej do innego wiersza lub kolumny”.
2. Propozycja błędnego odczytu 4.3
* Dane przykładowe pochodzą z zupełnie innej części artykułu niż propozycja omawiana w pytaniu.
źródło