domingo, julio 27, 2014

El problema de la medición en Psicología (y alrededores)

Supongamos que estamos interesados en la relación entre la altura y el peso en personas adultas españolas. Si tuviéramos conocimiento perfecto y absoluto de todo, sabríamos que la correlación entre ambas variables es igual a 0.50. Pero, simples mortales, no tenemos acceso al valor poblacional. Y, como pobres investigadores, no podemos costearnos el recoger información de los millones de adultos españoles. Tendremos que conformarnos con una muestra aleatoria a quienes pesaremos y tallaremos.

La idea básica del proceso investigador es bien sencilla. Metemos a todos los millones de españolitos en un saco bien grande, lo agitamos con ganas y, sin mirar, sacamos a un persona bien mareada. Lo medimos y tallamos. Lo volvemos a echar al saco (muestro con reemplazamiento) o no (sin reemplazamiento) y volvemos a agitar / extraer / medir, así hasta completar el tamaño muestral (n) que queremos y podemos alcanzar. Una completado, tenemos n pares de valores de altura y peso y calcular una correlación de Pearson es fácil.

¿Ha de coincidir la correlación muestral con la correlación poblacional? Aquí las respuestas de los estudiantes que se inician en la estadística van de un rotundo 'Sí' hasta un claro 'No'. Por desgracia investigadora y lógica estadística, no han de coincidir. De hecho, las estimaciones muestrales coincidieran con los valores poblacionales siempre, no tendría sentido intentar trabajar con muestras amplias.

Ejemplos cotidianos nos ilustran esta idea. Sé que en mi ciudad la mitad son hombres y la mitad mujeres. Me siento en un banco de la plaza a ver pasar gente y voy mirando cuántas mujeres hay en cada grupo de diez personas que veo. ¿Se repite una y otra vez el patrón 'cinco de diez', 'cinco de diez', 'cinco de diez'...?

Esta es la idea extensamente trabajado en las clases de estadística de distribución muestral. Pero ahora vamos a darle otra matiz más, habitualmente no cubierto, pero necesario en la investigación en casi todos los campos. Recordemos, sabemos que la correlación real entre altura y peso para nuestra población de interés es igual a 0.50.

Tenemos dos opciones. Una, evaluar la información antropométrica con instrumentos de precisión y personal capacitado y serio, que nos puede proporcionar Good Quality Measures. Otra, mucho más barata, contratar a mi amigo Pepe, con tendencia a presentarse borracho a trabajar y con frecuentes espasmos musculares. Good Quality Measures conlleva un nivel de error despreciable y Pepe un mucho mayor error. El primer sistema es más fiable y el segundo en mucha menor medida. La medición repetida de una misma persona por Good Quality ofrecerá resultados (casi) idénticos. Con Pepe, una persona de peso promedio ahora parece tener serio infrapeso, ahora parece tener obesidad extrema.

¿Cuál es el impacto del error de medición en la estimación de la correlación? Para valorarlo, realizamos una simulación en R, lenguaje de programación especialmente útil en el campo de la estadística. En una simulación podemos fijar el valor real de correlación (algo casi imposible fuera de la simulación, porque no tenemos conocimiento de los valores poblaciones), podemos generar miles de muestras del tamaño deseado (algo también inviable fuera de la simulación) y ver la relación entre estimaciones y realidad.

Fijamos varios valores para el estudio de simulación.
- El tamaño muestral es igual 25.
- Una fiabilidad poblacional de las mediciones igual a 0.6. Esto equivale a decir si medimos dos veces a un mismo grupo de personas, la correlación entre ambos resultados sería igual a 0.6.
- Repetimos el proceso de generar muestras al azar 50000 veces.

Los resultados en los que nos vamos a fijar van a ser:
- La distribución muestral de las correlaciones entre las dos variables con sus valores reales (marcados como T por True). Esto nos informará de en qué medida muestras independientes con tamaños muestrales iguales obtienen iguales resultados. En la gráfica, la línea roja.
- La distribución muestral de las correlaciones entre una variable medida sin error (T) y otra variable medida con error (X). Así vemos el efecto del error de medida en una única variable. En la gráfica, la línea azul.
- La línea marrón muestra la distribución muestral de las correlaciones cuando ambas variables son medidas con error (igual en ambos casos).

