W takim przypadku można rozważyć przybliżenie prawdopodobieństwa ABC (aw konsekwencji MLE ) przy następujących założeniach / ograniczeniach:
Założenie. Oryginalny rozmiar próbki jest znany.n
Nie jest to dzikie założenie, biorąc pod uwagę, że jakość zbieżnych estymatorów pod względem zbieżności zależy od wielkości próby, dlatego nie można uzyskać arbitralnie dobrych estymatorów bez znajomości pierwotnej wielkości próby.
Chodzi o to, aby wygenerować próbkę z tylnego rozkładu a aby uzyskać przybliżenie MLE , można użyć ważnej techniki próbkowania jak w [1] lub rozważyć jednolity przed θ z poparciem na odpowiednim ustaw jak w [2] .θθ
Opiszę tę metodę w [2]. Przede wszystkim opiszę sampler ABC.
ABC Sampler
Niech będzie modelem, który generuje próbkę, gdzie θ ∈ Θ jest parametrem (do oszacowania), T jest statystyką (funkcją próbki), a T 0 jest statystyką obserwowaną, w żargonie ABC nazywa się to statystyką podsumowującą , ρ być metryką, π ( θ ) wcześniejszy rozkład na θ i ϵ > 0 tolerancją. Następnie próbnik odrzucania ABC można zaimplementować w następujący sposób.f(⋅|θ)θ∈ΘTT0ρπ(θ)θϵ>0
- Próbka z π ( ⋅ ) .θ∗π(⋅)
- Wygeneruj próbkę o rozmiarze n z modelu f ( ⋅ | θ ∗ ) .xnf(⋅|θ∗)
- Oblicz .T∗=T(x)
- Jeśli , zaakceptuj θ ∗ jako symulację z tyłu θ .ρ(T∗,T0)<ϵθ∗θ
Algorytm ten generuje przybliżoną próbkę z rozkładu tylnego danej T ( x ) = T 0 . Dlatego najlepszym scenariuszem jest sytuacja, w której statystyka T jest wystarczająca, ale można zastosować inne statystyki. Bardziej szczegółowy opis tego znajduje się w tym dokumencie .θT(x)=T0T
Teraz, w ogólnym kontekście, jeśli ktoś użyje jednolitego przeora, który zawiera MLE w swoim wsparciu, wówczas Maximum a posteriori (MAP) pokrywa się z estymatorem Maximum Likelihood Estimator (MLE). Dlatego jeśli weźmiesz pod uwagę odpowiedni mundur wcześniej w Próbniku ABC, możesz wygenerować przybliżoną próbkę rozkładu tylnego, którego MAP pokrywa się z MLE. Pozostały krok polega na oszacowaniu tego trybu. Problem ten został omówiony w CV, na przykład w „Wydajnie obliczeniowym oszacowaniu trybu wielowymiarowego” .
Przykład zabawki
Niech jest próbką z N ( ľ , 1 ), i załóżmy, że tylko informacja dostępna z tej próbki jest ˉ x = 1(x1,...,xn)N(μ,1). Niechρbędzie miarą euklidesową wR,aϵ=0,001. Poniższy kod R pokazuje, jak uzyskać przybliżony MLE przy użyciu metod opisanych powyżej, stosując symulowaną próbkę on=100iμ=0, próbkę rozkładu tylnego o wielkości1000, jednolity wcześniej dlaμon(-0,3,0,3)oraz estymator gęstości jądra do oszacowania trybu próbki tylnej (MAP = MLE).x¯=1n∑nj=1xjρRϵ=0.001n=100μ=01000μ(−0.3,0.3)
rm(list=ls())
# Simulated data
set.seed(1)
x = rnorm(100)
# Observed statistic
T0=mean(x)
# ABC Sampler using a uniform prior
N=1000
eps = 0.001
ABCsamp = rep(0,N)
i=1
while(i<N+1){
u = runif(1,-0.3,0.3)
t.samp = rnorm(100,u,1)
Ts = mean(t.samp)
if(abs(Ts-T0)<eps){
ABCsamp[i]=u
i=i+1
print(i)
}
}
# Approximation of the MLE
kd = density(ABCsamp)
kd$x[which(kd$y==max(kd$y))]
Jak widać, przy małej tolerancji uzyskujemy bardzo dobre przybliżenie MLE (które w tym trywialnym przykładzie można obliczyć ze statystyki, biorąc pod uwagę, że jest wystarczające). Należy zauważyć, że wybór statystyki podsumowującej ma kluczowe znaczenie. Kwantyle są zazwyczaj dobrym wyborem dla statystyki podsumowującej, ale nie wszystkie wybory dają dobre przybliżenie. Może się zdarzyć, że statystyki podsumowujące nie są zbyt pouczające, a zatem jakość aproksymacji może być niska, co jest dobrze znane w społeczności ABC.
Aktualizacja: Podobne podejście opublikowano niedawno w Fan et al. (2012) . Zobacz ten wpis, aby uzyskać dyskusję na papierze.