Correlación con una constante
On febrero 9, 2021 by adminEstoy tratando de obtener la correlación entre 2 variables, dado un conjunto de datos. De vez en cuando, en el conjunto de datos dado, cuando una de las variables tiene un valor constante, dado que la desviación estándar de esa variable es cero, obtengo un valor NA para la correlación. (En R). Me gustaría asignar un valor para la correlación en estos escenarios explícitamente o tratar de obtener algún valor a través de medios alternativos, de modo que pueda comparar este punto con otras ocasiones en que calculo la correlación. ¿Cómo lo hago? (1) ¿Debo agregar algo de ruido a esa variable y calcular la correlación nuevamente? ¿Sería eso algo significativo para hacer?
Comentarios
- Tenga en cuenta que la respuesta constante a pesar del predictor variable y el predictor constante mientras que la variable de respuesta son situaciones sustancialmente totalmente diferentes. No debe ' No quiero tratarlos de la misma manera, independientemente del hecho de que la correlación en cualquier caso es (bastante informado como) indeterminada. (Para completar, agregue ambas variables constantes.
- ¿Puede ampliar lo que quiere decir comparándolo con otras ocasiones en las que calcula la correlación?
Respuesta
Recuerde que la correlación se define como
$$ \ rho_ {X, Y} = \ frac {\ sigma (X, Y)} { \ sigma_X \ sigma_Y} $$
Esto significa que si una de sus «variables» es constante, entonces no es una variable, tiene una varianza igual a cero y, por lo tanto, su correlación con cualquier cosa es indefinido (ya que está dividiendo por cero).
La desviación estándar de la variable $ X $ más la constante $ c $ es la misma que la desviación estándar de $ X $
$$ \ sigma (X + c) = \ sigma (X) $$
lo mismo para la covarianza
$$ \ sigma (X + c, Y) = \ sigma (X, Y) $$
por lo que agregar ruido a su «variable» constante resultaría en medir la correlación de su ruido con alguna otra variable (su «variable» es $ c $ y el ruido es $ X $).
Por otro lado, la covarianza de la variable aleatoria con constante es cero o
$$ \ sigma (Y, c) = 0 $$
y la variable aleatoria constante es independiente de cualquier otra variable aleatoria. Entonces, si realmente necesita redefinir la correlación para tal caso, la mejor opción sería $ 0 $. Sin embargo, tenga en cuenta que, como señaló Nick Cox en el comentario a continuación, esto no resuelve ninguno de sus problemas.
El problema básico con la variable aleatoria constante es que es independiente de todo lo demás y no cambiará nada sobre su análisis. Debido a esto, muchos paquetes de software devolverían errores al usar variables constantes o los eliminarían automáticamente de su análisis. Esto es lo que hace R y tal comportamiento es consistente con la definición de correlación.
Comentarios
- A pesar de la lógica aquí, " correlation undefined " parece la mejor respuesta para cualquiera que se enfrente a esta pregunta. " No ' no sabemos que " no es lo mismo que correlación cero. Además, es más probable que un análisis posterior que trate la correlación como cero estropee cualquier análisis posterior, p. PCA basado en la matriz de correlación con ceros modificados.
- Entonces, si la covarianza es 0, entonces el numerador es 0. Y si una variable es constante, entonces el denominador es 0. Y 0/0 es un desorden. Sin embargo, aquí el denominador es solo un factor de escala, por lo que quizás corr = 0 esté bien. Pero, aunque seguramente tiene razón en que la covarianza de una variable con una constante se define como 0, ' no me queda claro que eso tampoco tenga sentido. sustantivamente. Entonces NA es mejor, creo
- @PeterFlom que estoy totalmente de acuerdo contigo.
- Esto es lo que R tiene que decir al respecto: `cor (x < – rep (1, 10), y < – rnorm (10)) [1] NA Mensaje de advertencia: In cor (x < – rep (1, 10), y < – rnorm (10)): la desviación estándar es cero`
Respuesta
Las preguntas sobre cómo hacer las cosas en R (o en cualquier idioma) están fuera de tema aquí, pero también tiene una pregunta estadística, es decir
¿Cuál es un valor razonable para la correlación entre dos variables cuando una es constante?
Sugieres agregar algo de ruido a la variable. Si va a hacer eso, entonces podría simplemente decir que la correlación es 0.
El problema es que realmente no tiene idea de cuál debería ser la correlación; podría ser cualquier cosa. de -1 a 1. Por eso R da NA. Entonces, no hay nada realmente razonable que hacer excepto decir que «no tenemos información» y no compararla con otros valores.
Deja una respuesta