12 votos

Existe una versión de el coeficiente de correlación que es menos sensible a los valores atípicos?

El coeficiente de correlación es:

$$ r = \frac{\sum_k \frac{(x_k - \bar{x}) (y_k - \bar{y_k})}{s_x s_y}}{n-1} $$

The sample mean and the sample standard deviation are sensitive to outliers.

As well, the mechanism where,

$$ r = \frac{\sum_k \text{stuff}_k}{n -1} $$

is sort of like a mean as well and maybe there might be a variation on that which is less sensitive to variation.

The sample mean is:

$$ \bar{x} = \frac{\sum_k x_k}{n} $$

The sample standard deviation is:

$$ s_x = \sqrt{\frac{\sum_k (x_k - \bar{x})^2}{n -1}} $$

I think I want

The median:

$$ \text{Median}[x]$$

The median absolute deviation:

$$ \text{Median}[\lvert x - \text{Median}[x]\rvert] $$

And for the correlation:

$$ \text{Median}\left[\frac{(x -\text{Median}[x])(y-\text{Median}[y]) }{\text{Median}[\lvert x - \text{Median}[x]\rvert]\text{Median}[\lvert y - \text{Median}[y]\rvert]}\right] $$

He intentado esto con algunos números al azar, pero obtuvo resultados superiores a 1 que parece incorrecto. Consulte el siguiente código R.

 x<- c(237, 241, 251, 254, 263)
 y<- c(216, 218, 227, 234, 235)

 median.x <- median(x)
 median.y <- median(y)

 mad.x <- median(abs(x - median.x))
 mad.y <- median(abs(y - median.y))

 r <- median((((x - median.x) * (y - median.y)) / (mad.x * mad.y)))

 print(r)
 ## Prints 1.125

 plot(x,y)

17voto

Sean Hanley Puntos 2428

Creo que quiere una correlación por rangos. Esas son generalmente más robustos a los valores atípicos, aunque vale la pena reconocer que están midiendo el monótono de la asociación, no de la línea recta de la asociación. La más conocida rango de correlación correlación de Spearman. Es sólo producto-momento de Pearson correlación de los rangos de los datos.

Yo no iría por el camino que está tomando con la obtención de las diferencias de cada dato de la mediana. La mediana de la distribución de X puede ser completamente distinta a punto de la mediana de la distribución de Y, por ejemplo. Que me llama la atención como probable causa de la inestabilidad en el cálculo.

6voto

Hoogendijk Puntos 45

Otra respuesta para discretos como contraposición a las variables continuas, por ejemplo, enteros y reales, es la correlación por rangos de Kendall. En contraste con el rango de correlación de Spearman, el de correlación de Kendall no se ve afectada por la distancia desde cada una de las otras filas, pero solo por si las filas entre las observaciones son iguales o no.

Kendall τ coeficiente se define como:

$\tau = \frac{(\text{number of concordant pairs}) - (\text{number of discordant pairs})}{n (n-1) /2}$

El rango de Kendall coeficiente se utiliza a menudo como un estadístico de prueba en una prueba de hipótesis estadística para establecer si dos variables puede ser considerado como estadísticamente dependientes. Esta prueba no-paramétrica, ya que no se basan en hipótesis sobre las distribuciones de $X$ o $Y$ o de la distribución de $(X,Y)$.

El tratamiento de los vínculos de correlación de Kendall es, sin embargo, problemático, como se indica por la existencia de no menos de 3 métodos de tratar con lazos. Un empate en un par {(xi, yi), (xj, yj)} es cuando xi = xj o yi = yj; empate en la pareja no es ni cómodos ni discordantes.

2voto

dave fournier Puntos 176

Esta es una solución que funciona bien para los datos y el problema propuesto por IrishStat.

$$Y=ax+b+e$$

La idea es reemplazar la varianza de la muestra de $Y$ en la predicción de la varianza $$\sigma_Y^2=a^2\sigma_x^2+\sigma_e^2$$. así que la fórmula de la correlación se convierte en $$ r=\sqrt{\frac{a^2\sigma^2_x}{a^2\sigma_x^2+\sigma_e^2}}$$ Ahora, la razón que la correlación es subestimado es que el de las demás causas de la estimación de la $\sigma_e^2$ a ser inflado. Para lidiar con este reemplazar el supuesto de distribución normal de los errores en la regresión con una mezcla normal $$\frac{0.95}{\sqrt{2\pi} \sigma} \exp(-\frac{e^2}{2\sigma^2}) +\frac{0.05}{\sqrt{2\pi} 3\sigma} \exp(-\frac{e^2}{18\sigma^2}) $$ La primera vez que vi esta distribución se utiliza para la robustez en Hubers libro, Estadísticas Robustas. Este es "moderadamente" robusto y funciona bien para este ejemplo. También ha la propiedad de que si no hay valores atípicos se produce estimaciones de los parámetros casi idéntica a la costumbre de los mínimos cuadrados. Por lo que este procedimiento implícitamente elimina la influencia de los valores atípicos, sin tener que modificar los datos. El ajuste de los datos produce una correlación estimación de 0.944812.

1voto

Owen Fraser-Green Puntos 642

