Main Content

cov

Descripción

C = cov(A) devuelve la covarianza.

  • Si A es un vector de observaciones, C es la varianza de valores escalares.

  • Si A es una matriz cuyas columnas representan variables aleatorias y cuyas filas representan observaciones, C es la matriz de covarianzas con las correspondientes varianzas de columna a lo largo de la diagonal.

  • Si A es un escalar, cov(A) devuelve 0. Si A es un arreglo vacío, cov(A) devuelve NaN.

C se normaliza por el número de observaciones -1. Si solo hay una observación, se normaliza por 1.

ejemplo

C = cov(A,B) devuelve la covarianza entre dos variables aleatorias A y B.

  • Si A y B son vectores de observaciones con la misma longitud, cov(A,B) es la matriz de covarianzas de 2 por 2.

  • Si A y B son matrices de observaciones, cov(A,B) trata A y B como vectores y es equivalente a cov(A(:),B(:)). A y B deben tener el mismo tamaño.

  • Si A y B son escalares, cov(A,B) devuelve un bloque de 2 por 2 de ceros. Si A y B son arreglos vacíos, cov(A,B) devuelve un bloque de 2 por 2 de NaN.

ejemplo

C = cov(___,w) especifica la ponderación de normalización para cualquiera de las sintaxis anteriores. Cuando w = 0 (predeterminado), C se normaliza por el número de observaciones -1. Cuando w = 1, se normaliza por el número de observaciones.

ejemplo

C = cov(___,nanflag) especifica una condición para gestionar valores NaN en los arreglos de entrada. Por ejemplo, cov(A,"omitrows") omite cualquier fila de A que contenga uno o más valores NaN al calcular la covarianza. De forma predeterminada, cov incluye valores NaN.

ejemplo

Ejemplos

contraer todo

Cree una matriz de 3 por 4 y calcule su covarianza.

A = [5 0 3 7; 1 -5 7 3; 4 9 8 10];
C = cov(A)
C = 4×4

    4.3333    8.8333   -3.0000    5.6667
    8.8333   50.3333    6.5000   24.1667
   -3.0000    6.5000    7.0000    1.0000
    5.6667   24.1667    1.0000   12.3333

Dado que el número de columnas de A es 4, el resultado es una matriz de 4 por 4.

Cree dos vectores y calcule su matriz de covarianzas de 2 por 2.

A = [3 6 4];
B = [7 12 -9];
cov(A,B)
ans = 2×2

    2.3333    6.8333
    6.8333  120.3333

Cree dos matrices del mismo tamaño y calcule su covarianza de 2 por 2.

A = [2 0 -9; 3 4 1];
B = [5 2 6; -4 4 9];
cov(A,B)
ans = 2×2

   22.1667   -6.9333
   -6.9333   19.4667

Cree una matriz y calcule la covarianza normalizada por el número de filas.

A = [1 3 -7; 3 9 2; -5 4 6];
C = cov(A,1)
C = 3×3

   11.5556    5.1111  -10.2222
    5.1111    6.8889    5.2222
  -10.2222    5.2222   29.5556

Cree una matriz que contenga valores NaN.

A = [1.77 -0.005 3.98; NaN -2.95 NaN; 2.54 0.19 1.01];

Calcule la covarianza de la matriz excluyendo las filas que contengan algún valor NaN.

C = cov(A,"omitrows")
C = 3×3

    0.2964    0.0751   -1.1435
    0.0751    0.0190   -0.2896
   -1.1435   -0.2896    4.4104

Argumentos de entrada

contraer todo

Arreglo de entrada, especificado como vector o matriz.

Tipos de datos: single | double

Matriz de entrada adicional, especificada como vector o matriz. B debe tener el mismo tamaño que A.

Tipos de datos: single | double

Ponderación de normalización, especificada como uno de estos valores:

  • 0: la salida se normaliza por el número de observaciones-1. Si solo hay una observación, se normaliza por 1.

  • 1: la salida se normaliza por el número de observaciones.

Tipos de datos: single | double

Condición de valor faltante, especificada como uno de estos valores:

  • "includemissing" o "includenan": incluye los valores NaN de los arreglos de entrada al calcular la covarianza. "includemissing" e "includenan" tienen el mismo comportamiento.

  • "omitrows": omite cualquier fila de los arreglos de entrada que contenga uno o más valores NaN al calcular la covarianza.

  • "partialrows": omite las filas de los arreglos de entrada que contengan valores NaN solo por pares para calcular la covarianza de dos columnas.

Argumentos de salida

contraer todo

Covarianza, devuelta como escalar o matriz.

  • En el caso de una entrada de matriz única, C tiene un tamaño [size(A,2) size(A,2)] basado en el número de variables aleatorias (columnas) representadas por A. Las varianzas de las columnas se encuentran a lo largo de la diagonal. Si A es un vector fila o columna, C es la varianza de valores escalares.

  • Para entradas de dos vectores o dos matrices, C es la matriz de covarianzas de 2 por 2 entre las dos variables aleatorias. Las varianzas se encuentran a lo largo de la diagonal de C.

Más acerca de

contraer todo

Covarianza

Para dos vectores variables aleatorios A y B, la covarianza se define como

cov(A,B)=1N1i=1N(AiμA)*(BiμB)

donde μA es la media de A, μB es la media de B y * denota el conjugado complejo.

La matriz de covarianzas de dos variables aleatorias es la matriz de los cálculos de covarianzas por pares entre cada variable,

C=(cov(A,A)cov(A,B)cov(B,A)cov(B,B)).

Para una matriz A cada una de cuyas columnas son una variable aleatoria compuesta por observaciones, la matriz de covarianzas es el cálculo de covarianzas por pares entre cada combinación de columnas. En otras palabras, C(i,j)=cov(A(:,i),A(:,j)).

Varianza

Para un vector de longitud finita A compuesto por N observaciones de escalar, la varianza se define como

V=1N1i=1N|Aiμ|2

donde μ es la media de A,

μ=1Ni=1NAi.

Algunas definiciones de la varianza utilizan un factor de normalización de N en lugar de N-1, que puede especificar estableciendo w en 1. En cualquier caso, se asume que la media tiene el factor de normalización habitual N.

Capacidades ampliadas

Historial de versiones

Introducido antes de R2006a

expandir todo

Consulte también

| | | | | |