Szacowanie kowariancji a posteriori rozkładu wielowymiarowego gaussa

15

Muszę „nauczyć się” rozkładu dwuwymiarowego gaussa z kilkoma próbkami, ale dobrą hipotezą na temat wcześniejszego rozkładu, dlatego chciałbym zastosować podejście bayesowskie.

Zdefiniowałem mój wcześniejszy:

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

A mój rozkład wynika z hipotezy

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

Teraz wiem dzięki tutaj , aby oszacować średnią z danych

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

Potrafię obliczyć:

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

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

Teraz pojawia się pytanie, może się mylę, ale wydaje mi się, że jest tylko macierzą kowariancji dla parametru szacunkowego μ n , a nie szacunkową kowariancją moich danych. Chciałbym też obliczyćΣnμn

P(Σn1|x1,,xn)

w celu uzyskania w pełni określonej dystrybucji wyciągniętej z moich danych.

czy to możliwe? Czy to już rozwiązane przez obliczenia Σn i to właśnie wyraża się w niewłaściwy sposób powyższego wzoru (albo ja po prostu misentrepreting go)? Referencje będą mile widziane. Wielkie dzięki.

EDYTOWAĆ

Z komentarzy wynika, że ​​moje podejście było „złe”, w tym sensie, że zakładałem stałą kowariancję określoną przez . Muszę też nadać temu pierwszeństwo, P ( Σ )ΣP(Σ) , ale nie wiem, jakiej dystrybucji powinienem użyć, a następnie jaka jest procedura jej aktualizacji.

unziberla
źródło
Określiłeś już kowariancję swoich danych jako - i nie określiłeś wcześniejszego rozkładu dla tego, który ma być aktualizowany? Σ=[180018]
Corone
Rozumiem co masz na myśli. Tak więc z moim podejściem zasadniczo założyłem, że wariancja jest stała i określona. Jeśli chcę to oszacować, potrzebuję wcześniej. Teraz moim problemem jest to, że nie jest jasne, jak to zdefiniować i jaki byłby dla niego odpowiedni rozkład, ale wydaje się, że jest to poza zakresem pierwszego pytania . P(Σ)F(μΣ,ΣΣ)
unziberla
Następnie zmień pytanie :-)
Corone

Odpowiedzi:

11

Możesz wykonać aktualizację bayesowską dla struktury kowariancji w takim samym duchu, jak zaktualizowałeś średnią. Pierwszym sprzężonym dla macierzy kowariancji normalnej wielowymiarowej jest rozkład odwrotny-Wishart, więc warto zacząć od tego,

P(Σ)W1(Ψ,ν)

Następnie, gdy otrzymasz próbkę o długości n , możesz obliczyć szacunkową kowariancję próbki Σ X = 1XnΣX=1n(Xμ)(Xμ)

Można to następnie wykorzystać do zaktualizowania oszacowania macierzy kowariancji

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

Możesz użyć tej średniej jako oszacowania punktowego dla kowariancji (Estymator średniej tylnej)

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

lub możesz użyć trybu (Maximum A Posteriori Estimator)

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

Corone
źródło
Σ^P(X|μ,Σ^)Σ^μ^n
Zamiast tego należy zastosować podejście, które opisujesz Σ^=mi[Σ|x1xn]tak, że mam rzeczywistą wartość kowariancji, tak jakbym to wiedział wcześniej. W podejściu częstokierunkowym zabrzmiałoby to niewłaściwie, ale może jest coś, czego brakuje mi w tym, że zakładam, że przeor jest znany, a to sprawia, że ​​procedura jest poprawna?
unziberla
7

Ok, znalazłem prawdziwe rozwiązanie mojego problemu. Zamieszczam je, nawet jeśli wybrano prawidłową odpowiedź na moje (niewłaściwe) pytanie.

Zasadniczo moje pytanie wyjaśnia, jak oszacować średnią znając kowariancję, i odpowiedź, jak oszacować kowariancję znając średnią. Ale moim rzeczywistym problemem było oszacowanie przy nieznanych obu parametrach.

Znalazłem odpowiedź na Wikipedii z wyjaśnieniem pochodnej tutaj . Sprzężony przed normalnym wielowymiarowym normalnym jest normalna-odwrotna-Wishart, który jest w zasadzie rozkładem na normalne wielowymiarowe.

Wymagane są wcześniejsze parametry μ0 zdefiniować średnią, Ψ aby zdefiniować kowariancję i dwie wartości skalarne κ0 i ν0 Powiedziałbym, że określ, jak jesteśmy pewni szacowania odpowiednio pierwszych dwóch parametrów.

Zaktualizowany rozkład po obserwacji n próbki a p-variate Normal ma postać

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
źródło