Mi respuesta local que el OP ya no sé qué observaciones son valores atípicos porque si el OP hizo, a continuación, ajustes de datos sería obvio. Por lo tanto es parte de mi respuesta trata de la identificación de los valores atípicos(s)

Cuando se construye un modelo OLS ($y$ frente al $x$), se obtiene un coeficiente de regresión y, posteriormente, el coeficiente de correlación creo que puede ser inherentemente peligroso, no para desafiar a los "dados" . De esta manera, se entiende que el coeficiente de regresión y su hermano se basan en que no hay valores atípicos/valores inusuales. Ahora bien, si usted identificar un valor atípico y agregar un adecuado 0/1 predictor para tu modelo de regresión de la resultante del coeficiente de regresión para el $x$ es ahora robustified para el outlier/anomalía. Este coeficiente de regresión para el $x$ entonces es "más verdadera" que la original coeficiente de regresión ya que no está contaminado por la identificación de valores atípicos. Tenga en cuenta que no hay observaciones permanentemente "tirado"; es simplemente que un ajuste de la $y$ valor implícito para el punto de la anomalía. Este nuevo coeficiente para el $x$ pueden ser convertidos a un robusto $r$.

Una visión alternativa de que esto es sólo para tomar el ajustado $y$ valor y reemplazar el original $y$ valor con este liso "valor" y, a continuación, ejecutar una simple correlación.

Este proceso debe realizarse de manera repetitiva hasta que no outlier es encontrado.

Espero que esta aclaración ayuda a la baja de los votantes para entender el procedimiento sugerido . Gracias a whuber para que me empujaba por la aclaración. Si alguien todavía necesita ayuda con esto, siempre se puede simular un $y, x$ conjunto de datos e inyectar un valor atípico en cualquier x y siga los pasos sugeridos para obtener una mejor estimación de $r$.

Doy la bienvenida a cualquier comentario sobre ello como si es "incorrecto" yo sinceramente gustaría saber por qué esperamos que apoyado por un número de contra-ejemplo.

EDITADO PARA PRESENTAR UN EJEMPLO SENCILLO :

Un pequeño ejemplo basta para ilustrar la propuesta/transparente método de "la obtención de una versión de r que es menos sensible a los valores atípicos", que es la pregunta directa de la OP. Este es un fácil seguir la secuencia de comandos utilizando el estándar de mco y algo de aritmética simple . Recordemos que B es el coeficiente de regresión ols es igual a r*[sigmay/sigmax).

Considere los siguientes 10 pares de observaciones.

enter image description here

Y gráficamente

enter image description here

El coeficiente de correlación simple es .75 con sigmay = 18.41 y sigmax=.38

Ahora podemos calcular una regresión entre y y x y obtener la siguiente

enter image description here

Donde 36.538 = .75*[18.41/.38] = r*[sigmay/sigmax]

El real/ajuste de la tabla sugiere una estimación inicial de un valor atípico en la observación 5 con el valor de la 32.799 . enter image description here

Si excluimos el 5to punto, obtenemos el siguiente resultado de la regresión

enter image description here

Que produce una predicción de 173.31 utilizando el valor de x 13.61 . Esta predicción, a continuación, sugiere un refinado estimación de la excepción a ser la siguiente ; 209-173.31 = 35.69 .

Si ahora nos restaura la configuración original de 10 valores, pero sustituye el valor de y en el período de 5 (209) por el estimado/limpiado valor 173.31 obtenemos enter image description here

y enter image description here

Vuelve a calcular r podemos obtener el valor .98 a partir de la ecuación de regresión

r= B*[sigmax/sigmay] .98 = [37.4792]*[ .38/14.71]

Así que ahora tenemos una versión o r (r =.98) que es menos sensible a la identificación de un valor atípico en la observación 5 . N. B. que el sigmay utilizado anteriormente (14.71) se basa en los ajustes y en el período de 5 y no el original contaminados sigmay (18.41). El efecto de los valores atípicos es grande debido a que se estima el tamaño y el tamaño de la muestra. Lo que tuvimos fue de 9 pares de lecturas (1-4;6-10), que fueron altamente correlacionados, pero el estándar r fue ofuscado/distorsionada por el outlier en obervation 5.

No es menos transparente, pero nore powerfiul enfoque a la solución de esta y que es el uso de la TSAY procedimiento http://docplayer.net/12080848-Outliers-level-shifts-and-variance-changes-in-time-series.html para buscar y resolver cualquier y todos los valores atípicos en una sola pasada. Por ejemplo enter image description here suggsts que el valor atípico es 36.4481 por lo tanto el valor ajustado (una cara) es 172.5419 . Salida Similar podría generar una real/limpiado de gráfico o de tabla. enter image description here . Tsay del procedimiento realidad iterativel controles cada punto de "estadística importancia" y, a continuación, selecciona el mejor punto de regularización. Serie de tiempo de las soluciones sean aplicables de inmediato si no hay ninguna estructura de tiempo evidented o potencialmente asumido en los datos. Lo que hizo fue suprimir la incorporación de cualquier serie de tiempo de filtro como tuve conocimiento de un dominio/"sabía" que fue capturado en un corte transversal en el yo.e.no longitudinal manera.

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