corrcoef
Coeficientes de correlación
Sintaxis
Descripción
devuelve la matriz de coeficientes de correlación para R
= corrcoef(A
)A
, donde las columnas de A
representan variables aleatorias y las filas representan observaciones.
[
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 R
,P
] = corrcoef(___)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.
___ = corrcoef(___,
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
)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
Columnas aleatorias de una matriz
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
Dos variables aleatorias
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
Valores p de una matriz
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
Límites de correlación
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
Valores NaN
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
A
— Arreglo de entrada
matriz
Arreglo de entrada, especificado como matriz.
Si
A
es un escalar,corrcoef(A)
devuelveNaN
.Si
A
es un vector,corrcoef(A)
devuelve1
.
Tipos de datos: single
| double
Soporte de números complejos: Sí
B
— Arreglo de entrada adicional
vector | matriz | arreglo multidimensional
Arreglo de entrada adicional, especificado como vector, matriz o arreglo multidimensional.
A
yB
deben ser del mismo tamaño.Si
A
yB
son escalares,corrcoef(A,B)
devuelve1
. Sin embargo, siA
yB
son iguales,corrcoef(A,B)
devuelveNaN
.Si
A
yB
son matrices o arreglos multidimensionales,corrcoef(A,B)
convierte cada entrada en su representación vectorial y es equivalente acorrcoef(A(:),B(:))
ocorrcoef([A(:) B(:)])
.Si
A
yB
son arreglos vacíos de 0 por 0,corrcoef(A,B)
devuelve una matriz de 2 por 2 de valoresNaN
.
Tipos de datos: single
| double
Soporte de números complejos: Sí
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)
Alpha
— Nivel de significación
0.05 (predeterminado) | número entre 0 y 1
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
Rows
— Uso de la opción NaN
'all'
(predeterminado) | 'complete'
| 'pairwise'
Uso de la opción NaN
, especificado como uno de estos valores:
'all'
: incluye todos los valoresNaN
en la entrada antes de calcular los coeficientes de correlación.'complete'
: omite cualquier fila de la entrada que contenga valoresNaN
antes de calcular los coeficientes de correlación. Esta opción siempre devuelve una matriz semidefinida positiva.'pairwise'
: omite cualquier fila que contenga valoresNaN
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
R
— Coeficientes de correlación
matriz
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 porA
. 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
.
P
— Valores p
matriz
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.
RL
— Límite inferior del coeficiente de correlación
matriz
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.
RU
— Límite superior del coeficiente de correlación
matriz
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
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
, donde y son la media y la desviación estándar de A, respectivamente, y y 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:
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,
Dado que A y B están siempre directamente correlacionadas entre sí, las entradas de la diagonal son solo 1, es decir,
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
Arreglos altos
Realice cálculos con arreglos que tienen más filas de las que caben en la memoria.
Notas y limitaciones de uso:
A
yB
deben ser arreglos altos del mismo tamaño, aunque ambos sean vectores.Las entradas
A
yB
no pueden ser escalares paracorrcoef(A,B)
.La segunda entrada
B
debe ser 2D.La opción
'pairwise'
no es compatible.
Para obtener más información, consulte Arreglos altos.
Generación de código C/C++
Genere código C y C++ mediante MATLAB® Coder™.
Notas y limitaciones de uso:
La entrada fila-vector solo se admite cuando las dos primeras entradas son vectores y no escalares.
Entorno basado en subprocesos
Ejecute código en segundo plano con MATLAB® backgroundPool
o acelere código con Parallel Computing Toolbox™ ThreadPool
.
Esta función es totalmente compatible con entornos basados en subprocesos. Para obtener más información, consulte Ejecutar funciones de MATLAB en un entorno basado en subprocesos.
Arreglos GPU
Acelere código mediante la ejecución en una unidad de procesamiento gráfico (GPU) mediante Parallel Computing Toolbox™.
Esta función es totalmente compatible con los arreglos de GPU. Para obtener más información, consulte Run MATLAB Functions on a GPU (Parallel Computing Toolbox).
Arreglos distribuidos
Realice particiones de arreglos grandes por toda la memoria combinada de su cluster mediante Parallel Computing Toolbox™.
Esta función es totalmente compatible con los arreglos distribuidos. Para obtener más información, consulte Run MATLAB Functions with Distributed Arrays (Parallel Computing Toolbox).
Historial de versiones
Introducido antes de R2006a
Consulte también
plotmatrix
| cov
| mean
| std
Comando de MATLAB
Ha hecho clic en un enlace que corresponde a este comando de MATLAB:
Ejecute el comando introduciéndolo en la ventana de comandos de MATLAB. Los navegadores web no admiten comandos de MATLAB.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)