Derivando las distribuciones condicionales de una distribución normal multivariante

114

Tenemos un vector normal multivariado YN(μ,Σ) . Considere la posibilidad de particionar μ y Y en

μ=[μ1μ2]
Y=[y1y2]

con una partición similar de Σ en

[Σ11Σ12Σ21Σ22]
Luego, (y1|y2=a) , la distribución condicional de la primera partición dada la segunda, es N(μ¯,Σ¯) , con media
μ¯=μ1+Σ12Σ221(aμ2)
y matriz de covarianza
Σ¯=Σ11Σ12Σ221Σ21

En realidad, estos resultados también se proporcionan en Wikipedia, pero no tengo idea de cómo se deriva el μ¯ y Σ¯ . Estos resultados son cruciales, ya que son una fórmula estadística importante para derivar los filtros de Kalman . ¿Alguien me proporcionaría unos pasos de derivación para derivar μ¯ y Σ¯ ? ¡Muchas gracias!

Cerdo volador
fuente
24
La idea es utilizar la definición de densidad condicional . Sabes que la articulación es una normal bivariada y que la marginal es una normal, entonces solo tienes que reemplazar los valores y hacer el álgebra desagradable. Estas notas pueden ser de alguna ayuda. Aquí está la prueba completa. f(y1|y2=a)=fY1,Y2(y1,a)fY2(a)fY1,Y2fY2
1
Su segundo enlace responde a la pregunta (+1). ¿Por qué no ponerlo como respuesta @Procrastinator?
gui11aume
1
No me había dado cuenta, pero creo que estaba usando esta ecuación implícitamente en un PCA condicional. El PCA condicional requiere una transformación que está calculando efectivamente la matriz de covarianza condicional dada alguna opción de A.(IA(AA)1A)Σ
Juan
@Procrastinator: su enfoque realmente requiere el conocimiento de la identidad de la matriz de Woodbury y el conocimiento de la inversión de la matriz en bloques. Esto da como resultado un álgebra matricial innecesariamente complicada.
probabilityislogic
2
@probabilityislogic En realidad, el resultado se demuestra en el enlace que proporcioné. Pero es respetable si lo encuentra más complicado que otros métodos. Además, no estaba tratando de proporcionar una solución óptima en mi comentario . Además, mi comentario fue anterior a la respuesta de Macro (que voté como puedes ver).

Respuestas:

111

Puede probarlo calculando explícitamente la densidad condicional por la fuerza bruta, como en el enlace Procrastinator (+1) en los comentarios. Pero también hay un teorema que dice que todas las distribuciones condicionales de una distribución normal multivariada son normales. Por lo tanto, todo lo que queda es calcular el vector medio y la matriz de covarianza. Recuerdo que derivamos esto en una clase de series de tiempo en la universidad al definir inteligentemente una tercera variable y usar sus propiedades para derivar el resultado de manera más simple que la solución de fuerza bruta en el enlace (siempre y cuando se sienta cómodo con el álgebra matricial). Voy de memoria pero fue algo como esto:


Deje que sea ​​la primera partición y la segunda. Ahora defina donde . Ahora podemos escribirx1x2z=x1+Ax2A=Σ12Σ221

cov(z,x2)=cov(x1,x2)+cov(Ax2,x2)=Σ12+Avar(x2)=Σ12Σ12Σ221Σ22=0

Por lo tanto, y no están correlacionados y, dado que son conjuntamente normales, son independientes . Ahora, claramente , por lo tanto, se deduce quezx2E(z)=μ1+Aμ2

E(x1|x2)=E(zAx2|x2)=E(z|x2)E(Ax2|x2)=E(z)Ax2=μ1+A(μ2x2)=μ1+Σ12Σ221(x2μ2)

lo que prueba la primera parte. Para la matriz de covarianza, tenga en cuenta que

var(x1|x2)=var(zAx2|x2)=var(z|x2)+var(Ax2|x2)Acov(z,x2)cov(z,x2)A=var(z|x2)=var(z)

Ahora casi hemos terminado:

var(x1|x2)=var(z)=var(x1+Ax2)=var(x1)+Avar(x2)A+Acov(x1,x2)+cov(x2,x1)A=Σ11+Σ12Σ221Σ22Σ221Σ212Σ12Σ221Σ21=Σ11+Σ12Σ221Σ212Σ12Σ221Σ21=Σ11Σ12Σ221Σ21

lo que prueba la segunda parte.

Nota: Para aquellos que no están muy familiarizados con el álgebra matricial utilizado aquí, este es un excelente recurso .

