6 votos

Diferencias de correlación entre los datos individuales y los agregados

Tengo una muestra de 1 millón de artículos de la web con diversas características. Estoy seleccionando características para utilizarlas en una métrica/predicción de la calidad de los artículos. Para tener una idea de los datos y de qué características pueden ser las mejores, he calculado las correlaciones entre las características.

Se ha producido el siguiente problema: Para las características A="vistas del artículo" y B="recuento de pulgares hacia arriba" la correlación es de 0,32 (Pearson) o 0,26 (Spearman). La intuición sugiere que sí existe una correlación. Las características por sí mismas me parecen distribuidas exponencialmente (muchos valores pequeños, muy pocos valores grandes). Quise ver una vista gráfica de la correlación, pero el diagrama de dispersión no reveló nada y mucho menos una asociación lineal.

Así que agregué los datos de la siguiente manera:

  1. Ordenar todos los puntos de datos por A (vistas del artículo).
  2. Divida la lista en n=100 trozos igualmente grandes.
  3. Calcula la suma(A) y la suma(B) de todos los trozos.

Ahora, cuando trazo los 100 pares de valores suma(B) sobre suma(A), ¡se muestra una línea recta casi perfecta! (salvo una pequeña aberración al principio). La correlación de Pearson es casi 1.

¿Qué muestra esto / Qué debo hacer con esto?

¿Significa esto que hay una fuerte dependencia entre A y B "en general", pero para los artículos individuales hay "ruido"? ¿Puede tener algo que ver con Falacia ecológica ? ¿Sugiere una forma diferente de explorar la asociación entre estas variables?

4voto

Marc-Andre R. Puntos 789

El problema está en el binning. Cuando se ordena la variable $A$ por tamaño, dividirlo en 100 bins iguales y luego sumar los datos en los bins que introduce el orden. Los bins del principio tendrán sumas más bajas y sumas más altas al final. Esto es perfectamente normal, porque así es como se construyeron los bins.

A continuación se presenta una simple simulación a modo de ilustración.

Generar 1 millón de valores aleatorios de la distribución exponencial

library(dplyr)
a <- rexp(1e6)

enter image description here

Dividir en 100 franjas de igual tamaño utilizando los cuantiles:

q <- quantile(a, seq(0, 1, length.out = 101))
q[1] <- 0
q[101] <- Inf
bin <- cut(a, q)

Suma los valores de las franjas y traza el gráfico:

dd <- data_frame(a=a,bin=bin)
ee <- dd %>% group_by(bin) %>% summarise(a=sum(a))
plot(q[-101], ee$a)

enter image description here

Compara los dos gráficos. El primero es totalmente aleatorio, y en el segundo tenemos una relación casi perfecta, debido a la forma en que construimos las franjas.

Ahora bien, si tenemos otra variable que está correlacionada con la original, este orden introducido no desaparece.

 b <- rexp(1e6) + a/3

enter image description here

Aquí observamos una relación lineal, con mucho ruido, lo que no es de extrañar, porque así construimos la segunda variable.

Si realizamos un binning, obtenemos que la relación es mucho más fuerte:

 dd <- data_frame(a=a, b=b, bin=bin)
 ee <- dd %>% group_by(bin) %>% summarise_each(funs(sum), a:b)
 plot(ee$a, ee$b)

enter image description here

Así que el binning que has realizado acentúa la relación existente, pero esto no significa que esa relación sea realmente tan fuerte.

Dado que sus datos son vistas de artículos y pulgares hacia arriba, es natural esperar que los artículos con un alto número de vistas tiendan a tener más pulgares hacia arriba. Pero esta relación es muy ruidosa, como demuestra el gráfico de dispersión inicial de los datos.

Probablemente deberías hacer una regresión para averiguar la relación y su intensidad.

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