66 votos

¿Todas las matrices de covarianza son positivas definidas?

Supongo que la respuesta debe ser sí, pero sigo sintiendo que algo no está bien. Debería haber algunos resultados generales en la literatura, ¿podría alguien ayudarme?

55voto

AdamSane Puntos 1825

No.

Considere tres variables, $X$ , $Y$ y $Z = X+Y$ . Su matriz de covarianza, $M$ no es positiva definida, ya que hay un vector $z$ ( $= (1, 1, -1)'$ ) para el que $z'Mz$ no es positivo.

Las matrices de covarianza de la población son semidefinidas positivas.

(Ver propiedad 2 ici .)

En general, lo mismo debería aplicarse a las matrices de covarianza de las muestras completas (sin valores perdidos), ya que también pueden considerarse una forma de covarianza poblacional discreta.

Sin embargo, debido a la inexactitud de los cálculos numéricos en coma flotante, incluso los casos algebraicamente definidos positivos pueden ocasionalmente no ser ni siquiera semidefinidos positivos; una buena elección de los algoritmos puede ayudar con esto.

De forma más general, las matrices de covarianza de la muestra - dependiendo de cómo traten los valores perdidos en algunas variables- puede ser o no semidefinido positivo, incluso en teoría. Si se utiliza la eliminación por pares, por ejemplo, no se garantiza la semidefinición positiva. Además, el error numérico acumulado puede hacer que las matrices de covarianza de la muestra que deberían ser teóricamente semidefinidas positivas no lo sean.

Así:

 x <- rnorm(30)
 y <- rnorm(30) - x/10 # it doesn't matter for this if x and y are correlated or not
 z <- x+y
 M <- cov(data.frame(x=x,y=y,z=z))
 z <- rbind(1,1,-1)
 t(z)%*%M%*%z
              [,1]
[1,] -1.110223e-16

Esto ocurrió en el primer ejemplo que probé (probablemente debería suministrar una semilla, pero no es tan raro como para tener que probar muchos ejemplos antes de conseguir uno).

El resultado fue negativo aunque debería ser algebraicamente cero. Un conjunto diferente de números podría dar un número positivo o un cero "exacto".

--

Ejemplo de falta moderada que lleva a la pérdida de semidefinición positiva mediante la eliminación por pares:

z <- x + y + rnorm(30)/50  # same x and y as before.
xyz1 <- data.frame(x=x,y=y,z=z) # high correlation but definitely of full rank 

xyz1$x[sample(1:30,5)] <- NA   # make 5 x's missing  

xyz1$y[sample(1:30,5)] <- NA   # make 5 y's missing  

xyz1$z[sample(1:30,5)] <- NA   # make 5 z's missing  

cov(xyz1,use="pairwise")     # the individual pairwise covars are fine ...

           x          y        z
x  1.2107760 -0.2552947 1.255868
y -0.2552947  1.2728156 1.037446
z  1.2558683  1.0374456 2.367978

 chol(cov(xyz1,use="pairwise"))  # ... but leave the matrix not positive semi-definite

Error in chol.default(cov(xyz1, use = "pairwise")) : 
  the leading minor of order 3 is not positive definite

 chol(cov(xyz1,use="complete")) # but deleting even more rows leaves it PSD

          x          y          z
x 0.8760209 -0.2253484 0.64303448
y 0.0000000  1.1088741 1.11270078
z 0.0000000  0.0000000 0.01345364

37voto

Craig Trader Puntos 8924

Pues bien, para entender por qué la matriz de covarianza de una población es siempre semidefinida positiva, fíjate que $$ \sum_{i,j =1}^{n} y_i \cdot y_j \cdot Cov(X_i, X_j) = Var(\sum_{i=1}^n y_iX_i) \geq 0 $$ donde $y_i$ son algunos números reales, y $X_i$ son algunas variables aleatorias de valor real.

Esto también explica por qué en el ejemplo dado por Glen_b la matriz de covarianza no era positiva definida . Teníamos $y_1 =1 , y_2 = 1, y_3 = -1$ y $X_1 = X, X_2 = Y, X_3 = Z = X+Y$ Así que $\sum_{i=1}^{3} y_iX_i = 0$ y la varianza de una variable aleatoria que es constante es $0$ .

8voto

Aaron Puntos 36

Como se indica en la otra respuesta, la matriz de covarianza es semidefinida positiva (que yo prefiero llamar definida no negativa), pero no necesariamente definida positiva. Podemos demostrar que la matriz de covarianza es semidefinida positiva desde los primeros principios utilizando su definición . Para ello, supongamos que consideramos un vector aleatorio $\mathbf{X}$ con el vector medio $\boldsymbol{\mu}$ y la matriz de covarianza $\mathbf{\Sigma}_\mathbf{X}$ . Para cualquier vector conformable $\mathbf{z}$ podemos definir el vector correspondiente:

$$\mathbf{Y} = (\mathbf{X} - \boldsymbol{\mu}_\mathbf{X})^\text{T} \mathbf{z}.$$

Desde $||\mathbf{Y}|| \geqslant 0$ entonces tenemos:

$$\begin{aligned} \mathbf{z}^\text{T} \mathbf{\Sigma}_\mathbf{X} \mathbf{z} &= \mathbf{z}^\text{T} \mathbb{E}((\mathbf{X} - \boldsymbol{\mu}_\mathbf{X}) (\mathbf{X} - \boldsymbol{\mu}_\mathbf{X})^\text{T}) \mathbf{z} \\[6pt] &= \mathbb{E}(\mathbf{z}^\text{T} (\mathbf{X} - \boldsymbol{\mu}_\mathbf{X}) (\mathbf{X} - \boldsymbol{\mu}_\mathbf{X})^\text{T} \mathbf{z}) \\[6pt] &= \mathbb{E}(\mathbf{Y}^\text{T} \mathbf{Y}) \\[6pt] &= \mathbb{E}(||\mathbf{Y}||^2) \geqslant 0. \\[6pt] \end{aligned}$$

Esto establece que la matriz de covarianza $\mathbf{\Sigma}_\mathbf{X}$ es semidefinido positivo. Además, podemos ver que $\mathbf{z}^\text{T} \mathbf{\Sigma}_\mathbf{X} \mathbf{z} = 0$ si y sólo si $\mathbf{Y}=(\mathbf{X} - \boldsymbol{\mu}_\mathbf{X})^\text{T} \mathbf{z}=\mathbf{0}$ casi seguro.

3voto

Edyn Puntos 121

Como ya aclaran las otras respuestas, una matriz de covarianza no es necesariamente positiva definida, sino sólo semidefinida positiva.

Sin embargo, una matriz de covarianza es generalmente positiva definida a menos que el espacio abarcado por las variables sea en realidad un subespacio lineal de menor dimensión. Precisamente por eso, en el ejemplo con X, Y y Z=X+Y el resultado es sólo semidefinido positivo, pero no definido positivo. Aunque las variables abarcan un espacio tridimensional, en realidad sólo describen un subespacio lineal bidimensional (porque no son linealmente independientes).

1voto

Nor.Z Puntos 31

$$\begin{array}{l}theory:\left\{ {{{\bf{\Sigma }}_{\bf{X}}}{\rm{ is positive semi - definite}}} \right.\\proof::\\set:\left\{ {{\bf{a}} = {\rm{vector }}\left( {p \times 1} \right){\rm{ }}\left( {{\mathop{\rm const}\nolimits} } \right) \ne \vec 0} \right.\\{{\bf{a}}^T}\Sigma {\bf{a}} = {\left[ {\begin{array}{*{20}{c}}{{a_1}}\\{{a_2}}\\ \vdots \\{{a_p}}\end{array}} \right]^T}\left[ {\begin{array}{*{20}{c}}{{\sigma _{11}}}&{{\sigma _{12}}}& \cdots &{{\sigma _{1p}}}\\{{\sigma _{21}}}&{{\sigma _{22}}}& \cdots &{{\sigma _{2p}}}\\ \vdots & \vdots & \ddots & \vdots \\{{\sigma _{p1}}}&{{\sigma _{p2}}}& \cdots &{{\sigma _{pp}}}\end{array}} \right]\left[ {\begin{array}{*{20}{c}}{{a_1}}\\{{a_2}}\\ \vdots \\{{a_p}}\end{array}} \right]\\ = \left[ {\begin{array}{*{20}{c}}{{a_1}{\sigma _{11}} + {a_2}{\sigma _{21}} + \cdots + {a_p}{\sigma _{p1}}}& \cdots & \cdots &{{a_1}{\sigma _{1p}} + {a_2}{\sigma _{2p}} + \cdots + {a_p}{\sigma _{pp}}}\end{array}} \right]\left[ {\begin{array}{*{20}{c}}{{a_1}}\\{{a_2}}\\ \vdots \\{{a_p}}\end{array}} \right]\\ = \left[ {\begin{array}{*{20}{c}}{\sum\limits_{i = 1}^p {{a_i}{\sigma _{i1}}} }& \cdots & \cdots &{\sum\limits_{i = 1}^p {{a_i}{\sigma _{ip}}} }\end{array}} \right]\left[ {\begin{array}{*{20}{c}}{{a_1}}\\{{a_2}}\\ \vdots \\{{a_p}}\end{array}} \right]\\ = \left[ {\begin{array}{*{20}{c}}{\sum\limits_{i = 1}^p {{a_i}{\mathop{\rm Cov}\nolimits} \left( {{X_i},{X_1}} \right)} }& \cdots & \cdots &{\sum\limits_{i = 1}^p {{a_i}{\mathop{\rm Cov}\nolimits} \left( {{X_i},{X_p}} \right)} }\end{array}} \right]\left[ {\begin{array}{*{20}{c}}{{a_1}}\\{{a_2}}\\ \vdots \\{{a_p}}\end{array}} \right]\\ = \sum\limits_{j = 1}^p {{a_j}\sum\limits_{i = 1}^p {{a_i}{\mathop{\rm Cov}\nolimits} \left( {{X_i},{X_j}} \right)} } = \sum\limits_{j = 1}^p {\sum\limits_{i = 1}^p {{a_i}{a_j}{\mathop{\rm Cov}\nolimits} \left( {{X_i},{X_j}} \right)} } \\\left[ {rule:\left\{ {{\mathop{\rm var}} \left( {\sum\limits_{i = 1}^p {{a_i}{X_i}} } \right) = \sum\limits_{j = 1}^p {\sum\limits_{i = 1}^p {{a_i}{a_j}{\mathop{\rm cov}} \left( {{X_i},{X_j}} \right)} } } \right.{\rm{ }}\left[ {see{\rm{ }}below} \right]} \right.\\ = {\mathop{\rm Var}\nolimits} \left( {\sum\limits_{i = 1}^p {{a_i}{X_i}} } \right) = {\mathop{\rm Var}\nolimits} \left( {{{\bf{a}}^T}{\bf{X}}} \right) \ge 0\end{array} $$


A continuación, la respuesta de sjm.majewski

$$\begin{array}{l}rule:\left\{ {{\mathop{\rm var}} \left( {\sum\limits_{i = 1}^p {{a_i}{X_i}} } \right) = \sum\limits_{j = 1}^p {\sum\limits_{i = 1}^p {{a_i}{a_j}{\mathop{\rm cov}} \left( {{X_i},{X_j}} \right)} } } \right.\\proof,eg:\\\left\{ \begin{array}{l}{\mathop{\rm var}} \left( {{a_1}{X_1} + {a_2}{X_2} + {a_3}{X_3}} \right) = {\mathop{\rm var}} \left( {\sum\limits_{i = 1}^3 {{a_i}{X_i}} } \right)\\ = {\mathop{\rm var}} \left( {{a_1}{X_1} + {a_2}{X_2}} \right) + 2{\mathop{\rm cov}} \left( {{a_1}{X_1} + {a_2}{X_2},{a_3}{X_3}} \right) + {\mathop{\rm var}} \left( {{a_3}{X_3}} \right)\\ = \left( {{\mathop{\rm var}} \left( {{a_1}{X_1}} \right) + 2{\mathop{\rm cov}} \left( {{a_1}{X_1},{a_2}{X_2}} \right) + {\mathop{\rm var}} \left( {{a_2}{X_2}} \right)} \right) + 2\left( {{\mathop{\rm cov}} \left( {{a_1}{X_1},{a_3}{X_3}} \right) + {\mathop{\rm cov}} \left( {{a_2}{X_2},{a_3}{X_3}} \right)} \right) + {\mathop{\rm var}} \left( {{a_3}{X_3}} \right)\\ = \left( {{a_1}^2{\mathop{\rm var}} \left( {{X_1}} \right) + 2{a_1}{a_2}{\mathop{\rm cov}} \left( {{X_1},{X_2}} \right) + {a_2}^2{\mathop{\rm var}} \left( {{X_2}} \right)} \right) + 2\left( {{a_1}{a_3}{\mathop{\rm cov}} \left( {{X_1},{X_3}} \right) + {a_2}{a_3}{\mathop{\rm cov}} \left( {{X_2},{X_3}} \right)} \right) + {a_3}^2{\mathop{\rm var}} \left( {{X_3}} \right)\\ = {a_1}^2{\mathop{\rm var}} \left( {{X_1}} \right) + 2{a_1}{a_2}{\mathop{\rm cov}} \left( {{X_1},{X_2}} \right) + {a_2}^2{\mathop{\rm var}} \left( {{X_2}} \right) + 2{a_1}{a_3}{\mathop{\rm cov}} \left( {{X_1},{X_3}} \right) + 2{a_2}{a_3}{\mathop{\rm cov}} \left( {{X_2},{X_3}} \right) + {a_3}^2{\mathop{\rm var}} \left( {{X_3}} \right)\\ = \sum\limits_{j = 1}^3 {\sum\limits_{i = 1}^3 {{a_i}{a_j}{\mathop{\rm Cov}\nolimits} \left( {{X_i},{X_j}} \right)} } \end{array} \right.\end{array}% $$

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X