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}Y∼N(μ,Σ)μ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Σ22−1(a−μ2)
e matriz de covariância
Σ¯=Σ11−Σ12Σ22−1Σ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.(I−A′(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Σ22−1

cov(z,x2)=cov(x1,x2)+cov(Ax2,x2)=Σ12+Avar(x2)=Σ12−Σ12Σ22−1Σ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(z−Ax2|x2)=E(z|x2)−E(Ax2|x2)=E(z)−Ax2=μ1+A(μ2−x2)=μ1+Σ12Σ22−1(x2−μ2)

o que prova a primeira parte. Para a matriz de covariância, observe que

var(x1|x2)=var(z−Ax2|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Σ22−1Σ22Σ22−1Σ21−2Σ12Σ22−1Σ21=Σ11+Σ12Σ22−1Σ21−2Σ12Σ22−1Σ21=Σ11−Σ12Σ22−1Σ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Σ22−1 .
— 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(C1−1z,x2)=C1−1cov(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Σ22−1Σ21

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

Onde:

Σ11∗=ΣS−1 Σ12∗=−ΣS−1Σ12Σ22−1,Σ21∗=−Σ22−1Σ12ΣS−1Σ22∗=Σ22−1Σ12ΣS−1Σ12Σ22−1. 

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Σ22−1(y2−μ2)))TΣS−1(y1−(μ1+Σ12Σ22−1(y2−μ2)))=(y1−μ∗)TΣ∗−1(y1−μ∗),

Onde:

μ∗≡μ1+Σ12Σ22−1(y2−μ2),Σ∗≡Σ11−Σ12Σ22−1Σ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.