para - matriz de correlación en python
funciones panda python (3)
¿Cómo calculo la matriz de correlación en python? Tengo un vector n-dimensional en el que cada elemento tiene 5 dimensiones. Por ejemplo, mi vector parece
[ [0.1, .32, .2, 0.4, 0.8], [.23, .18, .56, .61, .12], [.9, .3, .6, .5, .3], [.34, .75, .91, .19, .21] ]
En este caso, la dimensión del vector es 4 y cada elemento de este vector tiene 5 dimensiones. ¿Cómo construir la matriz de la manera más fácil?
Gracias
Este es un buen ejemplo de cálculo de una matriz de correlaciones de varias series de tiempo usando Python. El código fuente incluido calcula la matriz de correlación para un conjunto de pares de divisas de Forex usando Pandas, NumPy y matplotlib para producir un gráfico de correlaciones.
Los datos de muestra son un conjunto de archivos de datos históricos, y la salida es una matriz de correlación única y un gráfico. El código está muy bien documentado.
También puede usar np.array si no desea volver a escribir su matriz.
import numpy as np
a = np.array([ [0.1, .32, .2, 0.4, 0.8], [.23, .18, .56, .61, .12], [.9, .3, .6, .5, .3], [.34, .75, .91, .19, .21]])
b = np.corrcoef(a)
print b
Usando numpy , podrías usar np.corrcoef :
In [88]: import numpy as np
In [89]: np.corrcoef([[0.1, .32, .2, 0.4, 0.8], [.23, .18, .56, .61, .12], [.9, .3, .6, .5, .3], [.34, .75, .91, .19, .21]])
Out[89]:
array([[ 1. , -0.35153114, -0.74736506, -0.48917666],
[-0.35153114, 1. , 0.23810227, 0.15958285],
[-0.74736506, 0.23810227, 1. , -0.03960706],
[-0.48917666, 0.15958285, -0.03960706, 1. ]])