Metoda statičnega modeliranja formul Monte Carlo. Kako se izvaja simulacija Monte Carlo. V razmerju "objekt-model" ni konceptov

Enciklopedični YouTube

    1 / 5

    ✪ RuleOfThumb - metoda Monte Carlo

    ✪ Dmitry Kazakov - Quarks

    ✪ [Kolokvij]: Briljantnost in revščina matematičnih metod v aplikativnem raziskovanju

    ✪ Predavanje 1: Računske napake

    ✪ Elena Brown - Mit o Richardu III

    Podnapisi

Zgodba

Buffonov algoritem za določanje Pi

Število metov Število križišč Dolžina igle Razdalja med črtami Rotacija Pi vrednost Napaka
Prvi poskus 500 236 3 4 odsoten 3.1780 +3,6⋅10 -2
Drugi poskus 530 253 3 4 prisoten 3.1423 +7,0⋅10 -4
Tretji poskus 590 939 5 2 prisoten 3.1416 +4,7⋅10 -5

Komentarji:

Povezava med stohastičnimi procesi in diferencialnimi enačbami

Ustvarjanje matematičnega aparata stohastičnih metod se je začelo konec 19. stoletja. Leta 1899 je Lord Rayleigh pokazal, da bi lahko enodimenzionalni naključni sprehod po neskončni mreži dal približno rešitev neke vrste parabolične diferencialne enačbe. Andrej Nikolajevič Kolmogorov je leta 1931 dal velik zagon razvoju stohastičnih pristopov k reševanju različnih matematičnih problemov, saj mu je uspelo dokazati, da so Markovljeve verige povezane z nekaterimi integro-diferencialnimi enačbami. Leta 1933 je Ivan Georgijevič Petrovski pokazal, da je naključni sprehod, ki tvori Markovljevo verigo, asimptotično povezan z rešitvijo eliptične parcialne diferencialne enačbe. Po teh odkritjih je postalo jasno, da je mogoče stohastične procese opisati z diferencialnimi enačbami in jih ustrezno preučevati z uporabo takrat dobro razvitih matematičnih metod za reševanje teh enačb.

Rojstvo metode Monte Carlo v Los Alamosu

Idejo je razvil Ulam, ki se je med igranjem pasjanse, medtem ko je okreval po bolezni, spraševal, kakšna je verjetnost, da se bo pasjansa obnesla. Namesto uporabe običajnih kombinatoričnih premislekov za takšne težave je Ulam predlagal, da bi lahko poskus preprosto izvedli velikokrat in s štetjem števila uspešnih rezultatov ocenili verjetnost. Predlagal je tudi uporabo računalnikov za izračune Monte Carlo.

Pojav prvih elektronskih računalnikov, ki so lahko generirali psevdonaključna števila z veliko hitrostjo, je dramatično razširil obseg problemov, za katere se je izkazalo, da je stohastični pristop učinkovitejši od drugih matematičnih metod. Po tem je prišlo do velikega preboja in metoda Monte Carlo je bila uporabljena pri številnih problemih, vendar njena uporaba ni bila vedno upravičena zaradi velikega števila izračunov, potrebnih za pridobitev odgovora z dano natančnostjo.

Za rojstno leto metode Monte Carlo štejemo leto 1949, ko je bil objavljen članek Metropolisa in Ulama »Metoda Monte Carlo«. Ime metode izhaja iz imena komune v kneževini Monako, ki je znana po številnih igralnicah, saj je ruleta eden najbolj znanih generatorjev naključnih števil. Stanislaw Ulam v svoji avtobiografiji Adventures of a Mathematician piše, da je ime predlagal Nicholas Metropolis v čast svojemu stricu, ki je bil hazarder.

Nadaljnji razvoj in sodobnost

Monte Carlo integracija

Recimo, da moramo vzeti integral neke funkcije. Uporabimo neformalen geometrijski opis integrala in ga razumejmo kot ploščino pod grafom te funkcije.

Za določitev tega območja lahko uporabite eno od običajnih metod numerične integracije: segment razdelite na podsegmente, izračunajte površino pod grafom funkcije na vsakem od njih in seštejte. Predpostavimo, da je za funkcijo, predstavljeno na sliki 2, dovolj, da jo razdelimo na 25 segmentov in tako izračunamo 25 vrednosti funkcije. Predstavljajmo si zdaj, da imamo opravka z n (\displaystyle n)-dimenzijska funkcija. Potem potrebujemo 25 n (\displaystyle 25^(n)) segmentov in enako število izračunov vrednosti funkcije. Ko je dimenzija funkcije večja od 10, postane problem ogromen. Ker se visokodimenzionalni prostori pojavljajo zlasti pri problemih teorije strun, pa tudi pri številnih drugih fizikalnih problemih, kjer obstajajo sistemi z veliko prostostnimi stopnjami, je potrebna metoda rešitve, katere računska kompleksnost ni tako močno odvisna od razsežnost. Prav to je lastnost metode Monte Carlo.

Običajni integracijski algoritem Monte Carlo

Recimo, da morate izračunati določen integral ∫ a b f (x) d x (\displaystyle \int \limits _(a)^(b)f(x)\,dx)

Upoštevajte naključno spremenljivko u (\displaystyle u), enakomerno porazdeljen na integracijskem intervalu. Potem bo tudi naključna spremenljivka, njeno matematično pričakovanje pa je izraženo kot
E f (u) = ∫ a b f (x) φ (x) d x (\displaystyle \mathbb (E) f(u)=\int \limits _(a)^(b)f(x)\varphi (x) \,dx), Kje φ (x) (\displaystyle \varphi (x))- gostota porazdelitve naključne spremenljivke u (\displaystyle u), enako 1 b − a (\displaystyle (\frac (1)(b-a))) Lokacija vklopljena [a, b] (\displaystyle).

Tako je zahtevani integral izražen kot
∫ a b f (x) d x = (b − a) E f (u) (\displaystyle \int \limits _(a)^(b)f(x)\,dx=(b-a)\mathbb (E) f( u)).

Toda matematično pričakovanje naključne spremenljivke f (u) (\displaystyle f(u)) je mogoče enostavno oceniti s simulacijo te naključne spremenljivke in izračunom vzorčne sredine.

Torej, nehajmo N (\displaystyle N) točke enakomerno porazdeljene [a, b] (\displaystyle), za vsako točko u i (\displaystyle u_(i)) izračunati f (u i) (\displaystyle f(u_(i))). Nato izračunamo vzorčno povprečje: 1 N ∑ i = 1 N f (u i) (\displaystyle (\frac (1)(N))\sum _(i=1)^(N)f(u_(i))).

Kot rezultat dobimo oceno integrala: ∫ a b f (x) d x ≈ b − a N ∑ i = 1 N f (u i) (\displaystyle \int \limits _(a)^(b)f(x)\,dx\approx (\frac (b-a) (N))\vsota _(i=1)^(N)f(u_(i)))

Natančnost ocene je odvisna le od števila točk N (\displaystyle N).

Ta metoda ima tudi geometrijsko razlago. Je zelo podobna deterministični metodi, opisani zgoraj, s to razliko, da namesto enakomerne razdelitve integracijskega območja na majhne intervale in seštevanja območij nastalih "stolpcev", vržemo naključne točke na integracijsko območje, na vsako od katerih zgradite isti "stolpec" in določite njegovo širino Kako b − a N (\displaystyle (\frac (b-a)(N))), in seštejte njihova področja.

Geometrični integracijski algoritem Monte Carlo

Za določitev površine pod grafom funkcije lahko uporabite naslednji stohastični algoritem:

Pri majhnem številu dimenzij integrabilne funkcije je zmogljivost Monte Carlo integracije veliko nižja od zmogljivosti determinističnih metod. Vendar pa je v nekaterih primerih, ko je funkcija podana implicitno in je treba določiti območje, podano v obliki kompleksnih neenakosti, morda bolj priporočljiva stohastična metoda.

Uporaba vzorčenja pomembnosti

Z enakim številom naključnih točk lahko povečamo natančnost izračunov tako, da območje, ki omejuje želeno funkcijo, približamo funkciji sami. Za to je potrebno uporabiti naključne spremenljivke s porazdelitvijo, katere oblika je čim bližja obliki funkcije, ki jo integriramo. To je osnova ene od metod za izboljšanje konvergence v izračunih Monte Carlo: vzorčenje pomembnosti.

Optimizacija

Različice metode Monte Carlo se lahko uporabljajo za reševanje problemov optimizacije. Na primer algoritem simuliranega žarjenja.

Uporaba v fiziki

Računalniška simulacija igra pomembno vlogo v sodobni fiziki in metoda Monte Carlo je ena najpogostejših na številnih področjih od kvantne fizike do fizike trdne snovi, fizike plazme in astrofizike.

Metropolis algoritem

