5 votos

¿Cuál es la ventaja del pulimento mediano encima de la mediana?

Todavía no puedo averiguar la ventaja de la mediana de uñas en un habitual de la media de la summarisation de la sonda para hacer probesets en el análisis de microarrays.

Según tengo entendido a partir de aquí, la idea es utilizar la mediana de las distintas matrices para resumir los datos, junto con la mediana de las diferentes sondas: El uso de la mediana de polaco para la selección de características

He estado haciendo algunas simulaciones para tratar de ver lo que podría suceder.

Si nos imaginamos la siguiente es una simulación de microarrays de datos, donde las columnas son las sondas queremos resumir, y las filas son los microarrays diferentes fichas:

library(preprocessCore)
>  y <- matrix(10+rnorm(100),20,5)
> y
           [,1]      [,2]      [,3]      [,4]      [,5]
 [1,]  9.334358  9.993648  8.551274 10.109988 10.243317
 [2,] 11.448786  8.908376 11.536720 10.679236 10.831209
 [3,] 11.979813  8.726539  9.740086 10.103683  9.349783
 [4,] 10.552108 12.772855 10.484486  9.362849  9.426693
 [5,] 10.056581  9.890734  9.907472 10.283063  9.909602
 [6,] 12.187766 10.290644  8.770036 11.241425 12.856710
 [7,] 11.071675  9.932000 11.761954 10.806470 11.013961
 [8,]  9.560737  9.234133 11.307681  8.672639  9.570637
 [9,]  8.952978  8.549438  9.962865  8.527808  8.421271
[10,]  8.853584 10.117102 10.040929  9.551693  9.880730
[11,]  8.794862 11.276158  7.579099  9.167762  8.863161
[12,] 10.923659  9.873338  9.081718  9.501927 11.956930
[13,] 10.150289  8.472951  9.367948  9.376648  9.963847
[14,] 10.271810 10.738851 11.253192  8.169423 10.286973
[15,] 10.424398 10.356835 10.004031 10.790331  9.922300
[16,] 10.494939  7.793422 10.182820  9.597307  8.726760
[17,] 11.447273 10.366120 11.620400  9.698011 10.706059
[18,]  9.597951 11.161659  9.923795  8.462029 10.945888
[19,]  8.796656 10.962160 10.204844  7.944251  9.332819
[20,]  9.462135 10.621933  9.697430 11.112817  9.905340

Así podemos resumir las columnas de ussing la mediana (que trata a cada uno de probeset (que es, columna) por separado, y también utilizando la mediana de la polaca (que toma en cuenta las columnas y las filas, más detalle en http://www.stats.ox.ac.uk/pub/MASS4/VR4stat.pdf

> colSummarizeMedian(y)
$Estimates
[1] 10.211050 10.055375  9.983448  9.574500  9.915951

$StdErrors
[1] NA NA NA NA NA

> colSummarizeMedianpolish(y)
$Estimates
[1] 9.975078 9.898037 9.907471 9.788084 9.907471

$StdErrors
[1] NA NA NA NA NA

A continuación, añado un "outlier", cambiando una de las matrices y volver a calcular. Como sería de esperar que la mediana sigue siendo la misma, pero la mediana de polaco no.

Sin embargo, no veo por qué la mediana de la polaca es una respuesta mejor aquí que en la mediana de la respuesta? No veo por qué no estamos de endeudamiento de la información de las otras columnas, y de lo que podemos obtener de esta. Esto parece ser especialmente cierto dado que la mayoría del tiempo algunas de las columnas serán las fichas de tratamientos diferenciales.

Quizás me he perdido algo fundamental aquí, pero cualquier ayuda sería muy apreciada, estoy en algo así como un bloqueo mental.

También, si la gente piensa que esto es más adecuado para un más bioinformática q+un sitio, por favor hágamelo saber!

> y[20,] <- y[20,] + rnorm(5, sd=5)
> colSummarizeMedian(y)
$Estimates
[1] 10.348104  9.990152  9.983448  9.526810  9.915951

$StdErrors
[1] NA NA NA NA NA

> colSummarizeMedianpolish(y)
$Estimates
[1] 10.030423  9.879213  9.933043  9.713632  9.893364

$StdErrors
[1] NA NA NA NA NA

3voto

Patrick Puntos 183

Lo que usted llame al (linealmente), los "préstamos fuerza" corresponde a lo que los estadísticos llaman como afín equivariance. En esencia, usted quiere un afín equivariant estimador de la ubicación que es robusto a los valores atípicos. El mejor en la clase de estimadores son los SDE[1] y la FastMCD[2]

Ambos tienen varios implementación en R. En ambos casos, la mejor aplicación es, probablemente, en el rrcov paquete en el CovSde() y CovMcd funciones (), respectivamente.

library(MASS)
library(rrcov)
library(matrixStats)
CM<-matrix(0.95,5,5)
diag(CM)<-1
x<-mvrnorm(100,rep(0,5),CM)     
#the real data is correlated: you'd be better off borrowing 
#strength from the adjacent columns.    
z<-mvrnorm(10,rep(50,5),diag(5))    #the outliers
w<-rbind(x,z)

#all three essentially similar:
CovMcd(w)@center
CovSde(w)@center
colMeans(x)


#Not the same b/c of outliers
colMeans(w)
#Not the same b/c does not use the correlation structure:
colMedians(w)

[1] R. A. Maronna y V. J. Yohai (1995), El Comportamiento de la Stahel-Donoho Robusto Multivariable Estimador. Revista de la Asociación Americana de Estadística 90 (429), 330-341

[2] P. J. Rousseeuw y K. van Driessen (1999) Un algoritmo rápido para el mínimo de covarianza determinante estimador. Technometrics 41, 212-223.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X