Existe uma função para testar a hipótese de que a correlação de dois vetores é igual a um determinado número, digamos 0,75? Usando cor.test, posso testar cor = 0 e ver se 0,75 está dentro do intervalo de confiança. Mas existe uma função para calcular o valor de p para cor = 0,75?
x <- rnorm(10)
y <- x+rnorm(10)
cor.test(x, y)
r
correlation
mosaico
fonte
fonte
Respostas:
Usando a variância que estabiliza a transformação de Fisher , você pode obter o valor p como
ou qualquer versão do valor-p unilateral / frente e verso de seu interesse. Obviamente, você precisa do tamanho
n
da amostra e do coeficiente de correlação da amostrar
como entradas para isso.fonte
A distribuição de r_hat em torno de rho é dada por essa função R adaptada do código Matlab na página de Xu Cui . Não é tão difícil transformar isso em uma estimativa para a probabilidade de um valor observado "r" ser improvável, dado um tamanho de amostra de "n" e um valor verdadeiro hipotético de "ro".
Então, com essa função, você pode plotar a distribuição de um rho nulo de 0,75, calcular a probabilidade de r_hat ser menor que 0,6 e sombrear nessa área no gráfico:
fonte
Outra abordagem que pode ser menos exata que a transformação de Fisher, mas acho que poderia ser mais intuitiva (e poderia dar idéias sobre significado prático além do significado estatístico) é o teste visual:
Existe uma implementação disso na
vis.test
função noTeachingDemos
pacote para R. Uma maneira possível de executá-lo para o seu exemplo é:Obviamente, se seus dados reais não são normais ou o relacionamento não é linear, isso será facilmente captado com o código acima. Se você quiser testar esses itens simultaneamente, o código acima faria isso ou o código acima poderá ser adaptado para representar melhor a natureza dos dados.
fonte