Tradicionalno se metoda Monte Carlo uporablja za določanje različnih fizikalnih parametrov sistemov v stanju termodinamičnega ravnovesja. Predpostavimo, da obstaja množica možnih stanj fizičnega sistema S (\displaystyle S). Za določitev povprečne vrednosti A ¯ (\displaystyle (\overline (A))) nekaj velikosti A (\displaystyle A) je treba izračunati A ¯ = ∑ S A (S) P (S) (\displaystyle (\overline (A))=\sum _(S)A(S)P(S)), kjer se seštevanje izvaja po vseh stanjih S (\displaystyle S) od W (S) (\displaystyle W(S)), P (S) (\displaystyle P(S))- verjetnost stanja S (\displaystyle S).

Dinamična (kinetična) formulacija

Neposredna simulacija Monte Carlo

Neposredno Monte Carlo modeliranje katerega koli fizičnega procesa vključuje modeliranje obnašanja posameznih elementarnih delov fizičnega sistema. V bistvu je to neposredno modeliranje blizu rešitve problema iz prvih principov, vendar je običajno za pospešitev izračunov dovoljena uporaba nekaterih fizikalnih približkov. Primer je izračun različnih procesov z uporabo metode molekularne dinamike: po eni strani je sistem opisan skozi obnašanje njegovih elementarnih komponent, po drugi strani pa je uporabljeni interakcijski potencial pogosto empiričen.

Primeri neposredne simulacije Monte Carlo:

  • Modeliranje obsevanja trdnih teles z ioni v približku binarnih trkov.
  • Neposredna Monte Carlo simulacija redkih plinov.
  • Večina kinetičnih modelov Monte Carlo je neposrednih (zlasti študija epitaksije z molekularnim žarkom).

Kvantna metoda Monte Carlo

Kvantna metoda Monte Carlo se pogosto uporablja za preučevanje kompleksnih molekul in trdnih snovi. To ime združuje več različnih metod. Prva med njimi je variacijska metoda Monte Carlo, ki je v bistvu numerična integracija večdimenzionalnih integralov, ki nastanejo pri reševanju Schrödingerjeve enačbe. Reševanje problema, ki vključuje 1000 elektronov, zahteva 3000-dimenzionalne integrale in za reševanje takšnih problemov ima metoda Monte Carlo veliko prednost pred drugimi metodami numerične integracije. Druga različica metode Monte Carlo je difuzijska metoda Monte Carlo.

Predavanje 5.

Metoda Monte Carlo

Tema 3. Čakalne vrste procesov v ekonomskih sistemih

1. Uvodne opombe. 1

2. Splošna shema metode Monte Carlo. 2

3. Primer izračuna čakalne vrste po metodi Monte Carlo. 4

Testna vprašanja... 5

1. Uvodne opombe

Metoda statističnega modeliranja na računalniku je glavna metoda pridobivanja rezultatov z uporabo simulacijskih modelov stohastičnih sistemov, pri čemer kot teoretično osnovo uporabljajo mejne izreke teorije verjetnosti. Osnova je statistična testna metoda Monte Carlo.

Metodo Monte Carlo lahko opredelimo kot metodo simulacije naključnih spremenljivk, da bi izračunali značilnosti njihovih porazdelitev. Praviloma se domneva, da se modeliranje izvaja z uporabo elektronskih računalnikov (računalnikov), čeprav je v nekaterih primerih uspeh mogoče doseči z napravami, kot so merilni trak, svinčnik in papir.

Izraz "metoda Monte Carlo" (skoval J. von Neumann in v štiridesetih letih prejšnjega stoletja) se nanaša na simulacijo procesov z uporabo generatorja naključnih števil. Izraz Monte Carlo (mesto, znano po svojih igralnicah) izhaja iz dejstva, da je bilo "število kvot" (simulacijske tehnike Monte Carlo) uporabljeno za iskanje integralov kompleksnih enačb pri razvoju prvih jedrskih bomb ( integrali kvantne mehanike). Z generiranjem velikih vzorcev naključnih števil iz na primer več porazdelitev je mogoče integrale teh (kompleksnih) porazdelitev približati iz (generiranih) podatkov.


Pojav ideje o uporabi naključnih pojavov na področju približnih izračunov običajno pripisujemo letu 1878, ko se je pojavilo Hallovo delo o določanju števil p z naključnim metanjem igle na papir, označen z vzporednimi črtami. Bistvo zadeve je eksperimentalno reproducirati dogodek, katerega verjetnost je izražena s številom p, in to verjetnost približno oceniti.

Domača dela o metodi Monte Carlo so se pojavila v letih. V dveh desetletjih se je po metodi Monte Carlo nabrala obsežna bibliografija, ki obsega več kot 2000 naslovov. Še več, že hiter pogled na naslove del omogoča sklep o uporabnosti metode Monte Carlo za reševanje aplikativnih problemov iz velikega števila področij znanosti in tehnologije.

Sprva se je metoda Monte Carlo uporabljala predvsem za reševanje problemov nevtronske fizike, kjer so se tradicionalne numerične metode izkazale za malo uporabne. Nadalje se je njegov vpliv razširil na širok razred problemov v statistični fiziki, ki so po vsebini zelo različni. Veje znanosti, kjer se metoda Monte Carlo vse bolj uporablja, so problemi teorije čakalne vrste, problemi teorije iger in matematične ekonomije, problemi teorije prenosa sporočil ob prisotnosti motenj in številni drugi.

Metoda Monte Carlo je imela in še vedno pomembno vpliva na razvoj metode računalniške matematike (na primer na razvoj metod numerične integracije) in se pri reševanju številnih problemov uspešno kombinira z drugimi računalniškimi metodami in jih dopolnjuje. . Njegova uporaba je upravičena predvsem pri tistih problemih, ki omogočajo verjetnostni teoretični opis. To je razloženo tako z naravno pridobitvijo odgovora z določeno dano verjetnostjo pri problemih z verjetno vsebino kot s pomembno poenostavitvijo postopka reševanja. Težavnost reševanja določenega problema na računalniku je v veliki meri odvisna od težavnosti njegovega prevajanja v »jezik« stroja. Ustvarjanje samodejnih programskih jezikov je bistveno poenostavilo eno od faz tega dela. Zato so trenutno najtežje faze: matematični opis preučevanega pojava, potrebne poenostavitve problema, izbira primerne numerične metode, študija njene napake in zapis algoritma. V primerih, ko obstaja verjetnostno-teoretični opis problema, lahko uporaba metode Monte Carlo bistveno poenostavi omenjene vmesne faze. Vendar, kot bo sledilo iz tega, kar sledi, je v mnogih primerih koristno tudi za strogo deterministične probleme zgraditi verjetnostni model (randomizirati prvotni problem) za nadaljnjo uporabo metode Monte Carlo.

2. Splošna shema metode Monte Carlo

Recimo, da moramo izračunati neko neznano količino m in to želimo storiti tako, da upoštevamo naključno spremenljivko tako, da je njeno matematično pričakovanje M, = m. Naj bo varianca te naključne spremenljivke D = b.

Oglejmo si N naključnih neodvisnih spremenljivk,,..., katerih porazdelitve sovpadajo s porazdelitvijo obravnavane naključne spremenljivke ξ..gif" width="247" height="48">

Zadnjo relacijo lahko prepišemo kot

Dobljena formula podaja metodo za izračun m in oceno napake te metode.

Bistvo uporabe metode Monte Carlo je določitev rezultatov na podlagi statističnih podatkov, pridobljenih v času sprejemanja določene odločitve.

Na primer. Naj sta E1 in E2 edini dve možni izvedbi nekega naključnega procesa in je p1 verjetnost izida E1, p2 = 1 – p1 pa verjetnost izida E2. Da ugotovimo, kateri od obeh dogodkov, e1 ali E2, se zgodi v tem primeru, vzamemo naključno število v intervalu med 0 in 1, enakomerno porazdeljeno v intervalu (0, 1), in izvedemo test. Izid E1 bo nastopil, če bo , izid E2 pa bo nastopil v nasprotnem primeru.

Tako je zanesljivost rezultatov, dobljenih z metodo Monte Carlo, odločilno odvisna od kakovosti generatorja naključnih števil.

Za pridobivanje naključnih števil na računalniku se uporabljajo metode generiranja, ki običajno temeljijo na večkratnem ponavljanju določene operacije. Tako dobljeno zaporedje je bolj primerno imenovati psevdonaključna števila, saj je generirano zaporedje periodično in se bodo od določenega trenutka dalje števila začela ponavljati. To izhaja iz dejstva, da je v računalniško kodo mogoče zapisati le končno število različnih števil. Posledično bo na koncu eno od generiranih števil γ1 sovpadalo z enim od prejšnjih členov zaporedja γL. In ker se ustvarjanje izvaja po formuli obrazca


γk+1 = F(γk),

od tega trenutka naprej se preostali členi zaporedja ponavljajo.

Uporaba enakomerno porazdeljenih naključnih števil je osnova simulacije Monte Carlo. Lahko rečemo, da če je bila določena naključna spremenljivka določena z metodo Monte Carlo, potem je bilo za izračun uporabljeno zaporedje enakomerno porazdeljenih naključnih števil.

