Robię eksperyment liczbowy, który polega na próbkowaniu logarytmicznego rozkładu i próbuję oszacować momenty dwiema metodami:
- Patrząc na średnią próbną
- Oszacowanie i przy użyciu przykładowych środków dla , a następnie wykorzystując fakt, że dla rozkładu logarytmicznego mamy .
Pytanie brzmi :
Odkryłem eksperymentalnie, że druga metoda działa znacznie lepiej niż pierwsza, gdy utrzymuję stałą liczbę próbek i zwiększam o jakiś czynnik T. Czy istnieje jakieś proste wytłumaczenie tego faktu?
Dołączam cyfrę, na której oś x to T, zaś oś y to wartości porównujące prawdziwe wartości (pomarańczowa linia), do wartości szacunkowych. metoda 1 - niebieskie kropki, metoda 2 - zielone kropki oś y jest w skali logarytmicznej
EDYTOWAĆ:
Poniżej znajduje się minimalny kod Mathematica do wygenerowania wyników dla jednego T, z wynikiem:
ClearAll[n,numIterations,sigma,mu,totalTime,data,rmomentFromMuSigma,rmomentSample,rmomentSample]
(* Define variables *)
n=2; numIterations = 10^4; sigma = 0.5; mu=0.1; totalTime = 200;
(* Create log normal data*)
data=RandomVariate[LogNormalDistribution[mu*totalTime,sigma*Sqrt[totalTime]],numIterations];
(* the moment by theory:*)
rmomentTheory = Exp[(n*mu+(n*sigma)^2/2)*totalTime];
(*Calculate directly: *)
rmomentSample = Mean[data^n];
(*Calculate through estimated mu and sigma *)
muNumerical = Mean[Log[data]]; (*numerical \[Mu] (gaussian mean) *)
sigmaSqrNumerical = Mean[Log[data]^2]-(muNumerical)^2; (* numerical gaussian variance *)
rmomentFromMuSigma = Exp[ muNumerical*n + (n ^2sigmaSqrNumerical)/2];
(*output*)
Log@{rmomentTheory, rmomentSample,rmomentFromMuSigma}
Wydajność:
(*Log of {analytic, sample mean of r^2, using mu and sigma} *)
{140., 91.8953, 137.519}
powyżej, drugi wynik to średnia próbki , która jest poniżej dwóch pozostałych wyników