Main Content

corrcoef

Coeficientes de correlación

Descripción

ejemplo

R = corrcoef(A) devuelve la matriz de coeficientes de correlación para A, donde las columnas de A representan variables aleatorias y las filas representan observaciones.

ejemplo

R = corrcoef(A,B) devuelve los coeficientes entre dos variables aleatorias A y B.

ejemplo

[R,P] = corrcoef(___) devuelve la matriz de coeficientes de correlación y la matriz de valores p para comprobar la hipótesis de que no existe relación entre los fenómenos observados (hipótesis nula). Utilice esta sintaxis con cualquiera de los argumentos de las sintaxis anteriores. Si un elemento que está fuera de la diagonal de P es menor que el nivel de significación (el valor predeterminado es 0.05), la correlación correspondiente en R se considera significativa. Esta sintaxis no es válida si R contiene elementos complejos.

ejemplo

[R,P,RL,RU] = corrcoef(___) incluye matrices que contienen los límites inferior y superior de un intervalo de confianza del 95% para cada coeficiente. Esta sintaxis no es válida si R contiene elementos complejos.

ejemplo

___ = corrcoef(___,Name,Value) devuelve cualquiera de los argumentos de salida de las sintaxis anteriores con opciones adicionales especificadas por uno o más argumentos de par Name,Value. Por ejemplo, corrcoef(A,'Alpha',0.1) especifica un intervalo de confianza del 90% y corrcoef(A,'Rows','complete') omite todas las filas de A que contengan uno o más valores NaN.

Ejemplos

contraer todo

Calcule los coeficientes de correlación de una matriz con dos columnas aleatorias distribuidas de forma normal y una columna definida a partir de otra. Dado que la tercera columna de A es múltiplo de la segunda, estas dos variables están directamente correlacionadas, por lo que el coeficiente de correlación en las entradas (2,3) y (3,2) de R es 1.

x = randn(6,1);
y = randn(6,1);
A = [x y 2*y+3];
R = corrcoef(A)
R = 3×3

    1.0000   -0.6237   -0.6237
   -0.6237    1.0000    1.0000
   -0.6237    1.0000    1.0000

Calcule la matriz de coeficientes de correlación entre dos vectores aleatorios distribuidos de forma normal de 10 observaciones cada uno.

A = randn(10,1);
B = randn(10,1);
R = corrcoef(A,B)
R = 2×2

    1.0000    0.4518
    0.4518    1.0000

Calcule los coeficientes de correlación y los valores p de una matriz aleatoria distribuida de forma normal, con una cuarta columna añadida que sea igual a la suma de las otras tres. Dado que la última columna de A es una combinación lineal de las demás, se introduce una correlación entre la cuarta variable y cada una de las otras tres variables. Por lo tanto, la cuarta fila y la cuarta columna de P contienen valores p muy pequeños, lo que las identifica como correlaciones significativas.

A = randn(50,3);       
A(:,4) = sum(A,2); 
[R,P] = corrcoef(A)
R = 4×4

    1.0000    0.1135    0.0879    0.7314
    0.1135    1.0000   -0.1451    0.5082
    0.0879   -0.1451    1.0000    0.5199
    0.7314    0.5082    0.5199    1.0000

P = 4×4

    1.0000    0.4325    0.5438    0.0000
    0.4325    1.0000    0.3146    0.0002
    0.5438    0.3146    1.0000    0.0001
    0.0000    0.0002    0.0001    1.0000

Cree una matriz aleatoria distribuida de forma normal, con una cuarta columna añadida que sea igual a la suma de las otras tres, y calcule los coeficientes de correlación, los valores p y los límites inferior y superior de los coeficientes.

A = randn(50,3);       
A(:,4) = sum(A,2); 
[R,P,RL,RU] = corrcoef(A)
R = 4×4

    1.0000    0.1135    0.0879    0.7314
    0.1135    1.0000   -0.1451    0.5082
    0.0879   -0.1451    1.0000    0.5199
    0.7314    0.5082    0.5199    1.0000

P = 4×4

    1.0000    0.4325    0.5438    0.0000
    0.4325    1.0000    0.3146    0.0002
    0.5438    0.3146    1.0000    0.0001
    0.0000    0.0002    0.0001    1.0000

RL = 4×4

    1.0000   -0.1702   -0.1952    0.5688
   -0.1702    1.0000   -0.4070    0.2677
   -0.1952   -0.4070    1.0000    0.2825
    0.5688    0.2677    0.2825    1.0000