Enakomerno porazdeljena naključna števila segajo od 0 do 1 in so izbrana naključno glede na porazdelitveno funkcijo

F(x) = Рr(Х< х} = х, .

S to porazdelitvijo je enako verjetna pojavnost katere koli vrednosti naključne spremenljivke v intervalu (0, 1). Tukaj Pr(X< х} - вероятность того, что случайная величина X примет значение меньше х.

Glavna metoda pridobivanja naključnih števil je njihova modulna generacija. Naj bodo m, a, c, x0 cela števila, taka da je m > x0 in a, c, x0 > 0. Psevdonaključno število xi iz zaporedja (xi) dobimo z uporabo povratne relacije

xi = a xi-1 + c (mod m).

Stohastične značilnosti generiranih števil so odločilno odvisne od izbire m, a in c. Njihova slaba izbira vodi do napačnih rezultatov v simulacijah Monte Carlo.

Numerične simulacije pogosto zahtevajo veliko število naključnih števil. Zato mora biti obdobje zaporedja generiranih naključnih števil, po katerem se zaporedje začne ponavljati, precej veliko. Biti mora bistveno večje od števila naključnih števil, potrebnih za modeliranje, sicer bodo dobljeni rezultati popačeni.

Večina računalnikov in programskih paketov vsebuje generator naključnih števil. Vendar večina statističnih testov kaže korelacijo med dobljenimi naključnimi številkami.

Obstaja hiter test, s katerim lahko preverite vsak generator. Kakovost generatorja naključnih števil je mogoče dokazati z zapolnitvijo popolnoma d-dimenzionalne mreže (na primer dvo- ali tridimenzionalne). Dober generator mora zapolniti celoten prostor hiperkocke.

Drug približen način za preverjanje enakomernosti porazdelitve N naključnih števil xi je izračun njihovega matematičnega pričakovanja in variance. Po tem kriteriju morajo biti za enakomerno porazdelitev izpolnjeni naslednji pogoji:

Obstaja veliko statističnih testov, s katerimi lahko preverimo, ali bo zaporedje naključno. Spektralni kriterij velja za najbolj natančnega. Na primer, zelo pogost kriterij, imenovan KS kriterij ali Kolmogorov-Smirnov kriterij. Preverjanje pokaže, da na primer generator naključnih števil v Excelovih preglednicah ne izpolnjuje tega kriterija.

V praksi je glavna težava sestaviti preprost in zanesljiv generator naključnih števil, ki ga lahko uporabite v svojih programih. Za to je predlagan naslednji postopek.

Na začetku programa se celotni spremenljivki X priredi določena vrednost X0. Nato se generirajo naključna števila v skladu s pravilom

X = (aX + c) mod m. (1)

Pri izbiri parametrov je treba upoštevati naslednja osnovna načela.

1. Začetno število X0 lahko izberemo poljubno. Če se program uporablja večkrat in vsakič zahteva različne vire naključnih števil, lahko na primer X0 dodelite vrednost X, ki je bila nazadnje pridobljena v prejšnjem zagonu.

2. Število m mora biti veliko, na primer 230 (saj to število določa obdobje generiranega psevdonaključnega zaporedja).

3. Če je m potenca dvojke, izberite tako, da je a mod8 = 5. Če je m potenca števila deset, izberite tako, da a mod10 = 21. Ta izbira zagotavlja, da bo generator naključnih števil ustvaril vseh m možnih vrednosti, preden se začnejo ponavljati.

4.Množilec A prednostna izbira je med 0,01 m in 0,99 m, njegove binarne ali decimalne številke pa ne smejo imeti preproste pravilne strukture. Množitelj mora prestati spektralni kriterij in po možnosti več drugih kriterijev.

5. Če a je dober množitelj, vrednost c ni pomembna, razen da c ne bi smel imeti skupnega množitelja z m, če je m velikost računalniške besede. Izberete lahko na primer c = 1 ali c = a.

6. Ustvarite lahko največ m/1000 naključnih števil. Po tem je treba uporabiti novo vezje, na primer nov množitelj A.

Našteta pravila se nanašajo predvsem na strojni programski jezik. Za visokonivojski programski jezik, kot je C++, se pogosto uporablja druga možnost (1): izbere se praštevilo m, ki je blizu največjemu lahko izračunljivemu celemu številu, vrednost a je nastavljena tako, da je enaka protiizpeljanemu korenu od m, c pa je enak nič. Na primer, lahko vzamete a= 48271 in t =

3. Primer izračuna čakalne vrste po metodi Monte Carlo

Oglejmo si najenostavnejši čakalni sistem (QS), ki je sestavljen iz n linij (sicer jih imenujemo kanali ali storitvene točke). Ob naključnih trenutkih se zahteve prejmejo v sistem. Vsaka prijava prispe na linijo št. 1. Če je v času prejema videza Tk ta linija prosta, se aplikacija servisira v času t3 (čas zasedenosti linije). Če je linija zasedena, se zahteva takoj prenese na linijo št. 2 itd. Če je vseh n linij trenutno zasedenih, potem sistem izda zavrnitev.

Naravna naloga je določiti značilnosti danega sistema, po katerih je mogoče oceniti njegovo učinkovitost: povprečni čas čakanja na storitev, odstotek izpadov sistema, povprečna dolžina čakalne vrste itd.

Za takšne sisteme je praktično edina metoda izračunavanja metoda Monte Carlo.

https://pandia.ru/text/78/241/images/image013_34.gif" width="373" height="257">

Algoritmi se uporabljajo za pridobivanje naključnih števil na računalniku, zato takšna zaporedja, ki so v bistvu deterministična, imenujemo psevdonaključna. Računalnik operira z n-bitnimi števili, zato se namesto zvezne zbirke enotnih naključnih števil intervala (0,1) na računalniku uporablja diskretno zaporedje 2n naključnih števil istega intervala - porazdelitveni zakon tako diskretno zaporedje imenujemo kvazienakomerna porazdelitev.

Zahteve za idealen generator naključnih števil:

1. Zaporedje mora biti sestavljeno iz kvazienakomerno porazdeljenih števil.

2. Številke morajo biti neodvisne.

3. Zaporedja naključnih števil morajo biti ponovljiva.

4. Zaporedja morajo vsebovati številke, ki se ne ponavljajo.

5. Zaporedja je treba pridobiti z minimalnimi računalniškimi viri.

Največjo uporabo v praksi računalniškega modeliranja za generiranje zaporedij psevdonaključnih števil najdemo v algoritmih oblike:

ki so rekurentne relacije prvega reda.

Na primer. x0 = 0,2152, (x0)2=0, x1 = 0,6311, (x1)2=0, x2=0,8287 itd.

Pomanjkljivost takih metod je prisotnost korelacije med številkami v zaporedju, včasih pa sploh ni naključnosti, na primer:

x0 = 0,4500, (x0)2=0, x1 = 0,2500, (x1)2=0, x2=0,2500 itd.

Kongruentni postopki za generiranje psevdonaključnih zaporedij so postali široko uporabljeni.

Dve celi števili a in b sta kongruentni (primerljivi) po modulu m, kjer je m celo število, če in samo če obstaja celo število k, tako da je a-b=km.

1984º4 (mod 10), 5008º8 (mod 103).

Večina postopkov generiranja skladnih naključnih števil temelji na naslednji formuli:

kjer so nenegativna cela števila.

Z uporabo celih števil zaporedja (Xi) lahko sestavimo zaporedje (xi)=(Xi/M) racionalnih števil iz enotskega intervala (0,1).

Pred modeliranjem morajo biti uporabljeni generatorji naključnih števil podvrženi temeljitemu predhodnemu testiranju enotnosti, stohastičnosti in neodvisnosti nastalih zaporedij naključnih števil.

Metode za izboljšanje kakovosti zaporedij naključnih števil:

1. Uporaba ponavljajočih se formul reda r:

Toda uporaba te metode vodi do povečanja stroškov računalniških virov za pridobivanje številk.

2. Metoda motenj:

.

5. Modeliranje naključnih vplivov na sisteme

1. Realizirati je treba naključni dogodek A, ki se zgodi z dano verjetnostjo p. Definirajmo A kot dogodek, ko izbrana vrednost xi naključne spremenljivke, enakomerno porazdeljene po intervalu (0,1), izpolnjuje neenakost:

Potem bo verjetnost dogodka A https://pandia.ru/text/78/241/images/image019_31.gif" width="103" height="25">,

Postopek testne simulacije je v tem primeru sestavljen iz zaporedne primerjave naključnih števil xi z vrednostmi lr. Če je pogoj izpolnjen, je izid testa dogodek Am.

3. Upoštevajte neodvisna dogodka A in B z verjetnostma pojava pA in pB. Možni rezultati skupnih poskusov bodo v tem primeru dogodki AB, z verjetnostmi pArB, (1-pA)pB, pA(1-pB), (1-pA)(1-pB). Za simulacijo skupnih testov se lahko uporabita dve različici postopka:

