Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

corr

Correlación lineal o de rango

Descripción

rho = corr(X) devuelve una matriz del coeficiente de correlación lineal por pares entre cada par de columnas de la matriz de entrada.X

ejemplo

rho = corr(X,Y) devuelve una matriz del coeficiente de correlación por pares entre cada par de columnas en las matrices de entrada y .XY

ejemplo

[rho,pval] = corr(X,Y) también devuelve , una matriz de -valores para probar la hipótesis de no correlación contra la hipótesis alternativa de una correlación distinta de cero.pvalp

ejemplo

[rho,pval] = corr(___,Name,Value) especifica las opciones mediante uno o varios argumentos de par nombre-valor además de los argumentos de entrada en las sintaxis anteriores. Por ejemplo, especifica calcular el coeficiente de correlación tau de Kendall.'Type','Kendall'

Ejemplos

contraer todo

Busque la correlación entre dos matrices y compárela con la correlación entre dos vectores de columna.

Generar datos de ejemplo.

rng('default') X = randn(30,4); Y = randn(30,4);

Introducir correlación entre la columna dos de la matriz y la columna cuatro de la matriz.XY

Y(:,4) = Y(:,4)+X(:,2);

Calcule la correlación entre las columnas de y .XY

[rho,pval] = corr(X,Y)
rho = 4×4

   -0.1686   -0.0363    0.2278    0.3245
    0.3022    0.0332   -0.0866    0.7653
   -0.3632   -0.0987   -0.0200   -0.3693
   -0.1365   -0.1804    0.0853    0.0279

pval = 4×4

    0.3731    0.8489    0.2260    0.0802
    0.1045    0.8619    0.6491    0.0000
    0.0485    0.6039    0.9166    0.0446
    0.4721    0.3400    0.6539    0.8837

Como era de esperar, el coeficiente de correlación entre la columna dos y la columna cuatro de , , es el más alto y representa una correlación positiva alta entre las dos columnas.XYrho(2,4) El valor -valor correspondiente, , es cero a los cuatro dígitos mostrados.ppval(2,4) Dado que el valor -es menor que el nivel de significancia de , indica el rechazo de la hipótesis de que no existe ninguna correlación entre las dos columnas.p0.05

Calcule la correlación entre y usando .XYcorrcoef

[r,p] = corrcoef(X,Y)
r = 2×2

    1.0000   -0.0329
   -0.0329    1.0000

p = 2×2

    1.0000    0.7213
    0.7213    1.0000

La función MATLAB® , a diferencia de la función, convierte las matrices de entrada y en vectores de columna, y , antes de calcular la correlación entre ellas.corrcoefcorrXYX(:)Y(:) Por lo tanto, la introducción de correlación entre la columna dos de matriz y la columna cuatro de matriz ya no existe, porque esas dos columnas están en secciones diferentes de los vectores de columna convertidos.XY

El valor de los elementos fuera de diagonal de , que representa el coeficiente de correlación entre y , es bajo.rXY Este valor indica poca o ninguna correlación entre y .XY Del mismo modo, el valor de los elementos fuera de diagonal de , que representa el -valor, es mucho mayor que el nivel de significancia de .pp0.05 Este valor indica que no existen suficientes pruebas para rechazar la hipótesis de que no hay correlación entre y .XY

Pruebe hipótesis alternativas para la correlación positiva, negativa y distinta de cero entre las columnas de dos matrices. Compare los valores del coeficiente de correlación y -value en cada caso.p

Generar datos de ejemplo.

rng('default') X = randn(50,4); Y = randn(50,4);

Introducir correlación positiva entre la columna uno de la matriz y la columna cuatro de la matriz.XY

Y(:,4) = Y(:,4)+0.7*X(:,1);

Introducir correlación negativa entre la columna dos y la columna dos de .XY

Y(:,2) = Y(:,2)-2*X(:,2);

Pruebe la hipótesis alternativa de que la correlación es mayor que cero.

[rho,pval] = corr(X,Y,'Tail','right')
rho = 4×4

    0.0627   -0.1438   -0.0035    0.7060
   -0.1197   -0.8600   -0.0440    0.1984
   -0.1119    0.2210   -0.3433    0.1070
   -0.3526   -0.2224    0.1023    0.0374

pval = 4×4

    0.3327    0.8405    0.5097    0.0000
    0.7962    1.0000    0.6192    0.0836
    0.7803    0.0615    0.9927    0.2298
    0.9940    0.9397    0.2398    0.3982