RU = 4×4

    1.0000    0.3799    0.3575    0.8389
    0.3799    1.0000    0.1388    0.6890
    0.3575    0.1388    1.0000    0.6974
    0.8389    0.6890    0.6974    1.0000

Las matrices RL y RU presentan los límites inferior y superior, respectivamente, de cada coeficiente de correlación según un intervalo de confianza del 95% de forma predeterminada. Puede cambiar el nivel de confianza especificando el valor de Alpha, que define el porcentaje de confianza, 100*(1-Alpha)%. Por ejemplo, use un valor Alpha igual a 0,01 para calcular un intervalo de confianza del 99%, que se refleja en los límites RL y RU. Los intervalos que definen los límites de los coeficientes en RL y RU son mayores para un 99% de confianza que para un 95%, ya que una mayor confianza requiere un intervalo más amplio de posibles valores de correlación.

[R,P,RL,RU] = corrcoef(A,'Alpha',0.01)
R = 4×4

    1.0000    0.1135    0.0879    0.7314
    0.1135    1.0000   -0.1451    0.5082
    0.0879   -0.1451    1.0000    0.5199
    0.7314    0.5082    0.5199    1.0000

P = 4×4

    1.0000    0.4325    0.5438    0.0000
    0.4325    1.0000    0.3146    0.0002
    0.5438    0.3146    1.0000    0.0001
    0.0000    0.0002    0.0001    1.0000

RL = 4×4

    1.0000   -0.2559   -0.2799    0.5049
   -0.2559    1.0000   -0.4792    0.1825
   -0.2799   -0.4792    1.0000    0.1979
    0.5049    0.1825    0.1979    1.0000

RU = 4×4

    1.0000    0.4540    0.4332    0.8636
    0.4540    1.0000    0.2256    0.7334
    0.4332    0.2256    1.0000    0.7407
    0.8636    0.7334    0.7407    1.0000

Cree una matriz distribuida de forma normal que incluya valores NaN, calcule la matriz de coeficientes de correlación y excluya las filas que contengan valores NaN.

A = randn(5,3);
A(1,3) = NaN;
A(3,2) = NaN;
A
A = 5×3

    0.5377   -1.3077       NaN
    1.8339   -0.4336    3.0349
   -2.2588       NaN    0.7254
    0.8622    3.5784   -0.0631
    0.3188    2.7694    0.7147

R = corrcoef(A,'Rows','complete')
R = 3×3

    1.0000   -0.8506    0.8222
   -0.8506    1.0000   -0.9987
    0.8222   -0.9987    1.0000

Use 'all' para incluir todos los valores NaN en el cálculo.

R = corrcoef(A,'Rows','all')
R = 3×3

     1   NaN   NaN
   NaN   NaN   NaN
   NaN   NaN   NaN

Use 'pairwise' para calcular cada coeficiente de correlación de dos columnas por pares. Si una de las dos columnas contiene un valor NaN, se omite esa fila.

R = corrcoef(A,'Rows','pairwise')
R = 3×3

    1.0000   -0.3388    0.4649
   -0.3388    1.0000   -0.9987
    0.4649   -0.9987    1.0000

Argumentos de entrada

contraer todo

Arreglo de entrada, especificado como matriz.

  • Si A es un escalar, corrcoef(A) devuelve NaN.

  • Si A es un vector, corrcoef(A) devuelve 1.

Tipos de datos: single | double
Soporte de números complejos:

Arreglo de entrada adicional, especificado como vector, matriz o arreglo multidimensional.

  • A y B deben ser del mismo tamaño.

  • Si A y B son escalares, corrcoef(A,B) devuelve 1. Sin embargo, si A y B son iguales, corrcoef(A,B) devuelve NaN.

  • Si A y B son matrices o arreglos multidimensionales, corrcoef(A,B) convierte cada entrada en su representación vectorial y es equivalente a corrcoef(A(:),B(:)) o corrcoef([A(:) B(:)]).

  • Si A y B son arreglos vacíos de 0 por 0, corrcoef(A,B) devuelve una matriz de 2 por 2 de valores NaN.

Tipos de datos: single | double
Soporte de números complejos:

Argumentos de par nombre-valor

Especifique pares opcionales de argumentos como Name1=Value1,...,NameN=ValueN, donde Name es el nombre del argumento y Value es el valor correspondiente. Los argumentos nombre-valor deben aparecer después de otros argumentos, pero el orden de los pares no importa.