Dosledno izvajanje postopka iz 1. odst.

Določitev enega od izidov AB z žrebom z ustreznimi verjetnostmi, tj. postopek, obravnavan v odstavku 2.

Prva možnost bo zahtevala dve števili xi in dve primerjavi. Pri drugi možnosti lahko dobite eno številko xi, vendar bo morda potrebnih več primerjav. Z vidika priročnosti izdelave algoritma za modeliranje in prihranka števila operacij in pomnilnika računalnika je prva možnost bolj zaželena.

4. Dogodka A in B sta odvisna in se zgodita z verjetnostma pA in pB. S pA(B) označimo pogojno verjetnost nastopa dogodka B, pod pogojem, da se je dogodek A zgodil.

Kontrolna vprašanja

1) Kako lahko definirate metodo Monte Carlo?

2) Praktični pomen metode Monte Carlo.

3) Splošna shema metode Monte Carlo.

4) Primer izračuna čakalne vrste po metodi Monte Carlo.

5) Metode za generiranje naključnih števil.

6) Kakšne so zahteve za idealen generator naključnih števil?

7) Metode za izboljšanje kakovosti zaporedij naključnih števil.

je sestavni del vsake odločitve, ki jo sprejmemo. Nenehno se soočamo z negotovostjo, nejasnostjo in spremenljivostjo. In tudi z dostopom do informacij brez primere ne moremo natančno napovedati prihodnosti. Simulacija Monte Carlo (znana tudi kot metoda Monte Carlo) vam omogoča, da upoštevate vse možne posledice svojih odločitev in ocenite vpliv tveganja, kar vam omogoča sprejemanje boljših odločitev v pogojih negotovosti.

Kaj je simulacija Monte Carlo?
Simulacija Monte Carlo je avtomatizirana matematična tehnika, zasnovana za vključitev tveganja v kvantitativno analizo in proces odločanja. To metodologijo uporabljajo strokovnjaki na različnih področjih, kot so finance, vodenje projektov, energetika, proizvodnja, inženiring, raziskave in razvoj, zavarovalništvo, nafta in plin, transport in varstvo okolja.

Simulacija Monte Carlo vsakokrat v procesu izbire nadaljnjega ukrepanja omogoči odločevalcu, da razmisli o celotni vrsti možnih posledic in oceni verjetnost njihovega nastopa. Ta metoda prikazuje možnosti, ki ležijo na nasprotnih koncih spektra (rezultate vstopa all-in in sprejemanja najbolj konzervativnih ukrepov), pa tudi verjetne posledice zmernih odločitev.

To metodo so prvi uporabili znanstveniki, ki so sodelovali pri razvoju atomske bombe; ime je dobil po Monte Carlu, letovišču v Monaku, ki slovi po svojih igralnicah. Metoda Monte Carlo, ki je postala razširjena med drugo svetovno vojno, se je začela uporabljati za simulacijo vseh vrst fizičnih in teoretičnih sistemov.

Oglejte si ocene
Douglas Hubbard
Hubbard Decision Research
Čas: 00:35 sek

"Simulacija Monte Carlo je edini način za analizo kritičnih odločitev v pogojih negotovosti."

John Zhao
Suncor Energy
Čas: 02:36 min

"Izvajanje simulacij Monte Carlo za oceno stroškov kapitala je postalo [pri Suncorju] zahteva za vsak večji projekt."

Kako se izvaja simulacija Monte Carlo
V okviru metode Monte Carlo se analiza tveganja izvaja z uporabo modelov možnih izidov. Pri ustvarjanju takšnih modelov se vsak dejavnik, za katerega je značilna negotovost, nadomesti z nizom vrednosti - porazdelitvijo verjetnosti. Rezultati se nato izračunajo večkrat, vsakič z uporabo drugačnega nabora naključnih vrednosti verjetnostne funkcije. Včasih bo za dokončanje simulacije morda potrebno narediti na tisoče ali celo desettisoče ponovnih izračunov, odvisno od števila negotovosti in zanje nastavljenih razponov. Monte Carlo simulacija omogoča pridobitev porazdelitev vrednosti možnih posledic.

Pri uporabi verjetnostnih porazdelitev imajo lahko spremenljivke različne verjetnosti pojava različnih posledic. Porazdelitve verjetnosti so veliko bolj realističen način opisovanja negotovosti spremenljivk v procesu analize tveganja. Najpogostejše porazdelitve verjetnosti so navedene spodaj.

Normalna porazdelitev(ali "Baussova krivulja"). Za opis odstopanja od povprečja uporabnik določi srednjo ali pričakovano vrednost in standardni odklon. Za vrednosti, ki se nahajajo na sredini, poleg povprečja, je značilna največja verjetnost. Normalna porazdelitev je simetrična in opisuje številne pogoste pojave – na primer višino ljudi. Primeri spremenljivk, ki jih opisujejo normalne porazdelitve, vključujejo stopnje inflacije in cene energije.

Lognormalna porazdelitev. Vrednosti so pozitivno poševne in so za razliko od normalne porazdelitve asimetrične. Ta porazdelitev se uporablja za prikaz količin, ki ne padejo pod ničlo, ampak lahko zavzamejo neomejene pozitivne vrednosti. Primeri spremenljivk, opisanih z lognormalnimi porazdelitvami, vključujejo vrednosti nepremičnin, cene delnic in zaloge nafte.

Enakomerna porazdelitev. Vse količine lahko z enako verjetnostjo zavzamejo eno ali drugo vrednost, uporabnik preprosto določi najmanjšo in največjo. Primeri spremenljivk, ki so lahko enakomerno porazdeljene, vključujejo proizvodne stroške ali prihodke od prihodnje prodaje novega izdelka.

Trikotna porazdelitev. Uporabnik določi najmanjšo, najverjetnejšo in največjo vrednost. Vrednosti, ki se nahajajo blizu točke največje verjetnosti, imajo največjo verjetnost. Spremenljivke, ki jih je mogoče opisati s trikotno porazdelitvijo, vključujejo preteklo prodajo na enoto časa in ravni zalog.

Distribucija PERT. Uporabnik določi najmanjšo, najverjetnejšo in največjo vrednost - enako kot pri trikotni porazdelitvi. Vrednosti, ki se nahajajo blizu točke največje verjetnosti, imajo največjo verjetnost. Vendar je večja verjetnost, da se bodo pojavile vrednosti v območju med najverjetnejšo in skrajno vrednostjo kot s trikotno porazdelitvijo, to pomeni, da ni poudarka na skrajnih vrednostih. Primer uporabe distribucije PERT je opis trajanja naloge znotraj modela projektnega vodenja.

Diskretna porazdelitev. Uporabnik določi določene vrednosti izmed možnih, pa tudi verjetnost, da jih pridobi. Primer bi bil izid tožbe: 20 % možnosti za ugodno odločitev, 30 % možnosti za negativno odločitev, 40 % možnosti za dogovor med strankama in 10 % možnosti za razveljavitev sojenja.

V simulaciji Monte Carlo so vrednosti izbrane naključno iz prvotnih porazdelitev verjetnosti. Vsak vzorec vrednosti se imenuje iteracija; rezultat, dobljen iz vzorca, se zabeleži. Med procesom modeliranja se ta postopek izvede več sto ali tisočkrat, rezultat pa je verjetnostna porazdelitev možnih posledic. Tako simulacija Monte Carlo zagotavlja veliko popolnejšo sliko možnih dogodkov. Omogoča vam, da presodite ne le, kaj se lahko zgodi, ampak tudi, kakšna je verjetnost takšnega izida.

Simulacija Monte Carlo ima številne prednosti pred deterministično ali točkovno analizo:

  • Verjetnostni rezultati.Rezultati ne pokažejo samo možnih dogodkov, ampak tudi verjetnost njihovega nastanka.
  • Grafični prikaz rezultatov. Narava podatkov, pridobljenih z metodo Monte Carlo, omogoča izdelavo grafov različnih posledic, pa tudi verjetnosti njihovega nastanka. To je pomembno pri sporočanju rezultatov drugim zainteresiranim stranem.
  • Analiza občutljivosti. Z redkimi izjemami je zaradi deterministične analize težko določiti, katera spremenljivka najbolj vpliva na rezultate. Pri izvajanju simulacije Monte Carlo je enostavno videti, kateri vložki imajo največji vpliv na končne rezultate.
  • Analiza scenarijev. V determinističnih modelih je zelo težko simulirati različne kombinacije količin za različne vhodne vrednosti in zato oceniti vpliv resnično različnih scenarijev. Z uporabo metode Monte Carlo lahko analitiki natančno določijo, kateri vložki vodijo do določenih vrednosti, in izsledijo pojav določenih posledic. To je zelo pomembno za nadaljnjo analizo.
  • Korelacija izvornih podatkov. Metoda Monte Carlo vam omogoča modeliranje soodvisnih odnosov med vhodnimi spremenljivkami. Za pridobitev zanesljivih informacij si je treba predstavljati, v katerih primerih, ko se nekateri dejavniki povečajo, se drugi ustrezno povečajo ali zmanjšajo.

