Correlação com uma constante
On Fevereiro 9, 2021 by adminEstou tentando obter a correlação entre 2 variáveis, dado um conjunto de dados. De vez em quando, no conjunto de dados fornecido, quando uma das variáveis tem um valor constante, uma vez que o desvio padrão dessa variável é zero, obtenho um valor NA para a correlação. (Em R). Gostaria de atribuir um valor para a correlação nesses cenários explicitamente ou tentar obter algum valor por meios alternativos, para que eu possa comparar este ponto com outras vezes que calculo a correlação. Como proceder? (1) Devo adicionar algum ruído a essa variável e calcular a correlação novamente. Isso seria uma coisa significativa a fazer?
Comentários
- Observe que a constante de resposta, apesar do preditor variável e constante do preditor, enquanto a variável de resposta são situações substancialmente totalmente diferentes. Você deveria ' t quero tratá-los da mesma maneira, independentemente do fato de que a correlação em ambos os casos é (razoavelmente relatada como) indeterminada. (Para completar, adicione as duas variáveis constantes.
- Você pode expandir o que quer dizer comparando com outras vezes que você calcula a correlação?
Resposta
Lembre-se de que a correlação é definida como
$$ \ rho_ {X, Y} = \ frac {\ sigma (X, Y)} { \ sigma_X \ sigma_Y} $$
Isso significa que se uma de suas “variáveis” for constante, então não é uma variável, tem variância igual a zero e, portanto, sua correlação com qualquer coisa é indefinido (já que você está dividindo por zero).
O desvio padrão da variável $ X $ mais a constante $ c $ é o mesmo que o desvio padrão de $ X $
$$ \ sigma (X + c) = \ sigma (X) $$
o mesmo para covariância
$$ \ sigma (X + c, Y) = \ sigma (X, Y) $$
então adicionar ruído à sua “variável” constante resultaria na medição da correlação de seu ruído com alguma outra variável (sua “variável” é $ c $ e o ruído é $ X $).
Por outro lado, a covariância da variável aleatória com constante é zer o
$$ \ sigma (Y, c) = 0 $$
e a variável aleatória constante é independente de qualquer outra variável aleatória. Portanto, se você realmente precisar redefinir a correlação para esse caso, a melhor escolha seria $ 0 $. Observe, entretanto, que, conforme observado por Nick Cox no comentário abaixo, isso não resolve nenhum de seus problemas.
O problema básico com variável aleatória constante é que ela é independente de tudo o resto e não mudará nada em sua análise. Por causa disso, muitos pacotes de software retornariam erros ao usar variáveis constantes ou os descartariam automaticamente de sua análise. Isso é o que R faz e tal comportamento é consistente com a definição de correlação.
Comentários
- Apesar da lógica aqui, " correlação undefined " parece a melhor resposta para qualquer pessoa que esteja enfrentando essa questão. " Não ' sabemos que " não é o mesmo que correlação zero. Além disso, uma análise adicional tratando a correlação como zero tem mais probabilidade de bagunçar qualquer análise a jusante, e. PCA com base na matriz de correlação com zeros falsificados.
- Portanto, se a covariância for 0, o numerador será 0. E se uma variável for constante, o denominador será 0. E 0/0 é um bagunça. No entanto, aqui o denominador é apenas um fator de escala, então, talvez corr = 0 esteja OK. Mas, embora você esteja certo de que a covariância de uma variável com uma constante é definida como 0, ' não está claro para mim se isso faz sentido também. substantivamente. Então NA é melhor, eu acho
- @PeterFlom Concordo totalmente com você.
- Isto é o que R tem a dizer sobre o assunto: `cor (x < – rep (1, 10), y < – rnorm (10)) [1] Mensagem de aviso de NA: In cor (x < – rep (1, 10), y < – rnorm (10)): o desvio padrão é zero`
Resposta
Perguntas sobre como fazer coisas em R (ou em qualquer idioma) estão fora do tópico aqui, mas você também tem uma questão estatística, ou seja,
Qual é um valor razoável para a correlação entre duas variáveis quando uma variável é constante?
Você sugere adicionar algum ruído à variável. Se você vai fazer isso, então pode simplesmente dizer que a correlação é 0.
O problema é que você realmente não tem a menor ideia de qual deveria ser a correlação – pode ser qualquer coisa de -1 a 1. É por isso que R dá NA. Portanto, não há nada realmente razoável a fazer, exceto dizer que “não temos nenhuma informação” e não compará-la com outros valores.
Deixe uma resposta