Las líneas verticales señalan la correlación media para cada distribución. Se muestra también el resumen con cinco números (mínimo, primer cuartil, mediana, tercer cuartil y máximo).


Varios son los resultados que merecen comentario:
- Cuando trabajamos con variables medidas sin error, la correlación esperada es indistingible de la correlación poblacional: la línea vertical roja casi corta en 0.50 y la mediana es 0.51.
- En ese caso, el 50% de las correlaciones muestrales se encuentran en el intervalo [0.40, 0.61]. O, visto por el otro lado, en algo más del 50% de los casos el error entre la correlación estimada y la real es superior a 0.10.
- Cuando pasamos al caso de una variable sin error y otra con error (línea azul; X1T2) la correlación esperada ya no coincide con la correlación real. La mediana de las correlaciones en este caso se sitúa en 0.39. Infraestimamos, en promedio, el tamaño de la relación entre variables. La falta de fiabilidad en los indicadores reduce, en general, la relación observada entre variables.
- Esto no es así en todos los casos. En aproximadamente un 25% de los casos, la correlación estimada con X1T2 es mayor a 0.5, el valor poblacional. Luego no siempre el error de medida supone encontrar correlaciones por debajo del valor poblacional.
- El error de medida implica ampliar la dispersión de los resultados muestrales: las distribuciones se van aplanando. Si para variables sin error el rango intercuartil era de 0.21, ahora es de 0.24.
- El error de medida aumenta la proporción de ocasiones en las que la correlación observada tiene un signo negativo, contrario al poblacional. No únicamente podemos infraestimar el efecto, sino cambiar su sentido.
- En el caso donde ambas variables se evalúan con error de medida, los efectos de la falta de fiabilidad se hacen más marcados. De la correlación poblacional igual a 0.50 pasamos a una mediana de la correlación muestral para X1,X2 igual a 0.31.

En resumen: El error de medida atenúa el tamaño de la relación aparente entre variables. El error de medida aumenta la dispersión de los resultados muestrales. Esto tiene serias implicaciones para la investigación. Introduce inconsistencia en los resultados.

Algunas de las condiciones de la simulación pueden parecen poco realistas. Por ejemplo, un tamaño muestral igual a 25 puede parecer escaso. En el caso del ejemplo que planteábamos (medición de variables antropométricas, por tanto, muy sencillas de valorar) así sería. Pero no en otros contextos. Pensamos en la gran cantidad de estudios experimentales (Psicología Básica, Psicología Social, Evolutiva...) con estos tamaños o inferiores.

También se puede plantear que una fiabilidad de 0.60 es baja. De nuevo, depende. En algunos contextos, simplemente no conocemos la fiabilidad de las mediciones. Evaluar la fiabilidad es parte del procedimiento común cuando se trabaja con cuestionarios de múltiples preguntas (ponga usted un alfa de Cronbach en su vida), pero no con tareas de laboratorio o con variables evaluadas con un único ítem. Incluso en el caso de cuestionarios, algunos manuales de uso extendido indican que cuando la función de la evaluación no es usar las puntuaciones particulares para tomar decisiones con ellas para cada individuo (tú tienes anorexia, tú no tienes anorexia..., por ejemplo), sino emplearlas para investigación (la relación entre una escala de anorexia y la depresión es..., por ejemplo) valores de fiabilidad por encima de 0.5 podrían ser aceptables.

Ninguna de las ideas que se plantean en este post es mía. Los problemas de atenuación de la correlación, cómo corregir las estimaciones de correlación por falta de fiabilidad, el impacto de la fiabilidad en la probabilidad de detectar relaciones que no existen o de pasar por alto relaciones que sí existen... han sido analizados durante años.

Las soluciones a estos problemas se centrarían en:
- Trabajar con muestras más amplias, bien sea en los estudios particulares o agregando estudios mediante meta-análisis.
- Trabajar con variables de mayor fiabilidad.
- Informar de la fiabilidad estimada de las variables en los estudios.
- Incorporar la incertidumbre sobre las estimaciones en nuestros resultados con intervalos de confianza, errores típicos...
- Informar del tamaño de los efectos con nuestras mediciones y con técnicas para corregir las consecuencias de la falta de fiabilidad.
- No publicar únicamente estudios con resultados estadísticamente significativos.