Rezultate simulacije Monte Carlo lahko izboljšate tudi z vzorčenjem z uporabo metode latinske hiperkocke, ki natančneje izbira iz celotnega obsega porazdelitvenih funkcij.

Izdelki za modeliranje palisad
po metodi Monte Carlo
Pojav aplikacij, namenjenih delu s preglednicami na osebnih računalnikih, je strokovnjakom odprl široke možnosti za uporabo metode Monte Carlo pri izvajanju analiz v vsakodnevnih dejavnostih. Microsoft Excel je eno najpogostejših analitičnih orodij za preglednice in program je Palisadov glavni vtičnik za Excel, ki vam omogoča izvajanje simulacij Monte Carlo. @RISK je bil prvič predstavljen za Lotus 1-2-3 v operacijskem sistemu DOS leta 1987 in si je takoj prislužil odličen sloves zaradi svoje natančnosti, prilagodljivosti modeliranja in enostavne uporabe. Pojav Microsoft Projecta je privedel do nastanka druge logične aplikacije za uporabo metode Monte Carlo. Njegova glavna naloga je bila analiza negotovosti in tveganj, povezanih z vodenjem velikih projektov.

Statistično modeliranje je osnovna metoda modeliranja, ki vključuje testiranje modela z nizom naključnih signalov z dano gostoto verjetnosti. Cilj je statistično določiti izhodne rezultate. Statistično modeliranje temelji na metoda Monte karlo. Spomnimo se, da se posnemanje uporablja, kadar drugih metod ni mogoče uporabiti.

Metoda Monte Carlo

Oglejmo si metodo Monte Carlo na primeru izračuna integrala, katerega vrednosti ni mogoče najti analitično.

Naloga 1. Poiščite vrednost integrala:

Na sl. 1.1 prikazuje graf funkcije f (x). Izračunati vrednost integrala te funkcije pomeni najti ploščino pod tem grafom.

riž. 1.1

Kriviljo omejimo od zgoraj, desno in levo. Točke naključno razdelimo v iskalni pravokotnik. Označimo z n 1 število točk, sprejetih za testiranje (to je, da spadajo v pravokotnik, te točke so prikazane na sliki 1.1 v rdeči in modri barvi) in skozi n 2 - število točk pod krivuljo, to je, ki spadajo v osenčeno območje pod funkcijo (te točke so prikazane rdeče na sliki 1.1). Potem je naravno domnevati, da je število točk, ki spadajo pod krivuljo glede na skupno število točk, sorazmerno s površino pod krivuljo (vrednost integrala) glede na površino testnega pravokotnika. Matematično se to lahko izrazi na naslednji način:

Ta sklepanja so seveda statistična in pravilnejša, čim večje število testnih točk dosežemo.

Del algoritma metode Monte Carlo v obliki blokovnega diagrama je videti, kot je prikazano na sl. 1.2

riž. 1.2

Vrednote r 1 in r 2 na sl. 1.2 so enakomerno porazdeljena naključna števila iz intervalov ( x 1 ; x 2) in ( c 1 ; c 2) ustrezno.

Metoda Monte Carlo je izjemno učinkovita in preprosta, vendar zahteva "dober" generator naključnih števil. Drugi problem pri uporabi metode je določitev velikosti vzorca, to je števila točk, potrebnih za rešitev z določeno natančnostjo. Poskusi kažejo, da je treba za 10-kratno povečanje natančnosti velikost vzorca povečati za 100-krat; to pomeni, da je natančnost približno sorazmerna s kvadratnim korenom velikosti vzorca:

Shema za uporabo metode Monte Carlo pri študiju sistemov z naključnimi parametri

Po izdelavi modela sistema z naključnimi parametri se vhodni signali iz generatorja naključnih števil (RNG) dovajajo na njegov vhod, kot je prikazano na sl. 1.3 RNG je zasnovan tako, da proizvaja enakomerno razdeljen naključna števila r pp iz intervala . Ker so lahko nekateri dogodki bolj verjetni, drugi manj verjetni, se enakomerno porazdeljena naključna števila iz generatorja prenesejo v pretvornik zakona naključnih števil (RLC), ki jih pretvori v dano uporabnik zakona porazdelitve verjetnosti, na primer normalnega ali eksponentnega zakona. Te pretvorjene naključne številke x doveden na vhod modela. Model obdeluje vhodni signal x po nekem zakonu l = ts (x) in sprejema izhodni signal l, kar je tudi naključno.

statistično modeliranje naključne spremenljivke


riž. 1.3

Filtri in števci so nameščeni v bloku zbiranja statistik (BNStat). Filter (nek logični pogoj) določa po vrednosti l, ali se je v določenem poskusu realiziral določen dogodek (izpolnjen pogoj, f= 1) ali ne (pogoj ni bil izpolnjen, f= 0). Če pride do dogodka, se števec dogodkov poveča za eno. Če dogodek ni realiziran, se vrednost števca ne spremeni. Če morate spremljati več različnih vrst dogodkov, potem boste potrebovali več filtrov in števcev za statistično modeliranje n jaz. Vedno se vodi števec števila poskusov - n.

Nadaljnji odnos n jaz Za n, izračunana v bloku za izračun statističnih karakteristik (BVSH) po metodi Monte Carlo, daje oceno verjetnosti str jaz pojav dogodka jaz, to je, označuje pogostost njegovega pojavljanja v seriji n poskusi. To nam omogoča sklepanje o statističnih lastnostih modeliranega predmeta.

Na primer, dogodek A se je zgodil kot rezultat 200 poskusov, izvedenih 50-krat. To po metodi Monte Carlo pomeni, da je verjetnost, da se zgodi dogodek: str A = 50/200 = 0,25. Verjetnost, da se dogodek ne bo zgodil, je 1 - 0,25 = 0,75.

Prosim plačaj pozor: ko govorijo o eksperimentalno pridobljeni verjetnosti, se imenuje frekvenca; besedo verjetnost uporabljajo, ko želijo poudariti, da govorimo o teoretičnem konceptu.

Z velikim številom poskusov n pogostost pojavljanja dogodka, pridobljena eksperimentalno, se nagiba k vrednosti teoretične verjetnosti pojava dogodka.

V bloku za oceno zanesljivosti (RAB) se analizira stopnja zanesljivosti statističnih eksperimentalnih podatkov, vzetih iz modela (ob upoštevanju natančnosti rezultata e, ki jih določi uporabnik) in določite število potrebnih statističnih testov za to. Če so nihanja vrednosti frekvence pojavljanja dogodkov glede na teoretično verjetnost manjša od podane natančnosti, se kot odgovor vzame eksperimentalna frekvenca, sicer se generiranje naključnih vhodnih vplivov nadaljuje in proces modeliranja je ponovljeno. Pri majhnem številu testov je lahko rezultat nezanesljiv. Toda več testov, bolj natančen je odgovor, glede na osrednji mejni izrek.

Upoštevajte, da je vrednotenje izvedeno z uporabo najslabše frekvence. To zagotavlja zanesljive rezultate za vse izmerjene karakteristike modela hkrati.

Primer 1. Rešimo preprost problem. Kakšna je verjetnost, da bo kovanec pristal z glavo navzgor, ko bo naključno padel z višine?

Začnimo vreči kovanec in zapisovati rezultate vsakega meta (glej tabelo 1.1).

Tabela 1.1.

Rezultati testa metanja kovanca


Pogostost glav bomo izračunali kot razmerje med številom primerov glav in skupnim številom opazovanj. Poglej v tabelo. 1.1 primeri za n = 1, n = 2, n= 3 - sprva vrednosti frekvence ni mogoče imenovati zanesljive. Poskusimo zgraditi graf odvisnosti p o od n- in poglejmo, kako se frekvenca glav spreminja glede na število izvedenih poskusov. Seveda bodo različni poskusi ustvarili različne tabele in s tem različne grafe. Na sl. 1.4 prikazuje eno od možnosti.


riž. 1.4

