Výpočet nejistot metodou Monte carlo Mgr. Martin Šíra, Ph.D. (ČMI, Brno) červen 2012 Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky. p. 1
Výpočty nejistot V metrologii jsou převážně používány dvě metody: GUM Uncertainty Framework (GUF) dokument Guide to the Expression of Uncertainty in Measurement (GUM), 1995 Metoda Monte Carlo dokument Evaluation of measurement dat Suplement 1 to the "Guide to the expression of uncertainty in measurement" Propagation of distributions using a Monte Carlo method, 2008 dokumenty online http://www.bipm.org/en/publications/guides/gum.html p. 2
schéma metody GUF p. 3
vzorce v metodě GUF standardní nejistoty:u 2 (x i )= 1 n(n 1) u 2 (x i )=a 2 /3,u 2 (x i )=a 2 /6,... i (q i q) 2, p. 4
vzorce v metodě GUF standardní nejistoty:u 2 (x i )= 1 n(n 1) u 2 (x i )=a 2 /3,u 2 (x i )=a 2 /6,... i (q i q) 2, citlivostní koeficienty:c i = x f i.u 2 (y)= i c2 iu 2 (x i ). ( ( ) ) 2+ 1 2 f f 3 f j i 2 x i x j x i x i u x 2 (x j 2 i )u 2 (x j ) p. 4
vzorce v metodě GUF standardní nejistoty:u 2 (x i )= 1 n(n 1) u 2 (x i )=a 2 /3,u 2 (x i )=a 2 /6,... i (q i q) 2, citlivostní koeficienty:c i = x f i.u 2 (y)= i c2 iu 2 (x i ). ( ( ) ) 2+ 1 2 f f 3 f j i 2 x i x j x i x i u x 2 (x j 2 i )u 2 (x j ) korelované vstupní veličiny:2 i j f x i f x j u(x i,x j ) p. 4
vzorce v metodě GUF standardní nejistoty:u 2 (x i )= 1 n(n 1) u 2 (x i )=a 2 /3,u 2 (x i )=a 2 /6,... i (q i q) 2, citlivostní koeficienty:c i = x f i.u 2 (y)= i c2 iu 2 (x i ). ( ( ) ) 2+ 1 2 f f 3 f j i 2 x i x j x i x i u x 2 (x j 2 i )u 2 (x j ) korelované vstupní veličiny:2 i j efektivní stupeň volnosti:ν eff = u4 c(y) i f x i f x j u(x i,x j ) u 4 i (y) ν i p. 4
vzorce v metodě GUF standardní nejistoty:u 2 (x i )= 1 n(n 1) u 2 (x i )=a 2 /3,u 2 (x i )=a 2 /6,... i (q i q) 2, citlivostní koeficienty:c i = x f i.u 2 (y)= i c2 iu 2 (x i ). ( ( ) ) 2+ 1 2 f f 3 f j i 2 x i x j x i x i u x 2 (x j 2 i )u 2 (x j ) korelované vstupní veličiny:2 i j efektivní stupeň volnosti:ν eff = u4 c(y) i f x i f x j u(x i,x j ) u 4 i (y) koeficient pokrytí:1 α= t 1 α inf f(t,ν eff)dt,k=t p, p=1 2α ν i p. 4
vzorce v metodě GUF standardní nejistoty:u 2 (x i )= 1 n(n 1) u 2 (x i )=a 2 /3,u 2 (x i )=a 2 /6,... i (q i q) 2, citlivostní koeficienty:c i = x f i.u 2 (y)= i c2 iu 2 (x i ). ( ( ) ) 2+ 1 2 f f 3 f j i 2 x i x j x i x i u x 2 (x j 2 i )u 2 (x j ) korelované vstupní veličiny:2 i j efektivní stupeň volnosti:ν eff = u4 c(y) i f x i f x j u(x i,x j ) u 4 i (y) koeficient pokrytí:1 α= t 1 α inf f(t,ν eff)dt,k=t p, p=1 2α rozšířená nejistota:u=ku c (y),y U Y Y+U ν i p. 4
vzorce v metodě GUF standardní nejistoty:u 2 (x i )= 1 n(n 1) u 2 (x i )=a 2 /3,u 2 (x i )=a 2 /6,... i (q i q) 2, citlivostní koeficienty:c i = x f i.u 2 (y)= i c2 iu 2 (x i ). ( ( ) 2+ ) 1 2 f f 3 f j i 2 x i x j x i u 2 (x i )u 2 (x j ) korelované vstupní veličiny:2 i efektivní stupeň volnosti:ν eff = u4 c(y) f x i f x j u(x i,x j ) koeficient pokrytí:1 α= t 1 α inf f(t,ν eff)dt,k=t p, p=1 2α x i x j 2 j u i 4(y) i ν i KOMPLIKOVANÉ(?) rozšířená nejistota:u=ku c (y),y U Y Y+U p. 4
Metoda Monte Carlo třída algorimtů pro simulaci systémů p. 5
Metoda Monte Carlo třída algorimtů pro simulaci systémů opakované náhodné vzorkování pro simulaci náhodných dějů p. 5
Metoda Monte Carlo třída algorimtů pro simulaci systémů opakované náhodné vzorkování pro simulaci náhodných dějů využití: p. 5
Metoda Monte Carlo třída algorimtů pro simulaci systémů opakované náhodné vzorkování pro simulaci náhodných dějů využití: řešení diferenciálních rovnic p. 5
Metoda Monte Carlo třída algorimtů pro simulaci systémů opakované náhodné vzorkování pro simulaci náhodných dějů využití: řešení diferenciálních rovnic počítání určitých integrálů p. 5
Metoda Monte Carlo třída algorimtů pro simulaci systémů opakované náhodné vzorkování pro simulaci náhodných dějů využití: řešení diferenciálních rovnic počítání určitých integrálů simulace experimentů, převážně: p. 5
Metoda Monte Carlo třída algorimtů pro simulaci systémů opakované náhodné vzorkování pro simulaci náhodných dějů využití: řešení diferenciálních rovnic počítání určitých integrálů simulace experimentů, převážně: štěpné reakce p. 5
Metoda Monte Carlo třída algorimtů pro simulaci systémů opakované náhodné vzorkování pro simulaci náhodných dějů využití: řešení diferenciálních rovnic počítání určitých integrálů simulace experimentů, převážně: štěpné reakce difuze plynů p. 5
Metoda Monte Carlo třída algorimtů pro simulaci systémů opakované náhodné vzorkování pro simulaci náhodných dějů využití: řešení diferenciálních rovnic počítání určitých integrálů simulace experimentů, převážně: štěpné reakce difuze plynů proudění tekutin p. 5
Metoda Monte Carlo třída algorimtů pro simulaci systémů opakované náhodné vzorkování pro simulaci náhodných dějů využití: řešení diferenciálních rovnic počítání určitých integrálů simulace experimentů, převážně: štěpné reakce difuze plynů proudění tekutin výpočet nejistot p. 5
historie MMC vyvinuli John von Neumann, Stanislaw Ulam a Nicholas Metropolis 1940 v Los Alamos během vývoje atomové bomby p. 6
historie MMC vyvinuli John von Neumann, Stanislaw Ulam a Nicholas Metropolis 1940 v Los Alamos během vývoje atomové bomby Ulam měl myšlenku používání náhodných čísel p. 6
historie MMC vyvinuli John von Neumann, Stanislaw Ulam a Nicholas Metropolis 1940 v Los Alamos během vývoje atomové bomby Ulam měl myšlenku používání náhodných čísel von Neumann použil generování náhodných čísel místo seznamu náhodných čísel p. 6
historie MMC vyvinuli John von Neumann, Stanislaw Ulam a Nicholas Metropolis 1940 v Los Alamos během vývoje atomové bomby Ulam měl myšlenku používání náhodných čísel von Neumann použil generování náhodných čísel místo seznamu náhodných čísel Metropolis vypracoval algorithmy p. 6
historie MMC vyvinuli John von Neumann, Stanislaw Ulam a Nicholas Metropolis 1940 v Los Alamos během vývoje atomové bomby Ulam měl myšlenku používání náhodných čísel von Neumann použil generování náhodných čísel místo seznamu náhodných čísel Metropolis vypracoval algorithmy pojmenováno po městě Monte Carlo, kde Ulamův strýc často prohrálval v kasinu p. 6
Monte Carlo, Monako Autor fotografie: Joseph Plotz p. 7
Příklad použití MMC Výpočet Ludolfova čísla: π = 3, 14159... 1-1 -0.5 0.5 0 0 0.5 1 Obsah kruhu: S 1 =πr 2 Obsah čtverce: S 2 =r 2 Počet bodů: N Počet bodů v kruhu:m -0.5-1 S 1 S 2 = πr2 r 2 =M N π=m N p. 8
Průběh výpočtuπ 1 0.8 10: 0.6 0.4 0.2 0 0 0.2 0.4 0.6 0.8 1 p. 9
Průběh výpočtuπ 1 1 0.8 0.8 10: 0.6 0.4 100: 0.6 0.4 0.2 0.2 0 0 0.2 0.4 0.6 0.8 1 0 0 0.2 0.4 0.6 0.8 1 p. 9
Průběh výpočtuπ 1 1 0.8 0.8 10: 0.6 0.4 100: 0.6 0.4 0.2 0.2 0 1 0 0.2 0.4 0.6 0.8 1 0 0 0.2 0.4 0.6 0.8 1 0.8 1000: 0.6 0.4 0.2 0 0 0.2 0.4 0.6 0.8 1 p. 9
Průběh výpočtuπ 1 1 0.8 0.8 10: 0.6 0.4 100: 0.6 0.4 0.2 0.2 0 1 0 0.2 0.4 0.6 0.8 1 0 1 0 0.2 0.4 0.6 0.8 1 0.8 0.8 1000: 0.6 0.4 10000: 0.6 0.4 0.2 0.2 0 0 0.2 0.4 0.6 0.8 1 0 0 0.2 0.4 0.6 0.8 1 p. 9
Výsledek výpočtuπmmc 3.2 3.1 3 2.9 2.8 2.7 2.6 2.5 2.4 2.3 10 100 1000 10000 100000 1e+06 Zvýšením řádu opakování získáme obvykle jednu cifruπ. (Moderní iterační metody přidají 5 ciferπkaždým výpočetním krokem.) p. 10
Čísla musí být náhodná 1 0.5-1 -0.5 0 0 0.5 1 π 100 100 =1-0.5-1 p. 11
Proč ne pravidelné rozložení čísel? Hra lodě: hrací pole: hrací pole: p. 12
Proč ne pravidelné rozložení čísel? Hra lodě: pravidená střelba: náhodná střelba: p. 12
Proč ne pravidelné rozložení čísel? Hra lodě: žádný zásah čtyři zásahy! p. 12
Nejistoty metodou Monte Carlo Postup: vytvoření matematického modelu děje p. 13
Nejistoty metodou Monte Carlo Postup: vytvoření matematického modelu děje určení hustot pravděpodobnosti vstupních veličin p. 13
Nejistoty metodou Monte Carlo Postup: vytvoření matematického modelu děje určení hustot pravděpodobnosti vstupních veličin provedení dostatečného počtu simulací p. 13
Nejistoty metodou Monte Carlo Postup: vytvoření matematického modelu děje určení hustot pravděpodobnosti vstupních veličin provedení dostatečného počtu simulací zpracování výpočetních hodnot stochastickými metodami p. 13
Nejistoty metodou Monte Carlo Postup: vytvoření matematického modelu děje určení hustot pravděpodobnosti vstupních veličin provedení dostatečného počtu simulací zpracování výpočetních hodnot stochastickými metodami určení nejpravděpodobnější hodnoty a nejistoty p. 13
Jednoduchý příklad matematický model:y =A+B p. 14
Jednoduchý příklad matematický model:y =A+B hodnoty:a=b=0.5 p. 14
Jednoduchý příklad matematický model:y =A+B hodnoty:a=b=0.5 nejistoty: u(a) = u(b) = 0.5, normální rozdělení p. 14
Jednoduchý příklad matematický model:y =A+B hodnoty:a=b=0.5 nejistoty: u(a) = u(b) = 0.5, normální rozdělení Y = 1 + 1 0 0,5 0 0,5 p. 14
Jednoduchý příklad výpočet 1, A 1=0,8 B 1 =0,5 Y =1,3 Histogram: 0 1 p. 15
Jednoduchý příklad výpočet 1, A 1=0,8 B 1 =0,5 Y =1,3 Histogram: 2, A 2=0,34 B 2 =0,1 Y =0,54 0 1 p. 16
Jednoduchý příklad výpočet 1, A 1=0,8 B 1 =0,5 Y =1,3 Histogram: 2, A 2=0,34 B 2 =0,1 3, A 3=0,07 B 3 =1,23 Y =0,54 Y =1,3 0 1 p. 17
Jednoduchý příklad výpočet 1, A 1=0,8 B 1 =0,5 Y =1,3 Histogram: 2, A 2=0,34 B 2 =0,1 Y =0,54 3, A 3=0,07 B 3 =1,23... Y =1,3 10 6, A 10 6=0,11 B 10 6=0,42 Y 10 6=0,52 0 1 p. 18
Jednoduchý příklad výpočet 1, A 1=0,8 B 1 =0,5 Y =1,3 Histogram: 2, A 2=0,34 B 2 =0,1 Y =0,54 3, A 3=0,07 B 3 =1,23... Y =1,3 10 6, A 10 6=0,11 B 10 6=0,42 Y 10 6=0,52 0 1 p. 19
Určení nejistoty Nejistota: pravá hodnotay se nachází v daném intervalu s nejistotoup. Určení nejistoty odpovídá nalezení plochy pod křivkou odpovídajícípzcelkové plochy křivky. p. 20
Určení nejistoty Nejistota: pravá hodnotay se nachází v daném intervalu s nejistotoup. Určení nejistoty odpovídá nalezení plochy pod křivkou odpovídajícípzcelkové plochy křivky. 68,27% plochy 15,87% plochy 15,87% plochy -u +u p. 20
Určení nejistoty Nejistota: pravá hodnotay se nachází v daném intervalu s nejistotoup. Určení nejistoty odpovídá nalezení plochy pod křivkou odpovídajícípzcelkové plochy křivky. 95,45% plochy 2,28% plochy 2,28% plochy -U +U p. 20
schéma metody Monte Carlo p. 21
GUF vs MMC x 1,u(x 1 ) x 2,u(x 2 ) x 3,u(x 3 ) GUF Y =f(x) y,u(y) g X 1 (ξ 1 ) MMC g X 2 (ξ 2 ) Y =f(x) g Y (η) g X 3 (ξ 3 ) p. 22
výhody a nevýhody MMC Lze počítat i s kompikovanými rozděleními a komplexními čísly. p. 23
výhody a nevýhody MMC Lze počítat i s kompikovanými rozděleními a komplexními čísly. Je třeba mít generátor náhodných čísel a vhodný software. p. 23
výhody a nevýhody MMC Lze počítat i s kompikovanými rozděleními a komplexními čísly. Není třeba derivovat. Je třeba mít generátor náhodných čísel a vhodný software. p. 23
výhody a nevýhody MMC Lze počítat i s kompikovanými rozděleními a komplexními čísly. Není třeba derivovat. Je třeba mít generátor náhodných čísel a vhodný software. Nelze počítat na papíře. p. 23
výhody a nevýhody MMC Lze počítat i s kompikovanými rozděleními a komplexními čísly. Není třeba derivovat. Je třeba mít generátor náhodných čísel a vhodný software. Není třeba odhadovat a počítat stupně volnosti. Nelze počítat na papíře. p. 23
složitý příklad ukázka chyby GUF Guide to the Expression of Uncertainty in Measurements, Annex H, příklad koncových měrek: p. 24
složitý příklad ukázka chyby GUF Guide to the Expression of Uncertainty in Measurements, Annex H příklad koncových měrek GUF: δl=(838±62)nm,k=2, t-rozdělení,p=95,45% p. 25
složitý příklad ukázka chyby GUF Guide to the Expression of Uncertainty in Measurements, Annex H příklad koncových měrek GUF: δl=(838±62)nm,k=2, t-rozdělení,p=95,45% MMC: δl=(838±67)nm,p=95,45%,53 10 4 opakování p. 25
kdy použít MMC? když vstupní veličiy mají "divoká rozdělení" p. 26
kdy použít MMC? když vstupní veličiy mají "divoká rozdělení" když citlivostní koeficienty jsou nulové p. 26
kdy použít MMC? když vstupní veličiy mají "divoká rozdělení" když citlivostní koeficienty jsou nulové když zvítězí lenost derivovat p. 26
Centrální limitní věta Velké množství libovolných vstupních rozdělení dá výsledné normální rozdělení. p. 27
software pro MMC Obecné programy: Matlab ($), Octave, R,... p. 28
software pro MMC Obecné programy: Matlab ($), Octave, R,... Specializované programy: Gum Workbench Pro, Qualisyst QMSys GUM Professinal, OpenBugs. p. 28
software pro MMC Obecné programy: Matlab ($), Octave, R,... Specializované programy: Gum Workbench Pro, Qualisyst QMSys GUM Professinal, OpenBugs. Nevhodné programy: Excel 2000, 2003, skriptovací jazyk VBA v Excelu 2007, (Excel 2010?) p. 28
Děkuji za pozornost p. 29