Editar: Una propiedad utilizada aquí, esta no está en el libro de cocina de la matriz (buena captura @FlyingPig) es la propiedad 6 en la página de wikipedia sobre matrices de covarianza: que es para dos vectores aleatorios , Para escalares, por supuesto, pero para los vectores son diferentes en la medida en que las matrices están dispuestas de manera diferente.x,y

var(x+y)=var(x)+var(y)+cov(x,y)+cov(y,x)
cov(X,Y)=cov(Y,X)
Macro
fuente
¡Gracias por este brillante método! Hay una matriz de álgebra que no me parece familiar, ¿dónde puedo encontrar la fórmula para abrir ? No lo he encontrado en el enlace que enviaste. var(x1+Ax2)
Flying pig
@Flyingpig, de nada. Creo que esto es el resultado de las ecuaciones , combinadas con una propiedad adicional de la varianza de la suma de vectores aleatorios no escritos en Matrix Cookbook. He agregado este hecho a mi respuesta. Gracias por la captura. ¡ese! (291),(292)
Macro
13
Esta es una muy buena respuesta (+1), pero podría mejorarse en términos del orden del enfoque. Comenzamos diciendo que queremos una combinación lineal del vector completo que es independiente / no correlacionada con . Esto se debe a que podemos usar el hecho de que que significa y . Estos a su vez conducen a expresiones para y . Esto significa que debemos tomar . Ahora requerimos . Si es invertible, entonces tenemosz=Cx=C1x1+C2x2x2p(z|x2)=p(z)var(z|x2)=var(z)E(z|x2)=E(z)var(C1x1|x2)E(C1x1|x2)C1=Icov(z,x2)=Σ12+C2Σ22=0Σ22C2=Σ12Σ221 .
probabilityislogic
1
@jakeoung: no está demostrando que , lo está configurando en este valor, de modo que obtengamos una expresión que contenga las variables que deseamos conocer. C1=I
probabilityislogic
1
@jakeoung Tampoco entiendo muy bien esa afirmación. Entiendo de esta manera: Si , entonces . Entonces el valor de es de alguna manera una escala arbitraria. Entonces configuramos por simplicidad. cov(z,x2)=0cov(C11z,x2)=C11cov(z,x2)=0C1C1=I
Ken T
6

La respuesta de Macro es excelente, pero aquí hay una forma aún más simple que no requiere que uses ningún teorema externo que afirme la distribución condicional. Implica escribir la distancia de Mahanalobis en una forma que separe la variable de argumento para la declaración de condicionamiento, y luego factorizar la densidad normal en consecuencia.


Reescribir la distancia de Mahanalobis para un vector condicional: esta derivación utiliza una fórmula de inversión de matriz que utiliza el complemento de Schur . Primero usamos la fórmula de inversión en bloques para escribir la matriz de varianza inversa como:ΣS=Σ11Σ12Σ221Σ21

Σ1=[Σ11Σ12Σ21Σ22]1=[Σ11Σ12Σ21Σ22],

dónde:

Σ11=ΣS1 Σ12=ΣS1Σ12Σ221,Σ21=Σ221Σ12ΣS1Σ22=Σ221Σ12ΣS1Σ12Σ221. 

Con esta fórmula, ahora podemos escribir la distancia de Mahanalobis como:

(yμ)TΣ1(yμ)=[y1μ1y2μ2]T[Σ11Σ12Σ21Σ22][y1μ1y2μ2]=(y1μ1)TΣ11(y1μ1)+(y1μ1)TΣ12(y2μ2)+(y2μ2)TΣ21(y1μ1)+(y2μ2)TΣ22(y2μ2)=(y1(μ1+Σ12Σ221(y2μ2)))TΣS1(y1(μ1+Σ12Σ221(y2μ2)))=(y1μ)TΣ1(y1μ),

dónde:

μμ1+Σ12Σ221(y2μ2),ΣΣ11Σ12Σ221Σ21.

Tenga en cuenta que este resultado es un resultado general que no asume la normalidad de los vectores aleatorios. Proporciona una forma útil de volver a enmarcar la distancia de Mahanalobis para que sea una forma cuadrática con respecto a solo uno de los vectores en la descomposición (con el otro absorbido en el vector medio y la matriz de varianza).


Derivando la distribución condicional: ahora que tenemos la forma anterior para la distancia de Mahanalobis, el resto es fácil. Tenemos:

p(y1|y2,μ,Σ)y1p(y1,y2|μ,Σ)=N(y|μ,Σ)y1exp(12(yμ)TΣ1(yμ))=exp(12(y1μ)TΣ1(y1μ))y1N(y1|μ,Σ).

Esto establece que la distribución condicional también es multivariada normal, con el vector medio condicional especificado y la matriz de varianza condicional.

Ben
fuente