Naredimo nekaj zaključkov.

  • 1. Vidimo, da pri majhnih vrednostih n, na primer n = 1, n = 2, n= 3 Odgovoru sploh ni mogoče zaupati. na primer p o = 0 at n= 1, kar pomeni, da je verjetnost, da dobite glave v enem metu, enaka nič! Čeprav vsi dobro vedo, da temu ni tako. Se pravi, do sedaj smo dobili zelo nesramen odgovor. Vendar poglejte graf: v teku prihranki informacije, se odgovor počasi, a vztrajno približuje pravilnemu (označeno je s pikčasto črto). Na srečo v tem konkretnem primeru poznamo pravilen odgovor: v idealnem primeru je verjetnost, da dobimo glave, 0,5 (pri drugih, bolj zapletenih problemih nam odgovor seveda ne bo znan). Predpostavimo, da moramo natančno vedeti odgovor e= 0,1. Narišimo dve vzporedni črti, ločeni od pravilnega odgovora 0,5 z razdaljo 0,1 (glej sliko 1.4). Širina nastalega koridorja bo 0,2. Čim krivulja p O ( n) bo vstopil v ta hodnik tako, da ga ne bo nikoli zapustil, lahko se ustavite in vidite, za kakšno vrednost n to se je zgodilo. Tako je eksperimentalno izračunano kritično pomen potrebno število poskusov n kr e natančno določiti odgovor e = 0.1; e- soseska v našem razmišljanju igra vlogo neke vrste natančne cevi. Upoštevajte, da odgovori p o (91), p o (92) in tako naprej ne spreminjajo več svojih vrednosti veliko (glej sliko 1.4); vsaj prva števka za decimalno vejico, ki smo ji glede na pogoje problema dolžni zaupati, se ne spremeni.
  • 2. Razlog za takšno obnašanje krivulje je dejanje osrednji končni izreki. Zaenkrat ga bomo tukaj formulirali v najpreprostejši različici: "Vsota naključnih spremenljivk je nenaključna količina." Uporabili smo povprečje p o, ki nosi informacijo o vsoti eksperimentov, zato postopoma postaja ta vrednost vedno bolj zanesljiva.
  • 3. Če ta poskus ponovite od začetka, bo njegov rezultat seveda drugačna vrsta naključne krivulje. In odgovor bo drugačen, čeprav približno enak. Izvedimo celo vrsto takih poskusov (glej sliko 1.5). Takšno serijo imenujemo ansambel realizacij. Kateremu odgovoru bi morali na koncu verjeti? Konec koncev, čeprav sta si blizu, se še vedno razlikujeta. V praksi delujejo drugače. Prva možnost je izračun povprečja odgovorov v več izvedbah (glej tabelo 1.2).

riž. 1.5

Postavili smo več poskusov in vsakič določili, koliko poskusov je treba narediti, tj n cr e. Izvedenih je bilo 10 poskusov, katerih rezultati so povzeti v tabeli. 1.2 Na podlagi rezultatov 10 poskusov je bila izračunana povprečna vrednost n cr e.

Tabela 1.2.

Eksperimentalni podatki o zahtevanem številu metov kovancev za doseganje točnosti e

Tako smo po izvedbi 10 različno dolgih izvedb ugotovili, da zadostuje V povprečje možno je bilo doseči 1 realizacijo v dolžini 94 metov kovanca.

Še eno pomembno dejstvo. Pozorno si oglejte graf na sliki 21.5, ki prikazuje 100 realizacij - 100 rdečih črt. Na njej označite absciso n= 94 navpična črta. Obstaja določen odstotek rdečih črt, ki niso imele časa prestopiti e-soseska, to je ( p exp - e ? p teorija? p exp + e), in vstopite na hodnik točno do trenutka n= 94. Upoštevajte, da je takšnih vrstic 5. To pomeni, da je 95 od 100, to je 95 % vrstic zanesljivo vstopilo v označeni interval.

Tako smo po izvedbi 100 implementacij dosegli približno 95 % zaupanje v eksperimentalno dobljeno verjetnost glav in jo določili z natančnostjo 0,1.

Za primerjavo dobljenega rezultata izračunajmo teoretično vrednost n kr t teoretično. Vendar bomo za to morali uvesti koncept verjetnosti zaupanja Q F, kar kaže, kako pripravljeni smo verjeti odgovoru.

Na primer, kdaj Q F= 0,95 smo pripravljeni verjeti odgovoru v 95% primerov od 100. Videti je takole: n cr t = k (Q F) · str· (1 - str) /e 2 kje k (Q F) - Laplaceov koeficient, str- verjetnost, da dobimo glave, e- natančnost (interval zaupanja). V tabeli 1.3 prikazuje vrednosti teoretične vrednosti števila potrebnih poskusov za različne Q F(za natančnost e= 0,1 in verjetnost str = 0.5).

Tabela 1.3.

Teoretični izračun potrebnega števila metov kovancev za doseganje natančnosti e= 0,1 pri izračunu verjetnosti, da dobimo glave


Kot lahko vidite, je ocena, ki smo jo dobili za dolžino izvedbe, ki je enaka 94 eksperimentom, zelo blizu teoretični, ki je enaka 96. Nekaj ​​odstopanj je razloženo z dejstvom, da očitno 10 implementacij ni dovolj za natančen izračun n cr e. Če se odločite, da želite rezultat, ki bi mu morali bolj zaupati, spremenite vrednost zaupanja. Teorija nam na primer pravi, da če obstaja 167 poskusov, samo 1-2 vrstici iz ansambla ne bosta vključeni v predlagano cev natančnosti. Vendar ne pozabite, da se število poskusov zelo hitro poveča z naraščajočo natančnostjo in zanesljivostjo.

Druga možnost, ki se uporablja v praksi, je izvedba eno izvajanje in porast prejeli Za njo n kr uh V 2 krat. To velja za dobro jamstvo za točnost odgovora (glej sliko 1.6).


riž. 1.6. Ilustracija eksperimentalne določitve N cr e z uporabo pravila "pomnoži z dva".

Če natančno pogledate ansambel naključen izvedbe, potem lahko ugotovimo, da se konvergenca frekvence k vrednosti teoretične verjetnosti pojavi vzdolž krivulje, ki ustreza inverzni kvadratni odvisnosti od števila poskusov (glej sliko 1.7).


riž. 1.7

V teoriji to dejansko deluje tako. Če spremenite določeno natančnost e in preverite število poskusov, potrebnih za zagotavljanje vsakega od njih, dobite tabelo. 1.4

Tabela 1.4.

Teoretična odvisnost števila poskusov, potrebnih za zagotovitev določene natančnosti pri Q F = 0.95


Gradimo po tabeli. 1.4 graf odvisnosti n crt ( e) (glej sliko 1.8).

riž. 1.8 Odvisnost števila poskusov, potrebnih za dosego dane natančnosti e pri fiksnem Q F = 0,95

Torej, obravnavani grafi potrjujejo zgornjo oceno:

Upoštevajte, da je lahko ocen točnosti več.

Primer 2. Iskanje območja figure z metodo Monte Carlo. Z metodo Monte Carlo določite površino peterokotnika s kotnimi koordinatami (0, 0), (0,10), (5, 20), (10,10), (7, 0).

Narišimo podani peterokotnik v dvodimenzionalnih koordinatah in ga vpišimo v pravokotnik, katerega ploščina je, kot morda ugibate, (10 - 0) · (20 - 0) = 200 (glej sliko 1.9).

riž. 1.9

Uporaba tabele naključnih števil za ustvarjanje parov števil R, G, enakomerno porazdeljena v območju od 0 do 1. Število R X (0 ? X? 10), torej X= 10 · R. številka G bo simulirala koordinato Y (0 ? Y? 20), torej Y= 20 · G. Ustvarimo 10 številk R in G in prikaže 10 točk ( X; Y) na sl. 1.9 in v tabeli. 1.5

Tabela 1.5.

Reševanje problema z metodo Monte Carlo


Statistična hipoteza je, da je število točk, vključenih v konturo figure, sorazmerno s površino figure: 6: 10 = S: 200. To pomeni, da po formuli metode Monte Carlo ugotovimo, da je površina S peterokotnik je enak: 200 · 6/10 = 120.

Poglejmo, kako se je vrednost spremenila S od izkušnje do izkušnje (glej tabelo 1.6).

Tabela 1.6.

Ocena točnosti odziva

Ker se vrednost druge števke v odgovoru še spreminja, je možna netočnost še vedno več kot 10 %. Natančnost izračuna se lahko poveča z naraščajočim številom testov (glej sliko 1.10).

riž. 1.10 Prikaz procesa konvergence eksperimentalno določenega odgovora k teoretičnemu rezultatu

Predavanje 2. Generatorji naključnih števil

Metoda Monte Carlo (glej predavanje 1. Statistično modeliranje) temelji na generiranju naključnih števil, ki morajo biti enakomerno porazdeljena v intervalu (0;1).

Če generator proizvede številke, ki so premaknjene na določen del intervala (nekatere številke se pojavljajo pogosteje kot druge), se lahko rezultat reševanja problema, rešenega s statistično metodo, izkaže za napačnega. Zato je problem uporabe dobrega generatorja resnično naključnih in resnično enakomerno porazdeljenih števil zelo akuten.

Pričakovana vrednost m r in varianco D r takšno zaporedje, sestavljeno iz n naključna števila r jaz, bi moralo biti naslednje (če so to resnično enakomerno porazdeljena naključna števila v območju od 0 do 1):

Če uporabnik potrebuje naključno število x je bil v intervalu ( a; b), drugačen od (0;

  • 1), morate uporabiti formulo x = a + (b - a) · r, Kje r- naključno število iz intervala (0;
  • 1). Zakonitost te transformacije je prikazana na sl. 2.1

riž. 2.1

1) v intervalu (a; b)

zdaj x- naključno število, enakomerno porazdeljeno v območju od a prej b.

