Correlação de Pearson
Talvez o índice mais utilizado para testar a correlação linear entre duas variáveis seja o Coeficiente de correlação de Pearson.
O pacote Scipy, oferece dentro de seu submódulo stats, a função pearsonr, que recebe as duas variáveis de interesse como argumentos e retorna o coeficiente de correlação, também conhecido como r e o p-value indicando a probabilidade de que duas variáveis não correlacionadas assumam, ao acaso, valores ao menos tão correlacionados como os de interesses.
Digamos que tenhamos variáveis a = [3,4,5,6,7,8] e seus valores correspondentes b = [9,10,11,12,13,14]. Testamos a correlação da seguinte maneira:
>>> from scipy import stats # importa o módulo stats do scipy
>>> a = [3,4,5,6,7,8] # declara as variáveis e seus valores
>>> b = [9,10,11,12,13,14]
>>> print stats.pearsonr.__doc__ # mostra a docstring da função scipy.stats.pearsonr
Calculates a Pearson correlation coefficient and the p-value for testing
non-correlation.
The Pearson correlation coefficient measures the linear relationship between
two datasets. Strictly speaking, Pearson's correlation requires that each
dataset be normally distributed. Like other correlation coefficients, this
one varies between -1 and +1 with 0 implying no correlation. Correlations of
-1 or +1 imply an exact linear relationship. Positive correlations imply
that as x increases, so does y. Negative correlations imply that as
x increases, y decreases.
The p-value roughly indicates the probability of an uncorrelated system
producing datasets that have a Pearson correlation at least as extreme as
the one computed from these datasets. The p-values are not entirely reliable
but are probably reasonable for datasets larger than 500 or so.
Parameters
----------
x : 1D array
y : 1D array the same length as x
Returns
-------
(Pearson's correlation coefficient,
2-tailed p-value)
References
----------
http://www.statsoft.com/textbook/glosp.html#Pearson%20Correlation
>>> stats.pearsonr(a,b) # calcula o coeficiente de correlação
(1.0, 1.4999999999999993e-40) #no caso artificial, totalmente correlacionadas, e com probabilidade baixíssima de a correlação ser ao acaso