Quiero calcular Pearson's correlation coefficent en Matlab (sin utilizar la función corr
de Matlab).Coeficiente de Pearson y cálculo de covarianza en Matlab
Simplemente, tengo dos vectores A y B (cada uno de ellos es 1x100) y estoy tratando de calcular el coeficiente de Pearson como esto:
P = cov(x, y)/std(x, 1)std(y,1)
estoy usando cov
y std
funciones de MATLAB. Lo que no entiendo es, la función cov me devuelve una matriz cuadrada de esta manera:
corrAB =
0.8000 0.2000
0.2000 4.8000
Pero espero que un solo número que la covarianza por lo que puede venir con una sola P (coeficiente de Pearson) número. ¿Cuál es el punto que me falta?
Qué quiere decir 'p = cov (x, y)/sqrt (var (x) * var (y)); ¿? La diagonal debe ser 1. La diagonal fuera es lo que quieres. –
tiene razón, actualicé la pregunta. ¿El "off diagonal" en el ejemplo anterior es 0.2000 y 0.2000? Entonces, ¿debería hacer otro cálculo con ellos o simplemente ir con 0.2? – Ramala
En su ejemplo, 0.2 es el fuera de diagonal. Sin embargo, los 0.8 y 4.8 deberían ser 1. Entonces algo está mal con tu calc. Solo haz corr (x, y) para verificar. Lea la ayuda para entender por qué devuelve una matriz. Fue inesperado para mí la primera vez también. –