Como era de esperar, el coeficiente de correlación entre la columna uno y la columna cuatro de , , tiene el valor positivo más alto, lo que representa una correlación positiva alta entre las dos columnas.XYrho(1,4) El valor correspondiente , , es cero a los cuatro dígitos mostrados, que es inferior al nivel de significancia de .ppval(1,4)0.05 Estos resultados indican el rechazo de la hipótesis nula de que no existe correlación entre las dos columnas y conducen a la conclusión de que la correlación es mayor que cero.

Pruebe la hipótesis alternativa de que la correlación es menor que cero.

[rho,pval] = corr(X,Y,'Tail','left')
rho = 4×4

    0.0627   -0.1438   -0.0035    0.7060
   -0.1197   -0.8600   -0.0440    0.1984
   -0.1119    0.2210   -0.3433    0.1070
   -0.3526   -0.2224    0.1023    0.0374

pval = 4×4

    0.6673    0.1595    0.4903    1.0000
    0.2038    0.0000    0.3808    0.9164
    0.2197    0.9385    0.0073    0.7702
    0.0060    0.0603    0.7602    0.6018

Como era de esperar, el coeficiente de correlación entre la columna dos y la columna dos de , , tiene el número negativo con el valor absoluto más grande ( ), lo que representa una correlación negativa alta entre las dos columnas.XYrho(2,2)-0.86 El valor correspondiente , , es cero a los cuatro dígitos mostrados, que es inferior al nivel de significancia de .ppval(2,2)0.05 Una vez más, estos resultados indican el rechazo de la hipótesis nula y conducen a la conclusión de que la correlación es menor que cero.

Pruebe la hipótesis alternativa de que la correlación no es cero.

[rho,pval] = corr(X,Y)
rho = 4×4

    0.0627   -0.1438   -0.0035    0.7060
   -0.1197   -0.8600   -0.0440    0.1984
   -0.1119    0.2210   -0.3433    0.1070
   -0.3526   -0.2224    0.1023    0.0374

pval = 4×4

    0.6654    0.3190    0.9807    0.0000
    0.4075    0.0000    0.7615    0.1673
    0.4393    0.1231    0.0147    0.4595
    0.0120    0.1206    0.4797    0.7964

Los valores -, y , son cero a los cuatro dígitos mostrados.ppval(1,4)pval(2,2) Debido a que los valores -son inferiores al nivel de significancia de , los coeficientes de correlación y son significativamente diferentes de cero.p0.05rho(1,4)rho(2,2) Por lo tanto, se rechaza la hipótesis nula; la correlación no es cero.

Argumentos de entrada

contraer todo

Matriz de entrada, especificada como una matriz -by-.nk Las filas de corresponden a observaciones y las columnas corresponden a variables.X

Ejemplo: X = randn(10,5)

Tipos de datos: single | double

Matriz de entrada, especificada como -por-nk2 matriz cuando se especifica como un -por-Xnk1 Matriz. Las filas de corresponden a observaciones y las columnas corresponden a variables.Y

Ejemplo: Y = randn(20,7)

Tipos de datos: single | double

Argumentos de par nombre-valor

Especifique pares opcionales separados por comas de argumentos. es el nombre del argumento y es el valor correspondiente. deben aparecer entre comillas.Name,ValueNameValueName Puede especificar varios argumentos de par de nombre y valor en cualquier orden como .Name1,Value1,...,NameN,ValueN

Ejemplo: devuelve el coeficiente de correlación tau de Kendall utilizando solo las filas que no contienen valores que faltan.corr(X,Y,'Type','Kendall','Rows','complete')

Tipo de correlación, especificado como el par separado por comas que consta de y uno de estos valores.'Type'

calcula los valores de la correlación de Pearson mediante la distribución de un estudiante para una transformación de la correlación.corrpt Esta correlación es exacta cuando y proviene de una distribución normal. calcula los valores de tau de Kendall y rho de Spearman utilizando las distribuciones exactas de permutación (para tamaños de muestra pequeños) o aproximaciones de muestras grandes.XYcorrp

Ejemplo: 'Type','Spearman'

Filas que se van a utilizar en el cálculo, especificadas como el par separado por comas que consta de y uno de estos valores.'Rows'

ValorDescripción
'all'Utilice todas las filas de la entrada independientemente de los valores que falten ( s).NaN
'complete'Utilice solo filas de la entrada sin valores que falten.
'pairwise'Calcular utilizando filas sin valores faltantes en la columna o .rho(i,j)ij

El valor, a diferencia del valor, siempre produce un valor positivo definido o positivo semidefinido.'complete''pairwise'rho Además, el valor generalmente utiliza menos observaciones para estimar cuándo las filas de la entrada ( o ) contienen valores que faltan.'complete'rhoXY

Ejemplo: 'Rows','pairwise'