zadaj standard generatorja naključnih števil(RNG) je sprejet generator, ki generira podzaporedje naključna števila z uniforma porazdelitveni zakon v intervalu (0;

  • 1). Za en klic ta generator vrne eno naključno število. Če opazujete takšen RNG dovolj dolgo, se izkaže, da je na primer v vsakem od desetih intervalov (0; 0,1), (0,1; 0,2), (0,2; 0,3), ..., (0,9). ;
  • 1) naključnih števil bo skoraj enako - to pomeni, da bodo enakomerno porazdeljena po celotnem intervalu (0;
  • 1). Če je prikazano na grafu k= 10 intervalov in frekvenc n jaz jih zadene, boste dobili poskusno krivuljo gostote porazdelitve naključnih števil (glej sliko 2.2).

riž. 2.2

Upoštevajte, da bi idealno krivulja gostote porazdelitve naključnih števil izgledala tako, kot je prikazano na sl. 2.3. To pomeni, da v idealnem primeru vsak interval vsebuje enako število točk: n jaz = n/k, Kje n- skupno število točk, k- število intervalov, jaz = 1, …, k.


riž. 2.3

Ne smemo pozabiti, da je generiranje poljubnega naključnega števila sestavljeno iz dveh stopenj:

  • · generiranje normaliziranega naključnega števila (to je enakomerno porazdeljenega od 0 do 1);
  • · transformacija normaliziranih naključnih števil r jaz na naključna števila x jaz, ki se porazdelijo po (poljubnem) zakonu porazdelitve, ki ga zahteva uporabnik oziroma v zahtevanem intervalu.

Generatorji naključnih števil glede na način pridobivanja števil delimo na:

  • · fizično;
  • · tabelarno;
  • · algoritemsko.

Nedolgo nazaj sem prebral čudovito knjigo Douglasa Hubbarda. V kratkem povzetku knjige sem obljubil, da bom enemu od razdelkov posvetil posebno opombo - Ocena tveganja: Uvod v simulacijo Monte Carlo. Da, vse nekako ni šlo. In pred kratkim sem začel bolj natančno preučevati metode upravljanja valutnih tveganj. V gradivih, posvečenih tej temi, se pogosto omenja simulacija Monte Carlo. Obljubljeno gradivo je torej pred vami.

Podal bom preprost primer simulacije Monte Carlo za tiste, ki z njo še nikoli niste delali, a razumete uporabo Excelovih preglednic.

Recimo, da želite najeti nov stroj. Letni stroški najema stroja znašajo 400.000 dolarjev, pogodbo pa je treba podpisati za več let. Torej, tudi če niste dosegli, še vedno ne boste mogli takoj vrniti naprave. Ste tik pred podpisom pogodbe in mislite, da boste s sodobno opremo prihranili pri stroških dela ter stroških surovin in materiala ter menite, da bosta logistika in tehnično vzdrževanje novega stroja cenejša.

Prenesite opombo v formatu, primere v formatu

Vaši umerjeni ocenjevalci so podali naslednje razpone pričakovanih prihrankov in letne proizvodnje:

Letni prihranek bo: (MS + LS + RMS) x PL

Seveda je ta primer preveč preprost, da bi bil realen. Obseg proizvodnje se vsako leto spreminja, nekateri stroški se bodo znižali, ko bodo delavci končno obvladali nov stroj itd. Toda v tem primeru smo namenoma žrtvovali realizem zaradi preprostosti.

Če vzamemo mediano (povprečje) vsakega intervala vrednosti, dobimo letni prihranek: (15 + 3 + 6) x 25.000 = 600.000 (dolarjev)

Videti je, da nismo le dosegli nič, ampak tudi nekaj dobička, vendar ne pozabite, obstajajo negotovosti. Kako oceniti tveganost teh naložb? Najprej opredelimo, kaj je tveganje v tem kontekstu. Da bi izpeljali tveganje, moramo orisati prihodnje rezultate z njihovimi inherentnimi negotovostmi, nekateri med njimi z verjetnostjo, da bodo utrpeli merljivo škodo. Eden od načinov pogleda na tveganje je, da si predstavljamo verjetnost, da ne bomo dosegli čistega dobička, to je, da bodo naši prihranki manjši od letnih stroškov najema stroja. Bolj ko nam ne bo uspelo pokriti stroškov najema, več bomo izgubili. Znesek 600.000 dolarjev. je mediana intervala. Kako določiti realni razpon vrednosti in iz njega izračunati verjetnost, da ne bomo dosegli točke preloma?

Ker natančni podatki niso na voljo, s preprostimi izračuni ni mogoče odgovoriti na vprašanje, ali lahko dosežemo zahtevane prihranke. Obstajajo metode, ki pod določenimi pogoji omogočajo iskanje obsega vrednosti nastalega parametra iz obsegov vrednosti začetnih podatkov, vendar za večino problemov v resničnem življenju takšni pogoji praviloma veljajo ne obstaja. Ko začnemo seštevati in množiti različne vrste porazdelitev, problem običajno postane tisto, čemur matematiki pravijo nerešljiv problem ali problem, ki ga ni mogoče rešiti s konvencionalnimi matematičnimi metodami. Zato namesto tega uporabljamo metodo neposredne izbire možnih možnosti, ki jo je omogočil pojav računalnikov. Iz razpoložljivih intervalov naključno izberemo nabor (tisoč) natančnih vrednosti začetnih parametrov in izračunamo nabor natančnih vrednosti želenega indikatorja.

Simulacija Monte Carlo je odličen način za reševanje takšnih problemov. Samo naključno moramo izbrati vrednosti v določenih intervalih, jih nadomestiti v formulo za izračun letnih prihrankov in izračunati skupno. Nekateri rezultati bodo nad našo izračunano srednjo vrednostjo 600.000 $, drugi pa pod. Nekateri bodo celo nižji od 400.000 $, potrebnih za preboj.

Simulacijo Monte Carlo lahko preprosto izvajate na osebnem računalniku z uporabo programa Excel, vendar zahteva malo več informacij kot 90-odstotni interval zaupanja. Treba je poznati obliko porazdelitvene krivulje. Za različne količine so krivulje ene oblike primernejše od drugih. V primeru 90 % intervala zaupanja se običajno uporablja normalna (Gaussova) porazdelitvena krivulja. To je znana zvonasta krivulja, v kateri je večina možnih vrednosti rezultatov zbranih v osrednjem delu grafa in le nekaj, manj verjetnih, je razporejenih, ki se zožujejo proti njegovim robom (slika 1).

Tako izgleda normalna porazdelitev:

Slika 1. Normalna porazdelitev. Abscisna os je število sigm.

Posebnosti:

  • vrednosti, ki se nahajajo v osrednjem delu grafa, so bolj verjetne kot vrednosti na njegovih robovih;
  • porazdelitev je simetrična; mediana je točno na polovici med zgornjo in spodnjo mejo 90-odstotnega intervala zaupanja (CI);
  • »repi« grafa so neskončni; vrednosti izven 90-odstotnega intervala zaupanja so malo verjetne, vendar še vedno možne.

Če želite zgraditi normalno porazdelitev v Excelu, lahko uporabite funkcijo =NORMIDIST(X; Povprečje; Standardni_odklon; Integral), kjer
X – vrednost, za katero je sestavljena normalna porazdelitev;
Mean – aritmetična sredina porazdelitve; v našem primeru = 0;
Standard_deviation – standardni odklon porazdelitve; v našem primeru = 1;
Integral – logična vrednost, ki določa obliko funkcije; če je kumulativno TRUE, vrne NORMDIST funkcijo kumulativne porazdelitve; če je ta argument FALSE, je vrnjena funkcija gostote; v našem primeru = FALSE.

Ko govorimo o normalni porazdelitvi, je treba omeniti tako povezan koncept, kot je standardni odklon. Očitno nimajo vsi intuitivnega razumevanja, kaj je to, toda ker je standardni odklon mogoče nadomestiti s številom, izračunanim iz 90-odstotnega intervala zaupanja (ki ga mnogi ljudje intuitivno razumejo), se o tem tukaj ne bom spuščal v podrobnosti. Slika 1 prikazuje, da je v enem 90-odstotnem intervalu zaupanja 3,29 standardnih odklonov, zato bomo morali narediti samo pretvorbo.

V našem primeru bi morali ustvariti generator naključnih števil v preglednici za vsak interval vrednosti. Začnimo na primer z MS - prihranki pri materialnih in tehničnih storitvah. Uporabimo Excelovo formulo: =NORMINV(verjetnost,povprečje,standardni_odklon), kjer
Verjetnost – verjetnost, ki ustreza normalni porazdelitvi;
Mean – aritmetična sredina porazdelitve;
Standard_deviation – standardni odklon porazdelitve.

V našem primeru:
Srednja (mediana) = (zgornja meja 90 % IZ + spodnja meja 90 % IZ)/2;
Standardni odklon = (zgornja meja 90 % IZ – spodnja meja 90 % IZ)/3,29.

