Estimation de la distribution postérieure de la covariance d'un gaussien multivarié

15

J'ai besoin "d'apprendre" la distribution d'un gaussien bivarié avec peu d'échantillons, mais une bonne hypothèse sur la distribution précédente, donc je voudrais utiliser l'approche bayésienne.

J'ai défini mon avant:

P(μ)N(μ0,Σ0)
μ0=[00]   Σ0=[160027]

Et ma distribution étant donnée l'hypothèse

P(x|μ,Σ)N(μ,Σ)
μ=[00]   Σ=[180018]

Maintenant je sais grâce à ici que pour estimer la moyenne étant donné les données

P(μ|x1,,xn)N(μ^n,Σ^n)

Je peux calculer:

μ^n=Σ0(Σ0+1nΣ)1(1ni=1nxi)+1nΣ(Σ0+1nΣ)1μ0

Σ^n=1nΣ0(Σ0+1nΣ)1Σ

Vient maintenant la question, peut-être que je me trompe, mais il me semble que n'est que la matrice de covariance pour le paramètre estimé \ mathbf {\ mu_n} , et non la covariance estimée de mes données. Ce que je voudrais serait de calculer aussiμ nΣnμn

P(Σn1|x1,,xn)

afin d'avoir une distribution entièrement spécifiée tirée de mes données.

Est-ce possible? Est-il déjà résolu par le calcul de Σn et est-il simplement exprimé de manière erronée la formule ci-dessus (ou je me contente de l'interpréter)? Des références seraient appréciées. Merci beaucoup.

ÉDITER

D'après les commentaires, il est apparu que mon approche était "fausse", dans le sens où je supposais une covariance constante, définie par . Ce dont j'ai besoin serait de mettre aussi un prior dessus, , mais je ne sais pas quelle distribution je dois utiliser, et par la suite quelle est la procédure pour la mettre à jour.P ( Σ )ΣP(Σ)

unziberla
la source
Vous avez déjà spécifié la covariance de vos données sous la forme - et vous n'avez pas spécifié de distribution préalable pour la mise à jour de? Σ=[180018]
Corone
Je vois ce que tu veux dire. Donc, avec mon approche, j'ai supposé que la variance était constante et spécifiée. Si je veux l'estimer, j'ai besoin d'un préalable. Maintenant, mon problème est qu'il n'est pas clair comment le définir, et ce qui serait une distribution appropriée pour cela, mais cela semble être hors de portée de la première question. P(Σ)F(μΣ,ΣΣ)
unziberla
Alors changez la question :-)
Corone

Réponses:

11

Vous pouvez effectuer une mise à jour bayésienne pour la structure de covariance dans le même esprit que vous avez mis à jour la moyenne. Le conjugué a priori pour la matrice de covariance de la normale multivariée est la distribution inverse-Wishart, il est donc logique de commencer par là,

P(Σ)W1(Ψ,ν)

Ensuite, lorsque vous obtenez votre échantillon de longueur vous pouvez calculer l'estimation de covariance de l'échantillon n Σ X = 1XnΣX=1n(Xμ)(Xμ)

Cela peut ensuite être utilisé pour mettre à jour votre estimation de la matrice de covariance

P(Σ|X)W1(nΣX+Ψ,n+ν)

Vous pouvez choisir d'utiliser la moyenne de cette valeur comme estimation ponctuelle de la covariance (Estimateur moyen postérieur)

E[Σ|X]=nΣX+Ψν+np1

ou vous pouvez choisir d'utiliser le mode (Maximum A Posteriori Estimator)

Mode[Σ|X]=nΣX+Ψν+n+p+1

Corone
la source
Merci beaucoup. Maintenant, je suppose que quelque chose va changer dans mon processus d'estimation. Dans un premier temps, je devrais estimer la covariance avec votre procédure, puis ma distribution étant donné l'hypothèse estimée serait et puisque est estimé et a sa propre distribution, je suis sûr que cela changera en quelque sorte ma formule précédente pour calculer (comme cela se produit sur le MLE gaussien lors de l'utilisation de la variance de l'échantillon). P(X|u, Σ ) Σ u nΣ^P(X|μ,Σ^)Σ^μ^n
unziberla
L'approche que vous décrivez serait plutôt d'utiliser afin d'avoir une valeur réelle pour la covariance, comme si je la connaissais auparavant. Dans une approche fréquentiste, cela semblerait faux, mais peut-être y a-t-il quelque chose qui me manque du fait que je suppose que le prieur est connu et que cela rend la procédure correcte? Σ^=E[Σ|x1xn]
unziberla
7

Ok, j'ai trouvé la vraie solution à mon problème. Je le poste même si la bonne réponse à ma question (mal placée) est celle choisie.

Fondamentalement, ma question explique comment estimer la moyenne en connaissant la covariance, et la réponse comment estimer la covariance en connaissant la moyenne. Mais mon problème réel était d'estimer avec les deux paramètres inconnus.

J'ai trouvé la réponse sur Wikipedia avec la dérivation expliquée ici . L'ancien conjugué de la normale multivariée est le normal-inverse-Wishart, qui est essentiellement une distribution sur des normales multivariées.

Les paramètres antérieurs qui doivent être spécifiés sont pour définir la moyenne, pour définir la covariance, et deux valeurs scalaires et qui, je dirais, définissent notre confiance sur l'estimation des deux premiers paramètres respectivement.Ψ κ 0 ν 0μ0Ψκ0ν0

La distribution mise à jour après avoir observé échantillons d'une normale à variables a la formepnp

P(μ,Σ|X)NIW(κ0μ0+nx¯κ0+n,κ0+n,ν0+n,Ψ+C+κ0nκ0+n(x¯μ0)(x¯μ0)T)

x¯=1ni=0nxi

C=i=1n(xix¯)(xix¯)T

donc mes paramètres estimés souhaités sont

E(μ|X)=κ0μ0+nx¯κ0+n
E(Σ|X)=Ψ+C+κ0nκ0+n(x¯μ0)(x¯μ0)Tν0+np1
unziberla
la source