Moje pytanie dotyczy wymaganej liczby symulacji dla metody analizy Monte Carlo. O ile widzę, wymagana liczba symulacji dla dowolnego dopuszczalnego błędu procentowego (np. 5) wynosi n = { 100 ⋅ z c ⋅ std ( x )
gdzie jest odchyleniem standardowym wynikowego próbkowania, a z c jest współczynnikiem poziomu ufności (np. dla 95% jest to 1,96). W ten sposób można sprawdzić, czy wynikowa średnia i odchylenie standardowe n symulacji reprezentują rzeczywistą średnią i odchylenie standardowe przy 95% poziomie ufności.
W moim przypadku przeprowadzam symulację 7500 razy i obliczam średnie ruchowe i odchylenia standardowe dla każdego zestawu 100 próbkowania z 7500 symulacji. Wymagana liczba symulacji, które otrzymuję, jest zawsze mniejsza niż 100, ale% błędu średniej i std w porównaniu do średniej i std całych wyników nie zawsze jest mniejszy niż 5%. W większości przypadków% błędu średniego jest mniejszy niż 5%, ale błąd std wzrasta do 30%.
Jaki jest najlepszy sposób na określenie liczby wymaganych symulacji bez znajomości rzeczywistej średniej i standardowej (w moim przypadku poddany wynik symulacji jest zwykle rozkładem)?
Z góry dziękuję za wszelką pomoc.
Aby mieć pojęcie o tym, jak może wyglądać rozkład wyników symulacji, gdy iteracja jest uruchamiana nieskończoną liczbę razy: Zamiast używać średniej wynikowej i wariancji po liczbie n symulacji, postanowiłem znaleźć funkcję dopasowania rozkładu wynikowego, ale tutaj n musi się wypełnić% dozwolony błąd. Myślę, że w ten sposób mogę znaleźć bardziej poprawne wyniki dotyczące skumulowanej funkcji dystubucji związanej np. Z 97,5%. Ponieważ gdy porównuję wyniki symulacji 400 i 7000, funkcje dopasowania rozkładu dla obu próbkowania wyglądają tak, jakby tylko jedna krzywa drugiej była gładsza. Dlatego też model w MATLAB / Simulink jest nieliniowy, chociaż generowane parametry wejściowe są rozkładem normalnym, wynikowy histogram symulacji nie jest normalny z tego powodu użyłem „uogólnionego rozkładu skrajnych wartości”, która w MATLAB nosi nazwę „gev”. Ale wciąż nie jestem pewien co do tej metodologii, dzięki za każde wcześniejsze polecenie
Odpowiedzi:
Zwykle przeprowadzam badanie konwergencji i określam liczbę wymaganych symulacji, a następnie używam tej liczby w kolejnych symulacjach. Rzucam również ostrzeżenie, jeśli błąd jest większy niż sugerowany przez wybraną liczbę.
Alternatywnie można obliczyć błąd dla każdej symulacji i zatrzymać ją, gdy przekroczy ona określony próg lub zostanie osiągnięta maksymalna liczba ścieżek, gdzie liczba ta została ponownie określona w badaniu konwergencji.
źródło