La SVD de la matriz correlacionada debería ser aditiva pero no parece ser


29

Solo estoy tratando de replicar una afirmación hecha en el siguiente documento, Buscando Biclusters correlacionados a partir de datos de expresión génica , que es:

Proposición 4. Si . entonces tenemos:XyoJ=RyodoJT

yo. Si es un bicluster perfecto con modelo aditivo, entonces es un bicluster perfecto con correlación en columnas; ii) Si es un bicluster perfecto con modelo aditivo, entonces es un bicluster perfecto con correlación en las filas; iii) Si tanto como son perfectos con modelo aditivo, entonces X I J es un bicluster correlacionado perfecto.RyoXyoJ
doJXyoJ
RyodoJXyoJ

Estas proposiciones se pueden probar fácilmente ...

... pero por supuesto, no lo prueban.

Estoy usando algunos de los ejemplos simples en el documento más base + código R personalizado para ver si puedo demostrar esta Proposición.

corbic <- matrix(c(0,4,-4,2,2,-2,6,0,4,-8,16,-2,-2,10,-14,4), ncol=4)

(de la tabla 1F)

algún código personalizado para convertir la forma estándar X = svd a X = R C T como se describe en el documento:UreVTX=RdoT

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])))
}

aplique esta función al conjunto de datos:

 > 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

A menos que esté alucinando, estas matrices no son aditivas, a pesar de que el corbic exhibe una correlación perfecta entre filas y columnas. Parece extraño que el ejemplo que brindan muestra la propiedad que dijeron que debería ... a menos que me falte algún tipo de paso de transformación anterior o posterior al DVD.


3
Hola, zzk: Podría ayudar dar brevemente la definición de bicluster perfecto aquí ya que (a) no todos pueden acceder al documento y (b) puede significar un par de cosas diferentes dependiendo de la generalidad que uno esté asumiendo.
cardenal

1
básicamente, el valor absoluto de los puntajes de correlación por pares entre todas las filas vs filas y columnas vs columnas de la matriz es 1.
zzk

3
Estoy confundido. No 4iiidice eso P(R), P(C), additivity => P(X)? (Estoy abreviando " Yes un bicluster perfecto" como P(Y)). Parece que vas en la otra dirección, esperando esa aditividad de las otras condiciones. Por favor explique más.
Stumpy Joe Pete

Stumpy: espero aditividad en R & C porque sé que la matriz que proporciono (corbic) exhibe una correlación perfecta: es el bicluster perfecto como se indica en el documento.
zzk

66
Todavía estoy pensando que vas en la dirección equivocada. 4iii no dice que si Xes un bicluster perfectamente correlacionado entonces Ry Cserá aditivo. La implicación va en la otra dirección. Ahora, estoy de acuerdo en que es extraño que el ejemplo que dan no parezca coincidir con los teoremas de al lado. ¿Quizás haya alguna otra información que pueda proporcionar? ¿Hay algún otro teorema que vaya en la otra dirección?
Stumpy Joe Pete

Respuestas:


2

Tenga en cuenta que 'bicluster' en este artículo se refiere a un subconjunto de una matriz, "un subconjunto de filas que exhiben un comportamiento similar en un subconjunto de columnas, o viceversa". La identificación de biclusters se realiza comúnmente en algoritmos de minería de datos. Los autores están promoviendo un nuevo 'modelo de bicluster correlacionado' que es diferente de los modelos anteriores utilizados para identificar estos subconjuntos. No sé nada sobre genética, pero la confusión aquí parece bastante clara y proviene de dos fuentes:

1. Uso de la palabra 'aditivo'

No hay nada en este documento que implique que las dos matrices dadas en la salida de la función deben ser 'aditivas', si por 'aditivo', inversos aditivos es lo que se entiende por OP. Los autores no están usando la palabra aditivo en este sentido. Se refieren a la obtención de un bicluster con un modelo aditivo, "donde cada fila o columna se puede obtener agregando una constante a otra fila o columna".

2. Lectura errónea de la Proposición 4.3

RyodoJXyoJXyoJRyodoJRyodoJ deberían ser inversamente aditivos o deberían poder ajustarse a un modelo aditivo.

* Además, los datos de ejemplo provienen de una sección del documento completamente diferente a la propuesta discutida en la pregunta.


¡Es genial ver que la [con diferencia] la pregunta sin respuesta más votada en nuestro sitio web finalmente fue respondida! +1 aunque no he leído el documento y no puedo garantizar que lo que escribiste es correcto; pero parece razonable
ameba dice Reinstate Monica
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.