En las versiones anteriores a R2021a, utilice comas para separar cada nombre y valor, y encierre Name entre comillas.

Ejemplo: R = corrcoef(A,'Alpha',0.03)

Nivel de significación, especificado como un número entre 0 y 1. El valor del parámetro 'Alpha' define el porcentaje de nivel de confianza, 100*(1-Alpha)%, para los coeficientes de correlación, que determina los límites en RL y RU.

Tipos de datos: single | double

Uso de la opción NaN, especificado como uno de estos valores:

  • 'all': incluye todos los valores NaN en la entrada antes de calcular los coeficientes de correlación.

  • 'complete': omite cualquier fila de la entrada que contenga valores NaN antes de calcular los coeficientes de correlación. Esta opción siempre devuelve una matriz semidefinida positiva.

  • 'pairwise': omite cualquier fila que contenga valores NaN solo por pares para calcular el coeficiente de correlación de dos columnas. Esta opción puede devolver una matriz que no sea semidefinida positiva.

Tipos de datos: char

Argumentos de salida

contraer todo

Coeficientes de correlación, devueltos como matriz.

  • En el caso de una matriz de entrada, R tiene un tamaño [size(A,2) size(A,2)] basado en el número de variables aleatorias (columnas) representadas por A. Las entradas de la diagonal se establecen en uno por convención, mientras que las entradas fuera de la diagonal son coeficientes de correlación de pares de variables. Los valores de los coeficientes pueden oscilar entre -1 y 1, donde -1 representa una correlación directa y negativa, 0 representa ausencia de correlación y 1 representa una correlación directa y positiva. R es simétrica.

  • En el caso de dos argumentos de entrada, R es una matriz de 2 por 2 con unos a lo largo de la diagonal y los coeficientes de correlación fuera de la diagonal.

  • Si alguna variable aleatoria es constante, su correlación con todas las demás variables es indefinida, y el valor correspondiente de las filas y columnas es NaN.

Valores p, devueltos en forma de matriz. P es simétrica y tiene el mismo tamaño que R. Las entradas de la diagonal son todas unos y las entradas fuera de la diagonal son los valores p para cada par de variables. Los valores p oscilan entre 0 y 1, donde los valores cercanos a 0 equivalen a una correlación significativa en R y una baja probabilidad de observar la hipótesis nula.

Límite inferior del coeficiente de correlación, devuelto como matriz. RL es simétrica y tiene el mismo tamaño que R. Las entradas de la diagonal son todas unos y las entradas fuera de la diagonal son el límite inferior del intervalo de confianza del 95% para el coeficiente correspondiente en R. La sintaxis que devuelve RL no es válida si R contiene valores complejos.

Límite superior del coeficiente de correlación, devuelto como matriz. RU es simétrica y tiene el mismo tamaño que R. Las entradas de la diagonal son todas unos y las entradas fuera de la diagonal son el límite superior del intervalo de confianza del 95% para el coeficiente correspondiente en R. La sintaxis que devuelve RL no es válida si R contiene valores complejos.

Más acerca de

contraer todo

Coeficiente de correlación

El coeficiente de correlación de dos variables aleatorias es una medida de su dependencia lineal. Si cada variable tiene N observaciones de escalar, el coeficiente de correlación de Pearson se define como

ρ(A,B)=1N1i=1N(AiμAσA)(BiμBσB),

, donde μA y σA son la media y la desviación estándar de A, respectivamente, y μB y σB son la media y la desviación estándar de B. Como alternativa, se puede definir el coeficiente de correlación en función de la covarianza de A y B:

ρ(A,B)=cov(A,B)σAσB.

La matriz de coeficientes de correlación de dos variables aleatorias es la matriz de coeficientes de correlación para cada combinación de variables por pares,

R=(ρ(A,A)ρ(A,B)ρ(B,A)ρ(B,B)).

Dado que A y B están siempre directamente correlacionadas entre sí, las entradas de la diagonal son solo 1, es decir,

R=(1ρ(A,B)ρ(B,A)1).

Referencias

[1] Fisher, R.A. Statistical Methods for Research Workers, 13th Ed., Hafner, 1958.

[2] Kendall, M.G. The Advanced Theory of Statistics, 4th Ed., Macmillan, 1979.

[3] Press, W.H., Teukolsky, S.A., Vetterling, W.T., and Flannery, B.P. Numerical Recipes in C, 2nd Ed., Cambridge University Press, 1992.

Capacidades ampliadas

Historial de versiones

Introducido antes de R2006a

Consulte también

| | |