Derivando as distribuições condicionais de uma distribuição normal multivariada


114

Temos um vetor normal multivariado . Considere particionar e {\ boldsymbol Y} em \ boldsymbol \ mu = \ begin {bmatrix} \ boldsymbol \ mu_1 \\ \ boldsymbol \ mu_2 \ end {bmatrix} {\ boldsymbol Y} = \ begin {bmatrix} { \ boldsymbol y} _1 \\ {\ boldsymbol y} _2 \ end {bmatrix}YN(μ,Σ)μY

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

com uma partição semelhante de Σ into

[Σ11Σ12Σ21Σ22]
Então, (y1|y2=a) , a distribuição condicional da primeira partição, dada a segunda, é N(μ¯,Σ¯) , com média
μ¯=μ1+Σ12Σ221(aμ2)
e matriz de covariância
Σ¯=Σ11Σ12Σ221Σ21

Na verdade, esses resultados também são fornecidos na Wikipedia, mas não tenho idéia de como é derivado o μ¯ e o Σ¯ . Esses resultados são cruciais, pois são importantes fórmulas estatísticas para derivar os filtros de Kalman . Alguém me forneceria uma etapa de derivação de derivar μ¯ e Σ¯ ? Muito obrigado!


24
A idéia é usar a definição de densidade condicional . Você sabe que a articulação é uma normal bivariada e que a marginal é uma normal, basta substituir os valores e fazer a álgebra desagradável. Essas notas podem ser de alguma ajuda. Aqui está a prova completa. fY1,Y2fY2f(y1|y2=a)=fY1,Y2(y1,a)fY2(a)fY1,Y2fY2

1
Seu segundo link responde à pergunta (+1). Por que não colocá-lo como resposta @Procrastinator?
gui11aume

1
Eu não tinha percebido, mas acho que estava usando implicitamente essa equação em um PCA condicional. O PCA condicional requer uma transformação que está efetivamente calculando a matriz de covariância condicional, dada a opção A.(IA(AA)1A)Σ
John

@Procrastinator - sua abordagem realmente requer o conhecimento da identidade da matriz Woodbury e o conhecimento da inversão da matriz em blocos. Isso resulta em álgebra matricial desnecessariamente complicada.
probabilityislogic

2
@probabilityislogic Na verdade, o resultado é comprovado no link que forneci. Mas é respeitável se você achar mais complicado que outros métodos. Além disso, eu não estava tentando fornecer uma solução ideal no meu comentário . Além disso, meu comentário foi anterior à resposta de Macro (que eu votei como você pode ver).

Respostas:


111

Você pode provar isso calculando explicitamente a densidade condicional por força bruta, como no link do procrastinador (+1) nos comentários. Mas há também um teorema que diz que todas as distribuições condicionais de uma distribuição normal multivariada são normais. Portanto, tudo o que resta é calcular o vetor médio e a matriz de covariância. Lembro que derivamos isso em uma classe de séries temporais na faculdade, definindo habilmente uma terceira variável e usando suas propriedades para derivar o resultado mais simplesmente do que a solução de força bruta no link (desde que você se sinta confortável com a álgebra matricial). Estou saindo da memória, mas era algo assim:


Seja a primeira partição e a segunda. Agora defina que . Agora podemos escreverx 2 z = x 1 + A x 2 A =- Σ 12 Σ - 1 22x1x2z=x1+Ax2A=Σ12Σ221

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

Portanto, e não são correlacionados e, uma vez que são conjuntamente normais, são independentes . Agora, claramente , portanto, segue-se quex 2 E ( z ) = μ 1 + A μ 2zx2E(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)

o que prova a primeira parte. Para a matriz de covariância, observe 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)

Agora estamos quase terminando:

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

o que prova a segunda parte.

Nota: Para aqueles que não estão familiarizados com a álgebra matricial usada aqui, este é um excelente recurso .

Edit: Uma propriedade usada aqui, isso não está no livro de receitas da matriz (good catch @FlyingPig) é a propriedade 6 na página da Wikipedia sobre matrizes de covariância: que é aquela para dois vetores aleatórios , Para escalares, é claro, mas para vetores eles são diferentes na medida em que as matrizes estão dispostas de maneira diferente.v a r ( x + y ) = v a r ( x ) + v a r ( y ) + c o v ( x , y ) + c o v ( y , x ) c o v ( X , Y ) = c o v ( Y , X )x,y

var(x+y)=var(x)+var(y)+cov(x,y)+cov(y,x)
cov(X,Y)=cov(Y,X)

Obrigado por este método brilhante! Existe uma álgebra matricial que não me parece familiar, onde posso encontrar a fórmula para abrir ? Não o encontrei no link que você enviou. var(x1+Ax2)
Flying pig

@ Flyingpig, de nada. Acredito que isso seja resultado das equações , combinadas com uma propriedade adicional da variação da soma dos vetores aleatórios não escritos no Matrix Cookbook - adicionei esse fato à minha resposta - obrigado por capturar este! (291),(292)
Macro

13
Essa é uma resposta muito boa (+1), mas pode ser aprimorada em termos de ordem da abordagem. Começamos dizendo que queremos uma combinação linear de todo o vetor independente / não correlacionada com . Isso ocorre porque podemos usar o fato de que que significa e . Por sua vez, eles levam a expressões para e . Isto significa que deve tomar . Agora exigimos . Se for invertível, teremosx 2 p ( z | x 2 ) = p ( z ) 1 x 1 | x 2 ) E ( C 1 x 1 | x 2 ) C 1 = I c o v ( z , x 2 ) = Σ 12z=Cx=C1x1+C2x2x2p(z|x2)=p(z)E ( z | x 2 ) = E ( z ) v a r ( Cvar(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 - não está provando que , está definindo esse valor, para que possamos obter uma expressão que contenha as variáveis ​​que queremos conhecer. C1=I
probabilityislogic

1
@jakeoung Eu também não entendo bem essa afirmação. Entendo desta maneira: Se , . Portanto, o valor de é de alguma forma uma escala arbitrária. Então, definimos para simplificar. cov(z,x2)=0cov(C11z,x2)=C11cov(z,x2)=0C1C1=I
Ken T

6

A resposta de Macro é ótima, mas aqui está uma maneira ainda mais simples que não exige que você use qualquer teorema externo que afirme a distribuição condicional. Envolve escrever a distância de Mahanalobis de uma forma que separa a variável de argumento para a instrução de condicionamento e, em seguida, fatorar a densidade normal de acordo.


Reescrevendo a distância de Mahanalobis para um vetor condicional: Essa derivação usa uma fórmula de inversão de matriz que usa o complemento Schur . Primeiro, usamos a fórmula de inversão em blocos para escrever a matriz de variância inversa como:ΣS=Σ11Σ12Σ221Σ21

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

Onde:

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

Usando esta fórmula, agora podemos escrever a distância 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μ),

Onde:

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

Observe que esse resultado é um resultado geral que não assume a normalidade dos vetores aleatórios. Ele fornece uma maneira útil de re-enquadrar a distância de Mahanalobis, de forma que ela seja uma forma quadrática em relação a apenas um dos vetores na decomposição (com o outro absorvido no vetor médio e na matriz de variância).


Derivando a distribuição condicional: Agora que temos a forma acima para a distância Mahanalobis, o resto é fácil. Nós temos:

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

Isso estabelece que a distribuição condicional também é normal multivariada, com o vetor médio condicional especificado e a matriz de variância condicional.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.