5 votos

Prueba de permutación de dos caras frente a dos de una cara

Estoy trabajando con un conjunto de genes para los que tengo los dos valores de metilación $\beta$ (continua en el intervalo de la unidad) y la expresión génica $E$ (continua no negativa) que quiero probar para la correlación $\hat\rho(log_2E,\beta)=R$ . Para filtrar sólo las correlaciones significativas, realizo una prueba de permutación en la que para cada sitio permuto aleatoriamente $E$ un gran número de veces y calcular $R$ . Esto me da una distribución bajo la hipótesis nula $p(R|H_0)$ es decir, cuando no hay dependencia entre $\beta$ y $E$ que puedo comparar $R$ contra.

Ahora a mi pregunta,

Quiero probar tanto la correlación positiva como la negativa. ¿Hago dos pruebas por gen y utilizo la corrección de pruebas múltiples doble, donde

$p_- = \int\limits_{-\inf}^Rp(x|H_0)dx$

$p_+ = \int\limits_{R}^\inf(x|H_0)dx$

o puedo y debo calcular un valor p de dos colas directamente basado en $|R|$ o algo así, y utilizar la corrección normal de las pruebas múltiples? Sólo se me ocurre lo siguiente, pero me parece mal y tiene una potencia pésima.

$p_2 = \int\limits_{-\inf}^{-|R|}p(x|H_0)dx + \int\limits_{|R|}^\inf(x|H_0)dx$

enter image description here

Editar: Se ha actualizado la figura y se ha añadido la etiqueta que faltaba en el eje x. El eje Y es el mismo para todos los paneles.

9voto

David J. Sokol Puntos 1730

Este es un ejemplo de prueba de permutación en R.

## dummy data
set.seed(1)
x <- runif(20)
y <- 0.5 * x
y <- y + rnorm(20)

## set up for the permutation, compute observed R
nullR <- numeric(length = 1000)
nullR[1] <- cor(x, y) ## obsered R in [1]
N <- length(x)

## permutation test
for(i in seq_len(999) + 1) {
    nullR[i] <- cor(x[sample(N)], y)
}

hist(nullR) ## histogram of R under H0

enter image description here

Ahora podemos calcular la permutación $p$ de la distribución de permutación para las distintas pruebas de cola que consideres:

> ## one side H1 R > 0
> sum(nullR >= nullR[1]) / length(nullR)
[1] 0.908
> ## one side H1 R < 0
> sum(nullR <= nullR[1]) / length(nullR)
[1] 0.093
> ## two sided
> sum(abs(nullR) >= abs(nullR[1])) / length(nullR)
[1] 0.177

2voto

The A Holio Puntos 1

Su fórmula para $p_2$ sólo funciona si se tiene una distribución simétrica alrededor de $0$ que al menos su ilustración no parece tener. Una mejor estimación viene dada por $p_2(t) = {\rm min}(2p_{+}, 2p_{-})$ . utilizando sus definiciones de $p_{+}$ y $p_{-}$ .

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