Estimando a distribuição posterior da covariância de um gaussiano multivariado

15

Eu preciso "aprender" a distribuição de um gaussiano bivariado com poucas amostras, mas uma boa hipótese sobre a distribuição anterior, então eu gostaria de usar a abordagem bayesiana.

Eu defini o meu anterior:

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

E minha distribuição, dada a hipótese

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

Agora eu sei, graças a aqui, que para estimar a média dada os dados

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

Eu posso calcular:

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

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

Agora vem a pergunta, talvez eu esteja errado, mas parece-me que é apenas a matriz de covariância para estimou o parâmetro μ n , e não a covariância estimada dos meus dados. O que eu gostaria seria calcular tambémΣnμn

P(Σn1|x1,,xn)

para que uma distribuição totalmente especificada seja aprendida com meus dados.

Isso é possível? Está já resolvido pelo cálculo e é apenas expresso de forma errada a fórmula acima (ou estou simplesmente misentrepreting-lo)? Referências seriam apreciadas. Muito obrigado.Σn

EDITAR

Pelos comentários, parecia que minha abordagem estava "errada", no sentido de que eu estava assumindo uma covariância constante, definida por . O que eu preciso seria colocar um prior também, P ( Σ ) , mas não sei qual distribuição devo usar e, posteriormente, qual é o procedimento para atualizá-la.ΣP(Σ)

unziberla
fonte
Você já especificou a covariância de seus dados como - e não especificou uma distribuição anterior para atualização a partir disso? Σ=[180018]
Corone
Eu entendo o seu ponto. Portanto, com minha abordagem, basicamente assumi que a variação era constante e especificada. Se eu quiser estimar, preciso de um prévio. Agora, meu problema é que não está claro como defini-lo e qual seria uma distribuição apropriada para ele, mas isso parece estar fora do escopo da primeira pergunta . P(Σ)F(μΣ,ΣΣ)
Unziberla
Em seguida, mude a pergunta :-)
Corone 26/02

Respostas:

11

Você pode fazer atualizações bayesianas para a estrutura de covariância do mesmo modo que atualizou a média. O conjugado anterior para a matriz de covariância do normal multivariado é a distribuição Inverse-Wishart, por isso faz sentido começar por aí,

P(Σ)W1(Ψ,ν)

Então, quando você obtiver sua amostra de comprimento n, poderá calcular a estimativa de covariância da amostra Σ X = 1XnΣX=1n(Xμ)(Xμ)

Isso pode ser usado para atualizar sua estimativa da matriz de covariância

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

Você pode optar por usar a média disso como sua estimativa pontual para a covariância (estimador médio posterior)

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

ou você pode optar por usar o modo (Máximo A estimador posterior)

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

Corone
fonte
Σ^P(X|μ,Σ^)Σ^ is estimated and has its own distribution I am pretty sure this will somehow change my previous formula to compute μ^n (as it happens on gaussian MLE when using the sample variance).
unziberla
The approach that you describe would be instead to use Σ^=E[Σ|x1xn] so that I have an actual value for the covariance, as if I knew it before. In a frequentist approach, this would sound wrong, but maybe there is something that I am missing from the fact that I assume the prior is known and this makes the procedure correct?
unziberla
7

Ok, I found the real solution for my problem. I am posting it even if the correct answer to my (misplaced) question is the one selected.

Basically, my question explains how to estimate the mean knowing the covariance, and the answer how to estimate the covariance knowing the mean. But my actual problem was estimating with both parameters unknown.

I found the answer on Wikipedia with the derivation explained here. The multivariate normal's conjugated prior is the Normal-inverse-Wishart, that is basically a distribution over multivariate Normals.

The prior parameters that need to be specified are μ0 to define the mean, Ψ to define the covariance, and two scalar values κ0 and ν0 that I would say define how confident we are on the estimation of the first two parameters respectively.

The updated distribution after observing n samples of a p-variate Normal has the form

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

where

x¯=1ni=0nxi

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

so my desired estimated parameters are

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