varianza muestral estandar estadistica entre desviacion cuartiles correlaciones correlacion corrcoef con python numpy

muestral - Cómo obtener la correlación de dos vectores en python



media muestral python 3 (1)

Los documentos indican que numpy.correlate no es lo que estás buscando:

numpy.correlate(a, v, mode=''valid'', old_behavior=False)[source] Cross-correlation of two 1-dimensional sequences. This function computes the correlation as generally defined in signal processing texts: z[k] = sum_n a[n] * conj(v[n+k]) with a and v sequences being zero-padded where necessary and conj being the conjugate.

En cambio, como sugieren los otros comentarios, está buscando un coeficiente de correlación de Pearson . Para hacer esto con scipy try:

from scipy.stats.stats import pearsonr a = [1,4,6] b = [1,2,3] print pearsonr(a,b)

Esto da

(0.99339926779878274, 0.073186395040328034)

También puedes usar numpy.corrcoef :

import numpy print numpy.corrcoef(a,b)

Esto da:

[[ 1. 0.99339927] [ 0.99339927 1. ]]

Esta pregunta ya tiene una respuesta aquí:

En matlab uso

a=[1,4,6] b=[1,2,3] corr(a,b)

que devuelve .9934. Intenté numpy.correlate pero devuelve algo completamente diferente. ¿Cuál es la forma más simple de obtener la correlación de dos vectores?