Aquí dejo la sintaxis de R para quien quiera trabajar en el tema o ver el efecto de manipular los valores de la simulación.

rm(list=ls())
poblacion.cort1t2 <- 0.50
fiabilidad <- 0.60
poblacion.cort1x1 <- sqrt(fiabilidad)
poblacion.cort2x2 <- sqrt(fiabilidad)
muestra.cort1t2 <- NULL
muestra.corx1x2 <- NULL
muestra.cort1x1 <- NULL
muestra.cort2x2 <- NULL
muestra.corx1t2 <- NULL
muestra <- 25
replicas <- 50000
t1 <- replicate(replicas,rnorm(muestra))
ex1 <-replicate(replicas,rnorm(muestra))
x1 <- t1*poblacion.cort1x1 + ex1*(1-poblacion.cort1x1^2)^.5
et2 <- replicate(replicas,rnorm(muestra))
t2 <- t1*poblacion.cort1t2 + et2*(1-poblacion.cort1t2^2)^.5
ex2 <- replicate(replicas,rnorm(muestra))
x2 <- t2*poblacion.cort2x2 + ex2*(1-poblacion.cort2x2^2)^.5
for (i in 1:replicas) {
  muestra.cort1t2 <- c(muestra.cort1t2, cor(t1[,i],t2[,i]))
  muestra.corx1x2 <- c(muestra.corx1x2, cor(x1[,i],x2[,i]))
  muestra.cort1x1 <- c(muestra.cort1x1, cor(t1[,i],x1[,i]))
  muestra.cort2x2 <- c(muestra.cort2x2, cor(t2[,i],x2[,i]))
  muestra.corx1t2 <- c(muestra.corx1t2, cor(x1[,i],t2[,i]))
}
 
plot(density(muestra.cort1t2),
     main="",
     xlab="Correlación",
     ylab="",
     xlim=c(-0.5, 1),
     col="red",
     lwd=4,
     axes = FALSE)
text(-0.5, max(density(muestra.cort1t2)$y*1), paste("Tamaño muestral = ", muestra), adj = c(0,0))
text(-0.5, max(density(muestra.cort1t2)$y*0.95), paste("Cor(T1,T2) = ", poblacion.cort1t2), adj = c(0,0))
text(-0.5, max(density(muestra.cort1t2)$y*0.90), paste("Fiabilidad = ", fiabilidad), adj = c(0,0))
axis(1,seq(-0.5,1,0.25),paste(seq(-0.5,1,0.25)))
lines(density(muestra.corx1t2), col="blue", lwd=4)
lines(density(muestra.corx1x2), col="brown", lwd=4)
abline(v=mean(muestra.cort1t2),col="red",lty=2,lwd=2)
abline(v=mean(muestra.corx1t2),col="blue",lty=2,lwd=2)
abline(v=mean(muestra.corx1x2),col="brown",lty=2,lwd=2)
legend(-0.5,max(density(muestra.cort1t2)$y*0.85),c("Cor(T1,T2)", "Cor(X1,T2)", "Cor(X1,X2)"),lwd=c(2,2,2),col=c("red","blue","brown"))
 
resultados <- list(muestra.cort1t2=muestra.cort1t2, muestra.corx1t2=muestra.corx1t2, muestra.corx1x2=muestra.corx1x2)
resultados.resumen <- round(vapply(resultados, fivenum, c(Min.=0, "1st Qu."=0, Median=0, "3rd Qu."=0, Max.=0)),2)
colnames(resultados.resumen) <- c("T1,T2", "X1,T2", "X1,X2")
 
for (i in 1:3)
  text(-0.45+i*0.125,max(density(muestra.cort1t2)$y)*0.60,colnames(resultados.resumen)[i])
for (j in 1:5)
  text(-0.45,max(density(muestra.cort1t2)$y)*(0.60-j*0.05),rownames(resultados.resumen)[j])
for (i in 1:3)
  for (j in 1:5)
    text(-0.45+i*0.125,max(density(muestra.cort1t2)$y)*(0.60-j*0.05),resultados.resumen[j,i])
Created by Pretty R at inside-R.org

2 comentarios: