SVD da matriz correlacionada deve ser aditivo, mas não parece ser


29

Estou apenas tentando replicar uma afirmação feita no artigo a seguir, Finding Biclusters Correlated from Gene Expression Data , que é:

Proposição 4. Se . então nós temos:XIJ=RICJT

Eu. Se é um bicluster perfeito com modelo aditivo, é um bicluster perfeito com correlação em colunas; ii. Se é um bicluster perfeito com modelo aditivo, é um bicluster perfeito com correlação em linhas; iii. Se e são biclusters perfeitos com modelo aditivo, é um bicluster correlacionado perfeito. X I J C J X I J R I C J X I JRIXIJ
CJXIJ
RICJXIJ

Essas proposições podem ser facilmente comprovadas ...

... mas é claro, eles não provam isso.

Estou usando alguns exemplos simples no documento, além de código R base + personalizado, para ver se consigo demonstrar essa proposição.

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

(da Tabela 1F)

algum código personalizado para converter o formato padrão X = para conforme descrito no artigo: X = R C TUdVTX=RCT

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 função ao conjunto de dados:

 > 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 eu esteja alucinando, essas matrizes não são aditivas, mesmo que o corbic exiba uma correlação perfeita entre linhas e colunas. Parece estranho que o exemplo que eles fornecem exiba a propriedade que eles disseram que deveria ... a menos que eu esteja perdendo algum tipo de etapa de transformação antes ou depois do DVD?


3
Olá, zzk: Pode ajudar a fornecer brevemente a definição de bicluster perfeito aqui, pois (a) nem todos podem acessar o artigo e (b) pode significar algumas coisas diferentes, dependendo da generalidade que se está assumindo.
cardeal

1
basicamente, o valor absoluto das pontuações de correlação de pares entre todas as linhas vs linhas e colunas vs colunas da matriz são: 1.
ZZK

3
Estou confuso. Não 4iiidiz isso P(R), P(C), additivity => P(X)? (Estou abreviando " Yé um bicluster perfeito" como P(Y)). Parece que você está indo na outra direção, esperando a aditividade das outras condições. Por favor, explique mais.
Stumpy Joe Pete

Atarracado - estou esperando aditividade em R&C porque o eu sei que a matriz que forneço (corbic) exibe uma correlação perfeita - é o bicluster perfeito, conforme indicado no próprio artigo.
Zzk 29/08/12

6
Ainda estou pensando que você está indo na direção errada. 4iii não diz que se Xé um bicluster perfeitamente correlacionado Re Cserá aditivo. A implicação vai na outra direção. Agora, eu concordo que é estranho que o exemplo que eles dão não pareça com os teoremas a seguir. Talvez haja alguma outra informação que você poderia fornecer? Existe algum outro teorema que vai na outra direção?
Stumpy Joe Pete

Respostas:


2

Observe que 'bicluster' neste artigo refere-se a um subconjunto de uma matriz, "um subconjunto de linhas que exibem comportamento semelhante em um subconjunto de colunas ou vice-versa". A identificação de biclusters é comumente feita em algoritmos de mineração de dados. Os autores estão analisando um novo 'modelo de bicluster correlacionado' que é diferente dos modelos anteriores usados ​​para identificar esses subconjuntos. Não sei nada sobre genética, mas a confusão aqui parece bastante clara e vem de duas fontes:

1. Uso da palavra 'aditivo'

Não há nada neste artigo que implique que as duas matrizes fornecidas na saída da função sejam 'aditivas', se por 'aditivas', aditivas inversas é o que se entende por OP. Os autores não estão usando a palavra aditivo nesse sentido. Eles estão se referindo à obtenção de um bicluster com um modelo aditivo, "onde cada linha ou coluna pode ser obtida adicionando uma constante a outra linha ou coluna".

2. Proposta errada de leitura 4.3

Seguindo o comentário de @StumpyJoePete, a proposição diz que se e são biclusters perfeitos com um modelo aditivo, então é um bicluster correlacionado perfeito. Os autores não dizem que o oposto será verdadeiro. Os autores não argumentam que, se é um bicluster correlacionado perfeito, e serão aditivos - em qualquer sentido da palavra 'aditivo'. Eles não estão dizendo que e devem ser inversamente aditivos ou que devem poder se ajustar a um modelo aditivo. C J X I J X I J R I C J R I C JRICJXIJXIJRICJRICJ

* Além disso, os dados de exemplo vêm de uma seção completamente diferente do artigo que a proposição discutida na pergunta.


É ótimo ver a [de longe] a pergunta não respondida mais votada em nosso site finalmente respondida! +1, mesmo que eu não tenha lido o artigo e não possa garantir que o que você escreveu está correto; mas parece razoável.
Ameba diz Reinstate Monica
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.