Za parameter MS ima formula obliko: =NORMIN(RAND();15,(20-10)/3,29), kjer
RAND – funkcija, ki generira naključna števila v območju od 0 do 1;
15 – aritmetična sredina območja MS;
(20-10)/3,29 = 3,04 – standardna deviacija; Naj vas spomnim, da je pomen standardnega odklona naslednji: 90% vseh vrednosti naključne spremenljivke (v našem primeru MS) spada v interval 3,29*Standardno_deviacijo, ki se nahaja simetrično glede na relativno povprečje.

Porazdelitev prihrankov pri logistiki za 100 naključno normalno porazdeljenih vrednosti:

riž. 2. Verjetnost porazdelitve MS v razponih vrednosti; Za informacije o tem, kako sestaviti takšno distribucijo z uporabo vrtilne tabele, glejte

Ker smo uporabili "samo" 100 naključnih vrednosti, porazdelitev ni bila tako simetrična. Vendar je približno 90 % vrednosti spadalo v razpon prihrankov MS od 10 do 20 $ (91 %, če smo natančni).

Sestavimo tabelo na podlagi intervalov zaupanja parametrov MS, LS, RMS in PL (slika 3). Zadnja dva stolpca prikazujeta rezultate izračunov na podlagi podatkov v drugih stolpcih. Stolpec Skupni prihranki prikazuje letne prihranke, izračunane za vsako vrstico. Če bi na primer uvedli scenarij 1, bi bili skupni prihranki (14,3 + 5,8 + 4,3) x 23 471 = 570 834 $ Stolpec »Ali dosegate?« res ga ne potrebuješ. Vključil sem ga samo v informativne namene. Ustvarimo 10.000 skriptnih vrstic v Excelu.

riž. 3. Izračun scenarijev po metodi Monte Carlo v Excelu

Za ovrednotenje dobljenih rezultatov lahko uporabite na primer vrtilno tabelo, ki vam omogoča štetje števila scenarijev v vsakem 100 tisoč obsegu. Nato zgradite graf, ki prikazuje rezultate izračuna (slika 4). Ta graf prikazuje, kakšen delež od 10.000 scenarijev bo imel letne prihranke v danem razponu vrednosti. Na primer, približno 3 % scenarijev bo zagotovilo letne prihranke v višini več kot 1 milijona USD.

riž. 4. Porazdelitev skupnih prihrankov po vrednostnih razredih. Na osi x so razponi 100-tisočink prihrankov, na osi y pa je prikazan delež scenarijev, ki spadajo v navedeni razpon.

Od vseh pridobljenih letnih prihrankov bo približno 15 % manj kot 400 tisoč USD. To pomeni, da obstaja 15-odstotna možnost poškodbe. Ta številka predstavlja smiselno oceno tveganja. Toda tveganje se ne zmanjša vedno na možnost negativnih naložbenih donosov. Pri ocenjevanju velikosti stvari ugotavljamo njeno višino, maso, obseg itd. Podobno obstaja več uporabnih indikatorjev tveganja. Nadaljnja analiza kaže: obstaja 4-odstotna verjetnost, da bo obrat, namesto da bi privarčeval, izgubil 100 tisoč dolarjev letno. Vendar pa je popolno pomanjkanje dohodka praktično nemogoče. To je tisto, kar pomeni analiza tveganja – znati moramo izračunati verjetnosti škode različnih lestvic. Če resnično merite tveganje, je to tisto, kar morate storiti.

V nekaterih situacijah lahko izberete krajšo pot. Če so vse porazdelitve vrednosti, s katerimi delamo, normalne in moramo samo dodati intervale teh vrednosti (na primer intervale stroškov in koristi) ali jih odšteti drug od drugega, potem lahko storimo brez Monteja Carlo simulacija. Ko je treba sešteti tri prihranke iz našega primera, je treba narediti preprost izračun. Če želite dobiti interval, ki ga iščete, uporabite šest korakov, navedenih spodaj:

1) odštejte povprečno vrednost vsakega intervala vrednosti od njegove zgornje meje; za prihranek pri logistiki 20 – 15 = 5 (dolarjev), za prihranek pri stroških dela – 5 dolarjev. in prihraniti pri surovinah in materialih – 3 dolarje;

2) kvadrirajte rezultate prvega koraka 5 2 = 25 (dolarjev) itd.;

3) povzemite rezultate drugega koraka 25 + 25 + 9 = 59 (dolarjev);

4) vzemite kvadratni koren nastalega zneska: izkaže se, da je 7,7 dolarja;

5) seštejte vse povprečne vrednosti: 15 + 3 + 6 = 24 (dolarjev);

6) dodajte rezultat koraka 4 vsoti povprečnih vrednosti in dobite zgornjo mejo razpona: 24 + 7,7 = 31,7 dolarjev; odštejte rezultat koraka 4 od vsote povprečnih vrednosti in dobite spodnjo mejo razpona 24 - 7,7 = 16,3 dolarjev.

Tako je 90-odstotni interval zaupanja za vsoto treh 90-odstotnih intervalov zaupanja za vsako vrsto varčevanja 16,3–31,7 USD.

Uporabili smo naslednjo lastnost: obseg celotnega intervala je enak kvadratnemu korenu vsote kvadratov obsegov posameznih intervalov.

Včasih se nekaj podobnega naredi s seštevanjem vseh "optimističnih" vrednosti zgornje meje in "pesimističnih" vrednosti spodnje meje intervala. V tem primeru bi na podlagi naših treh 90-odstotnih intervalov zaupanja dobili skupni interval 11–37 USD. Ta interval je nekoliko širši od 16,3–31,7 dolarja. Ko se takšni izračuni opravijo za utemeljitev načrta z desetinami spremenljivk, postane razširitev intervala prevelika, da bi jo prezrli. Če bi za zgornjo mejo vzeli najbolj »optimistične« vrednosti, za spodnjo pa »pesimistične«, je kot razmišljati: če vržemo več kock, bomo v vseh primerih dobili le »1« ali samo »6«. V resnici se bo pojavila neka kombinacija nizkih in visokih vrednosti. Pretirano širjenje intervala je pogosta napaka, ki seveda pogosto privede do neinformiranih odločitev. Hkrati pa preprosta metoda, ki sem jo opisal, odlično deluje, ko imamo več 90-odstotnih intervalov zaupanja, ki jih je treba sešteti.

Vendar pa naš cilj ni samo sešteti intervale, ampak jih tudi pomnožiti z obsegom proizvodnje, katerega vrednosti so prav tako podane v obliki razpona. Preprosta metoda seštevanja je primerna le za odštevanje ali seštevanje intervalov vrednosti.

Simulacija Monte Carlo je potrebna tudi, kadar niso vse porazdelitve normalne. Čeprav druge vrste porazdelitev niso vključene v temo te knjige, bomo omenili dve izmed njih - uniformno in binarno (sl. 5, 6).

riž. 5. Enotna porazdelitev (ni idealna, vendar zgrajena s funkcijo RAND v Excelu)

Posebnosti:

  • verjetnost vseh vrednosti je enaka;
  • porazdelitev je simetrična, brez popačenj; mediana je točno na polovici med zgornjo in spodnjo mejo intervala;
  • vrednosti izven intervala niso možne.

Za izdelavo te porazdelitve v Excelu je bila uporabljena formula: RAND()*(UB – LB) + LB, kjer je UB zgornja meja; LB – spodnja meja; sledi razdelitev vseh vrednosti v obsege z uporabo vrtilne tabele.

riž. 6. Binarna porazdelitev (Bernoullijeva porazdelitev)

Posebnosti:

  • možni sta samo dve vrednosti;
  • obstaja ena sama verjetnost ene vrednosti (v tem primeru 60 %); verjetnost druge vrednosti je enaka ena minus verjetnost prve vrednosti

Za izdelavo naključne porazdelitve te vrste v Excelu je bila uporabljena funkcija: =IF(RAND()<Р;1;0), где Р - вероятность выпадения «1»; вероятность выпадения «0» равна 1–Р; с последующим разбиением всех значений на два значения с помощью сводной таблицы.

Metodo je prvi uporabil matematik Stanislav Ulam (glej).

Douglas Hubbard nadalje navaja več programov, zasnovanih za simulacijo Monte Carlo. Med njimi je kristalna krogla podjetja Decisioneering, Inc., Denver, Colorado. Knjiga v angleščini je izšla leta 2007. Zdaj ta program pripada Oraclu. Demo različica programa je na voljo za prenos s spletne strani podjetja. Govorili bomo o njegovih zmogljivostih.

Glej 5. poglavje knjige, ki jo omenja Douglas Hubbard

Tukaj Douglas Hubbard definira razpon kot razliko med zgornjo mejo 90-odstotnega intervala zaupanja in srednjo vrednostjo tega intervala (ali med srednjo vrednostjo in spodnjo mejo, ker je porazdelitev simetrična). Običajno se razpon razume kot razlika med zgornjo in spodnjo mejo.