Dérivation des distributions conditionnelles d'une distribution normale multivariée

114

Nous avons un vecteur normal multivarié YN(μ,Σ) . Envisagez de partitionner μ et Y en

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

avec une partition similaire de Σ en

[Σ11Σ12Σ21Σ22]
Ensuite, (y1|y2=a) , la distribution conditionnelle de la première partition étant donnée la seconde, est N(μ¯,Σ¯) , avec moyenne
μ¯=μ1+Σ12Σ221(aμ2)
et matrice de covariance
Σ¯=Σ11Σ12Σ221Σ21

En réalité, ces résultats sont également fournis sur Wikipedia, mais je ne sais pas du tout comment sont dérivés les μ¯ et Σ¯ . Ces résultats sont cruciaux car ils constituent une formule statistique importante pour dériver des filtres de Kalman . Est-ce que quelqu'un me fournirait les étapes de dérivation de μ¯ et de Σ¯ ? Merci beaucoup!

Cochon volant
la source
24
L'idée est d'utiliser la définition de la densité conditionnelle . Vous savez que l'articulation est une normale bivariée et que la marge est une normale, il vous suffit donc de remplacer les valeurs et de réaliser l'algèbre désagréable. Ces notes pourraient être utiles. Voici la preuve complète. f(y1|y2=a)=fY1,Y2(y1,a)fY2(a)fY1,Y2fY2
1
Votre deuxième lien répond à la question (+1). Pourquoi ne pas le mettre comme une réponse @Procrastinator?
jeudi
1
Je ne l'avais pas compris, mais je pense que j'utilisais implicitement cette équation dans une ACP conditionnelle. La PCA conditionnelle requiert une transformation qui calcule effectivement la matrice de covariance conditionnelle avec un choix de A.(IA(AA)1A)Σ
John
@Procrastinator - votre approche nécessite en réalité la connaissance de l'identité de la matrice de Woodbury et la connaissance de l'inversion de la matrice par blocs. Cela aboutit à une algèbre matricielle inutilement compliquée.
probabilitéislogique
2
@probabilityislogic En réalité, le résultat est démontré dans le lien que j'ai fourni. Mais c'est respectable si vous trouvez cela plus compliqué que d'autres méthodes. De plus, je n'essayais pas de fournir une solution optimale dans mon commentaire . En outre, mon commentaire était antérieur à la réponse de Macro (que j'ai votée comme vous pouvez le voir).

Réponses:

111

Vous pouvez le prouver en calculant explicitement la densité conditionnelle par force brute, comme dans le lien de Procrastinator (+1) dans les commentaires. Mais il existe également un théorème qui dit que toutes les distributions conditionnelles d'une distribution normale multivariée sont normales. Par conséquent, tout ce qui reste à faire est de calculer le vecteur moyen et la matrice de covariance. Je me souviens que nous l’avons déduite d’une série chronologique à l’université en définissant intelligemment une troisième variable et en utilisant ses propriétés pour obtenir le résultat plus simplement que la solution de force brute du lien (tant que vous maîtrisez bien l’algèbre matricielle). Je vais de mémoire mais c'était quelque chose comme ça:


Soit la première partition et la seconde. Définissez maintenant où . Maintenant nous pouvons écrirex1x2z=x1+Ax2A=Σ12Σ221

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

Donc et sont pas corrélés et, puisqu'ils sont conjointement normaux, ils sont indépendants . Maintenant, clairement , il s'ensuit 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)

ce qui prouve la première partie. Pour la matrice de covariance, notez 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)

Maintenant nous avons presque fini:

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

ce qui prouve la deuxième partie.

Remarque: Pour ceux qui ne connaissent pas très bien l'algèbre matricielle utilisée ici, il s'agit d'une excellente ressource .

Edit: Une propriété utilisée ici ne se trouve pas dans le livre de recettes de la matrice (bonne capture @FlyingPig) est la propriété 6 de la page wikipedia sur les matrices de covariance: qui est celle de deux vecteurs aléatoires , Pour les scalaires, bien sûr, mais pour les vecteurs, ils sont différents dans la mesure où les matrices sont disposées différemment.x,y

var(x+y)=var(x)+var(y)+cov(x,y)+cov(y,x)
cov(X,Y)=cov(Y,X)
Macro
la source
Merci pour cette méthode brillante! Il y a une algèbre matricielle qui ne me semble pas familière. Où puis-je trouver la formule d'ouverture ? Je ne l'ai pas trouvé sur le lien que vous avez envoyé. var(x1+Ax2)
Cochon volant
@Flyingpig, de rien. Je crois que cela résulte des équations , combinées avec une propriété supplémentaire de la variance de la somme des vecteurs aléatoires non écrite dans le livre de recettes Matrix - j'ai ajouté ce fait à ma réponse - merci de votre attention cette! (291),(292)
Macro
13
C'est une très bonne réponse (+1), mais pourrait être améliorée en termes de classement de l'approche. Nous commençons par dire que nous voulons une combinaison linéaire du vecteur entier indépendant / non corrélé avec . C'est parce que nous pouvons utiliser le fait que ce qui signifie et . Celles-ci mènent à leur tour aux expressions pour et . Cela signifie que nous devons prendre . Nous avons maintenant besoin de . Si est inversible, alors nous avonsz=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 .
probabilislogic
1
@jakeoung - cela ne prouve pas que , il la met à cette valeur, de sorte que nous obtenions une expression contenant les variables que nous souhaitons connaître. C1=I
Probistislogic
1
@Jakeoung Je ne comprends pas non plus très bien cette affirmation. Je comprends de cette manière: Si , alors . La valeur de est donc en quelque sorte une échelle arbitraire. Nous avons donc défini pour plus de simplicité. cov(z,x2)=0cov(C11z,x2)=C11cov(z,x2)=0C1C1=I
Ken T
6

La réponse par Macro est excellente, mais voici une méthode encore plus simple qui ne vous oblige pas à utiliser un théorème externe affirmant la distribution conditionnelle. Cela implique d'écrire la distance de Mahanalobis dans un formulaire séparant la variable argument de l'instruction de conditionnement, puis de factoriser la densité normale en conséquence.


Réécriture de la distance de Mahanalobis pour un vecteur conditionnel: cette dérivation utilise une formule d’inversion de matrice qui utilise le complément de Schur qui utilise le symbole . Nous utilisons d’abord la formule d’inversion par blocs pour écrire la matrice de variance inverse comme suit:ΣS=Σ11Σ12Σ221Σ21

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

où:

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

En utilisant cette formule, nous pouvons maintenant écrire la distance de Mahanalobis comme suit:

(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μ),

où:

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

Notez que ce résultat est un résultat général qui ne suppose pas la normalité des vecteurs aléatoires. Il constitue un moyen utile de recadrer la distance de Mahanalobis de sorte qu’elle soit une forme quadratique par rapport à un seul des vecteurs de la décomposition (l’autre étant absorbé dans le vecteur moyen et la matrice de variance).


Calcul de la distribution conditionnelle: Maintenant que nous avons la forme ci-dessus pour la distance de Mahanalobis, le reste est facile. On a:

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

Ceci établit que la distribution conditionnelle est également multivariée normale, avec le vecteur moyen conditionnel spécifié et la matrice de variance conditionnelle.

Ben
la source