Mira y encontrarás (una correlación)

66

Tengo varios cientos de medidas. Ahora, estoy considerando utilizar algún tipo de software para correlacionar cada medida con cada medida. Esto significa que hay miles de correlaciones. Entre estos debería haber (estadísticamente) una alta correlación, incluso si los datos son completamente aleatorios (cada medida tiene solo unos 100 puntos de datos).

Cuando encuentro una correlación, ¿cómo incluyo en ella la información sobre qué tanto busqué una correlación?

No estoy en un nivel alto en estadísticas, así que tengan paciencia conmigo.

David
fuente
55
Este es un gran ejemplo de por qué uno necesita múltiples pruebas de hipótesis.
Presumiblemente, uno puede usar el procedimiento de permutación para generar una distribución nula para umbrales de significación para la correlación más grande, un umbral diferente para la segunda correlación más grande, y así sucesivamente. Esperemos que esto solo tome unas pocas horas en Python o R. (¡Ja! Últimas palabras famosas). ¿Pero seguramente alguien ya debe haber hecho esto y haber guardado el código en alguna parte?
44
@tmo Ren esta máquina tarda 18 segundos en obtener 1000 realizaciones de la distribución de permutación nula del coeficiente de correlación máximo para una matriz de 300 por 100 x:correl <- function(x, k=1) { n <- dim(x)[2] * (dim(x)[2]-1) / 2; v <- cor(x); sort(v[lower.tri(v)])[(n-k+1):n] }; sim <- replicate(1000, correl(apply(x,2,sample)))
whuber

Respuestas:

74

Esta es una excelente pregunta, digna de alguien que es un pensador estadístico claro, porque reconoce un aspecto sutil pero importante de las pruebas múltiples.

Existen métodos estándar para ajustar los valores p de múltiples coeficientes de correlación (o, de manera equivalente, para ampliar sus intervalos de confianza), como los métodos Bonferroni y Sidak ( qv ). Sin embargo, estos son demasiado conservadores con grandes matrices de correlación debido a las relaciones matemáticas inherentes que deben mantenerse entre los coeficientes de correlación en general. (Para algunos ejemplos de tales relaciones, vea la pregunta reciente y el hilo resultante ). Uno de los mejores enfoques para tratar esta situación es realizar una prueba de permutación (o remuestreo). Es fácil hacer esto con correlaciones: en cada iteración de la prueba, simplemente aleatorice aleatoriamente el orden de los valores de cada uno de los campos (destruyendo así cualquier correlación inherente) y recalcule la matriz de correlación completa. Haga esto durante varios miles de iteraciones (o más), luego resuma las distribuciones de las entradas de la matriz de correlación, por ejemplo, dando sus percentiles 97.5 y 2.5: estos servirían como intervalos de confianza mutuos simétricos bilaterales del 95% bajo nulo hipótesis de no correlación. (La primera vez que hace esto con una gran cantidad de variables, se sorprenderá de cuán altos pueden ser algunos de los coeficientes de correlación, incluso cuando no hay una correlación inherente).

Al informar los resultados, no importa qué cálculos haga, debe incluir lo siguiente:

  • El tamaño de la matriz de correlación ( es decir , cuántas variables ha examinado).

  • Cómo determinó los valores p o "significancia" de cualquiera de los coeficientes de correlación ( por ejemplo , los dejó como están, aplicó una corrección de Bonferroni, hizo una prueba de permutación o lo que sea).

  • Si buscó medidas alternativas de correlación, como la correlación de rango de Spearman . Si lo hizo, indique también por qué eligió el método sobre el que realmente está informando y utilizando.

whuber
fuente
1
Esta es una descripción bastante completa de los métodos de ajuste del valor p, pero lo que no se dice es el criterio para el ajuste. Tradicionalmente ha sido la tasa de error familiar. Pero ese es un criterio estricto y no es útil cuando observa miles de comparaciones. En ese caso, la tasa de descubrimiento falso sugerida por primera vez por Benjamini ahora se usa comúnmente.
Michael Chernick
corr(x1,y1)corr(xn,yn)xiyicorr(xi,yj) ij)? ¿Todavía necesitamos una corrección?
Jase
@Jase Sí, lo haces. La cantidad de corrección depende de las interrelaciones entre las variables. Los métodos basados ​​en simulación son la única forma práctica de determinar estas correcciones.
whuber
Wow genial. ¿Este método que discutió también corregirá los errores estándar para la correlación serial y los problemas de heterocedasticidad?
Jase
@Jase Sería difícil interpretar los coeficientes de correlación en un modelo heteroscedástico. Su comentario parece referirse a un modelo lineal en una configuración de series de tiempo, en lugar de la estimación de coeficientes de correlación multivariados.
whuber
10

Según su respuesta de seguimiento a la pregunta de Peter Flom, parece que podría ser mejor atendido por técnicas que observan la estructura de nivel superior en su matriz de correlación.

Las técnicas como análisis factorial, PCA, escalamiento multidimensional y análisis de variables en grupo se pueden usar para agrupar sus variables en conjuntos de variables relativamente más relacionadas.

Además, es posible que desee pensar teóricamente sobre qué tipo de estructura debería estar presente. Cuando su número de variables es grande y el número de observaciones es pequeño, a menudo confía más en las expectativas previas.

Jeromy Anglim
fuente
1
(+1) Buen consejo a la luz del comentario del OP a la respuesta de @Peter Flom.
whuber
7

Este es un ejemplo de comparaciones múltiples. Hay una gran literatura sobre esto.

Si tiene, digamos, 100 variables, entonces tendrá 100 * 99/2 = 4950 correlaciones.

Si los datos son solo ruido, entonces esperaría que 1 de cada 20 de estos sea significativo en p = .05. Eso es 247,5

Sin embargo, antes de continuar, sería bueno si pudieras decir POR QUÉ estás haciendo esto. ¿Cuáles son estas variables, por qué las correlaciona, cuál es su idea sustantiva?

¿O simplemente estás buscando correlaciones altas?

Peter Flom - Restablece a Monica
fuente
3
La razón por la que quería hacerlo así era tener una mente abierta hacia la comprensión de mis datos, por lo que tal vez de alguna manera estoy buscando correlaciones, que no pensé antes, con el propósito de iluminarme. Ciertamente no estoy haciendo esto para satisfacer a mi jefe o algo abisario. Prefiero no entrar en los detalles de los datos, ya que quiero una respuesta general a esta pregunta, para poder usarla en todas las situaciones en el futuro.
David
7

Tal vez podría hacer un análisis preliminar en un subconjunto aleatorio de los datos para formar hipótesis y luego probar esas pocas hipótesis de interés utilizando el resto de los datos. De esa forma no tendría que corregir casi tantas pruebas múltiples. (Yo creo que...)

Por supuesto, si utiliza dicho procedimiento, reducirá el tamaño del conjunto de datos utilizado para el análisis final y, por lo tanto, reducirá su poder para encontrar efectos reales. Sin embargo, las correcciones para comparaciones múltiples también reducen la potencia y, por lo tanto, no estoy seguro de que necesariamente pierda algo.

Michael Lew
fuente
55
(+1) Esta es una gran idea en general. Sin embargo, para matrices de correlación grandes, hay tantas estadísticas y muchas de ellas pueden ser espurias a la vez que generalmente vale la pena ajustarlas. De lo contrario, terminará persiguiendo una gran cantidad de correlaciones engañosamente "significativas" que simplemente desaparecen en los datos retenidos. (Ejecute una simulación con, digamos, unos cientos de sorteos de 50 variantes normales estándar no correlacionadas. Es una
revelación