O coeficiente de correlação é:
A média da amostra e o desvio padrão da amostra são sensíveis a valores discrepantes.
Além disso, o mecanismo em que,
é uma espécie de média também e talvez possa haver uma variação naquilo que é menos sensível à variação.
A média da amostra é:
O desvio padrão da amostra é:
Acho que quero
A mediana:
O desvio médio absoluto:
E para a correlação:
Eu tentei isso com alguns números aleatórios, mas obtive resultados maiores que 1, o que parece errado. Veja o seguinte 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)
regression
correlation
outliers
median
mad
Steven Stewart-Gallus
fonte
fonte
Respostas:
Eu acho que você quer uma correlação de classificação . Esses geralmente são mais robustos para os valores extremos, embora valha a pena reconhecer que eles estão medindo a associação monotônica, não a associação linear. A correlação de classificação mais comumente conhecida é a correlação de Spearman . É apenas a correlação do momento do produto de Pearson das fileiras dos dados.
Eu não seguiria o caminho que você está tomando para obter as diferenças de cada dado da mediana. A mediana da distribuição de X pode ser um ponto totalmente diferente da mediana da distribuição de Y, por exemplo. Isso me parece provável causar instabilidade no cálculo.
fonte
Outra resposta para variáveis discretas e não contínuas , por exemplo, números inteiros versus reais, é a correlação de classificação de Kendall . Em contraste com a correlação de Spearman , a correlação de Kendall não é afetada pela distancia entre as fileiras, mas apenas pelo fato de as fileiras entre as observações serem iguais ou não.
O coeficiente Kendall τ é definido como:
O coeficiente de classificação de Kendall é frequentemente usado como uma estatística de teste em um teste de hipótese estatística para estabelecer se duas variáveis podem ser consideradas estatisticamente dependentes. Este teste não é paramétrico, pois não se baseia em nenhuma suposição sobre as distribuições de ou ou a distribuição de .X Y ( X, Y)
O tratamento de laços para a correlação de Kendall é, no entanto, problemático, conforme indicado pela existência de não menos de três métodos para lidar com laços. Um empate para um par {( x i , y i ), ( x j , y j )} é quando x i = x j ou y i = y j ; um par empatado não é concordante nem discordante.
fonte
Esta é uma solução que funciona bem para os dados e problemas propostos pelo IrishStat.
A idéia é substituir a variação da amostra deY pela variação prevista
fonte
Minha resposta pressupõe que o OP ainda não sabe quais observações são discrepantes, porque, se o OP soubesse, os ajustes de dados seriam óbvios. Assim, parte da minha resposta lida com a identificação do (s) discrepante (s)
Quando você constrói um modelo OLS (y versus x ), você obtém um coeficiente de regressão e, subsequentemente, o coeficiente de correlação, acho que pode ser inerentemente perigoso não desafiar os "dados". Dessa maneira, você entende que o coeficiente de regressão e seu irmão são baseados em valores não-discrepantes / incomuns. Agora, se você identificar um erro externo e adicionar um preditor 0/1 apropriado ao seu modelo de regressão, o coeficiente de regressão resultante para ox agora é robusto para o outlier / anomalia. Esse coeficiente de regressão para ox é então "mais verdadeiro" que o coeficiente de regressão original, pois não é contaminado pelo outlier identificado. Observe que nenhuma observação é permanentemente "jogada fora"; é apenas que um ajuste para oy O valor está implícito para o ponto da anomalia. Este novo coeficiente para ax pode então ser convertido em um robusto r .
Uma visão alternativa disso é apenas tomar as medidas ajustadasy valor e substitua o original y valor com esse "valor suavizado" e, em seguida, execute uma correlação simples.
Esse processo teria que ser feito repetidamente até que nenhum erro externo seja encontrado.
Espero que este esclarecimento ajude os votantes em baixa a entender o procedimento sugerido. Agradeço à whuber por me empurrar para esclarecimentos. Se alguém ainda precisar de ajuda com este, pode sempre simular umay, x conjunto de dados e injetar um outlier em qualquer x específico e siga as etapas sugeridas para obter uma estimativa melhor de r .
Congratulo-me com quaisquer comentários sobre isso como se estivesse "incorreto". Gostaria sinceramente de saber por que, com sorte, apoiado por um contra-exemplo numérico.
EDITADO PARA APRESENTAR UM EXEMPLO SIMPLES:
Um pequeno exemplo será suficiente para ilustrar o método proposto / transparente de "obter uma versão de r que seja menos sensível a discrepantes", que é a questão direta do PO. Este é um script fácil de seguir usando ols padrão e alguma aritmética simples. Lembre-se de que o coeficiente de regressão ols é igual a r * [sigmay / sigmax).
Considere os seguintes 10 pares de observações.
E graficamente
O coeficiente de correlação simples é 0,75 com sigmay = 18,41 e sigmax = 0,38
Agora calculamos uma regressão entre ye ex e obtemos o seguinte
Onde 36,538 = 0,75 * [18,41 / .38] = r * [sigmay / sigmax]
A tabela real / ajustada sugere uma estimativa inicial de um outlier na observação 5 com valor de 32.799.
Se excluirmos o quinto ponto, obteremos o seguinte resultado de regressão
O que gera uma previsão de 173,31 usando o valor de x 13,61. Essa previsão sugere uma estimativa refinada do discrepante da seguinte forma; 209-173,31 = 35,69.
Se agora restaurarmos os 10 valores originais, mas substituirmos o valor de y no período 5 (209) pelo valor estimado / limpo 173,31, obteremos
e
Recomputado r, obtemos o valor 0,98 da equação de regressão
r = B * [sigmax / sigmay] .98 = [37.4792] * [.38 / 14.71]
Portanto, agora temos uma versão ou r (r = 0,98) que é menos sensível a um outlier identificado na observação 5. OBS: que a sigmay usada acima (14.71) se baseia no y ajustado no período 5 e não na sigmay contaminada original (18.41). O efeito do outlier é grande devido ao tamanho estimado e ao tamanho da amostra. O que tivemos foram 9 pares de leituras (1-4; 6-10) que foram altamente correlacionadas, mas o padrão r foi ofuscado / distorcido pelo discrepante na observação 5.
Existe uma abordagem menos transparente, mas nefasta, poderosa para resolver isso e que é usar o procedimento TSAY http://docplayer.net/12080848-Outliers-level-shifts-and-variance-changes-in-time-series.html para procure e resolva todos e quaisquer outliers de uma só vez. Por exemplo, sugere que o valor externo seja 36,4481, portanto, o valor ajustado (unilateral) é 172,5419. Saída semelhante geraria um gráfico ou tabela real / limpo.. O procedimento de Tsay, na verdade, iterativel verifica todos os pontos quanto à "importância estatística" e, em seguida, seleciona o melhor ponto que requer ajuste. As soluções de séries temporais são imediatamente aplicáveis se não houver estrutura temporal evidenciada ou potencialmente assumida nos dados. O que fiz foi suprimir a incorporação de qualquer filtro de série temporal, pois eu tinha conhecimento de domínio / "sabia" que ele foi capturado de maneira transversal ieno-longitudinal.
fonte