Hipótesis alternativa, especificada como el par separado por comas que consta de y uno de los valores de la tabla. especifica la hipótesis alternativa contra la cual calcular -valores para probar la hipótesis de no correlación.'Tail''Tail'p

ValorDescripción
'both'Pruebe la hipótesis alternativa de que la correlación no es .0
'right'Pruebe la hipótesis alternativa de que la correlación es mayor que0
'left'Pruebe la hipótesis alternativa de que la correlación es menor que .0

calcula los valores de la prueba de dos colas duplicando los valores más significativos de los dos valores de una cola.corrpp

Ejemplo: 'Tail','left'

Argumentos de salida

contraer todo

Coeficiente de correlación lineal por pares, devuelto como matriz.

  • Si introduce sólo una matriz , es una matriz simétrica -por-, donde está el número de columnas en .XrhokkkX La entrada es el coeficiente de correlación lineal por pares entre columna y columna en .rho(a,b)abX

  • Si introduce matrices y , es unXYrhok1-por-k2 matriz, dondek1 Yk2 son el número de columnas en y , respectivamente.XY La entrada es el coeficiente de correlación lineal por pares entre la columna en y la columna en .rho(a,b)aXbY

-values, devuelto según una matriz.p Cada elemento de es el -value para el elemento correspondiente de .pvalprho

Si es pequeño (menos de ), entonces la correlación es significativamente diferente de cero.pval(a,b)0.05rho(a,b)

Más acerca de

contraer todo

Coeficiente de correlación lineal de Pearson

El coeficiente de correlación lineal de Pearson es el coeficiente de correlación lineal más utilizado. Para columna Xa en matriz y columnaX Yb en matriz, tener mediosY X¯a=i=1n(Xa,i)/n, Y Y¯b=j=1n(Xb,j)/n, el coeficiente de correlación lineal de Pearson se define como:rho(a,b)

rho(a,b)=i=1n(Xa,iX¯a)(Yb,iY¯b){i=1n(Xa,iX¯a)2j=1n(Yb,jY¯b)2}1/2,

donde está la longitud de cada columna.n

Los valores del coeficiente de correlación pueden variar de hasta .–1+1 Un valor de indica una correlación negativa perfecta, mientras que un valor de indica una correlación positiva perfecta.–1+1 Un valor de indica que no hay correlación entre las columnas.0

Coeficiente Tau de Kendall

El tau de Kendall se basa en contar el número de ( ) pares, para , que son concordantes, es decir, para los cualesi,ji<j Xa,iXa,j Y Yb,iYb,j tienen la misma señal. La ecuación para el tau de Kendall incluye un ajuste para los lazos en la constante de normalización y a menudo se conoce como tau-b.

Para columna Xa en matriz y columnaX Yb en matriz, el coeficiente tau de Kendall se define como:Y

τ=2Kn(n1),

Dónde K=i=1n1j=i+1nξ*(Xa,i,Xa,j,Yb,i,Yb,j), Y

ξ*(Xa,i,Xa,j,Yb,i,Yb,j)={1if(Xa,iXa,j)(Yb,iYb,j)>00if(Xa,iXa,j)(Yb,iYb,j)=01if(Xa,iXa,j)(Yb,iYb,j)<0.

Los valores del coeficiente de correlación pueden variar de hasta .–1+1 Un valor de indica que la clasificación de una columna es la inversa de la otra, mientras que un valor de indica que las dos clasificaciones son las mismas.–1+1 Un valor de no indica ninguna relación entre las columnas.0

Rho de Spearman

El rho de Spearman es equivalente a aplicado a la clasificación de las columnasCoeficiente de correlación lineal de Pearson Xa Y Yb.

Si todos los rangos de cada columna son distintos, la ecuación simplifica a:

rho(a,b)=16d2n(n21),

donde está la diferencia entre los rangos de las dos columnas, y es la longitud de cada columna.dn

Sugerencias

La diferencia entre y la función es que devuelve una matriz de coeficientes de correlación para dos vectores de columna y .corr(X,Y)MATLAB®corrcoef(X,Y)corrcoef(X,Y)XY Si y no son vectores de columna, los convierte en vectores de columna.XYcorrcoef(X,Y)

Referencias

[1] Gibbons, J.D. Nonparametric Statistical Inference. 2nd ed. M. Dekker, 1985.

[2] Hollander, M., and D.A. Wolfe. Nonparametric Statistical Methods. Wiley, 1973.

[3] Kendall, M.G. Rank Correlation Methods. Griffin, 1970.

[4] Best, D.J., and D.E. Roberts. "Algorithm AS 89: The Upper Tail Probabilities of Spearman's rho." Applied Statistics, 24:377-379.

Capacidades ampliadas

Consulte también

| | |

Introducido antes de R2006a