(Numbriline) integreerimine Monte-Carlo meetodil
Meetod I.
Hinnangu täpsus
Usaldusintervall Milline on 95%-usaldusintervall integraali tegelikule väärtusele (kui n on suur)? Usaldusintervall keskväärtusele: Usaldusintervall integraali tegelikule väärtusele
Näide U(a,b); a=0; b=1 U(0,c); c=0 y<g(x) I=c(b-a)*k/n > x=runif(n, 0, 1) > y=runif(n, 0, 1) > k=sum(y<x) > I_hinnang=1*(1-0)*k/n > > I_hinnang [1] 0.50302 > I_hinnang+qnorm(0.025)*sqrt(I_hinnang/n*(1*(1-0)-I_hinnang)) [1] 0.4999211 > I_hinnang+qnorm(0.975)*sqrt(I_hinnang/n*(1*(1-0)-I_hinnang)) [1] 0.5061189 > t.test(1*(1-0)*(y<x))$conf.int [1] 0.499921 0.506119 U(a,b); a=0; b=1 U(0,c); c=0 y<g(x) I=c(b-a)*k/n
Alternatiivne idee Aga keskväärtus ≈ keskmine
> I_hinnang2=mean(g_tarn) > I_hinnang2 [1] 0.5002724 > x=runif(n, 0, 1) > g_tarn=x*(1-0) > I_hinnang2=mean(g_tarn) > I_hinnang2 [1] 0.5002724 > t.test(g_tarn)$conf.int [1] 0.4984815 0.5020633 U(a,b) g*(x)=(b-a)*g(x) Täpsem hinnang? Varem: > I_hinnang [1] 0.50302
Alternatiivse idee täpsus
Lihtne Monte-Carlo meetod Tihedusfunktsioon: f(x)≥0 iga x korral;
Lihtne Monte-Carlo meetod g(x) f(x)
Lihtne Monte-Carlo meetod X ~ N(0,1)
Lihtne Monte-Carlo meetod Sammud: Genereeri x1,x2,...,xn ~ N(0,1) (üldjuhul: x1,x2,...,xn ~ f(x)) Arvuta g1 = g(x1),... , gn = g(xn), Hinda integraali väärtust I ≈ g X ~ N(0,1)
Lihtne Monte-Carlo meetod g(x) f(x)
Lihtne Monte-Carlo meetod x = rnorm(n) gx = x / (1/sqrt(2*pi)*exp(-x**2/2))*(x>=1 & x<3) I_hinnang = mean(gx) Hinnang: 4,07 UI: ( 3,92...4,22 ) Tegelik: 4 n = 100000 x = runif(n, 1, 3) gx = 2*x I_hinnang = mean(gx) Hinnang: 4,00.. UI: ( 3,99...4,01 )
Täpsuse hinnang Hinnangu dispersioon Hinnangu standardviga D(I_hinnang) = D(g(X)) / n Hinnangu standardviga σ(I_hinnang) = σ(g(X)) / sqrt(n) Standardvea hinnang s(I_hinnang) = s(g(X)) / sqrt(n) Genereeritud X-ide arv
Usaldusintervall Integraali tegelikule väärtusele Usaldusintervall integraali tegelikule väärtusele = usaldusintervall keskväärtusele: I_hinnang +/- zα/2 s(I_hinnang)