
此时, , , ,所以
(次).
6.3 减小方差的各种技巧
显然,当给定置信度α后,误差ε由σ和N决定.要减小ε,或者是增大N,或者是减小方差 .在 固定的情况下,要把精度提高一个数量级,试验次数N需增加两个数量级.因此,单纯增大N不是一个有效的办法.
另一方面,如能减小估计的均方差σ,比如降低一半,那误差就减小一半,这相当于N增大四倍的效果.因此降低方差的各种技巧,引起了人们的普遍注意.
一般来说,降低方差的技巧,往往会使观察一个子样的时间增加.在固定时间内,使观察的样本数减少.所以,一种方法的优劣,需要由方差和观察一个子样的费用(使用计算机的时间)两者来衡量.这就是蒙特卡罗方法中效率的概念.它定义为 ,其中c 是观察一个子样的平均费用.显然 越小,方法越有效.
总的来说,增大样本 的值对计算机要求较高;减小方差的技巧都只具有指导思想上的意义.对于实际的计算问题,往往要求对涉及的随机变量有先验的了解,或者对发生的物理过程的性态有一定的认识.通过利用这些预知的信息采取相应的手段减小误差,提高精度.
附录
1.
(1) n=1000;p={}
Do[m=0;Do[x=Random[];y=Random[];
If[x^2+y^2<=1,m++],{k,1,n}];
AppendTo[p,N[4m/n]],{t,1,10}];
Print[p];
Sum[p[[t]],{t,1,10}]/10
(2) n=10000;p={}
Do[m=0;Do[x=Random[];y=Random[];
If[x^2+y^2<=1,m++],{k,1,n}];
AppendTo[p,N[4m/n]],{t,1,10}];
Print[p];
Sum[p[[t]],{t,1,10}]/10
(3) n=100000;p={}
Do[m=0;Do[x=Random[];y=Random[];
If[x^2+y^2<=1,m++],{k,1,n}];
AppendTo[p,N[4m/n]],{t,1,10}];
Print[p];
Sum[p[[t]],{t,1,10}]/10
2. n=1000;p={}
Do[m=0;
Do[x=Random[];y=Random[];z=Random[];
If[x^2+y^2<=1&&x^2+z^2<=1&&y^2+z^2<=1,m++],{k,1,n}];
AppendTo[p,N[8m/n]],{t,1,10}];
Print[p];
Sum[p[[t]],{t,1,10}]/10
3. n=1000;p={}
Do[m=0;
Do[x=Random[Integer]+2;y=Random[Integer]+1;
If[x>y,m++],{k,1,n}];
AppendTo[p,N[m]],{t,1,20}]
Print[m];
{Sum[p[[t]],{t,1,20}]/20,1000-Sum[p[[t]],{t1,20}]/20}
参考文献
[1] 徐钟济.蒙特卡罗方法[M].上海:上海科学技术出版社,1985:171-188.
[2] 茆诗松,王静龙,濮晓龙.高等数理统计[M].北京:高等教育出版社,2006:415-454.
[3] 周铁,徐树方,张平文等.计算方法[M].吉林:清华大学出版社,2006:299-353.
[4] 李尚志,陈发来,张韵华等.数学实验[M].北京:高等教育出版社,2004:23-30.
[5] 王岩.Monte Carlo方法应用研究[J].云南大学学报(自然科学版),2006,28(S1): 23-26.
[6] 薛毅,陈立萍.统计建模与R软件[M].北京:清华大学出版社,2008:476-485.
[7] 杨自强.你也需要蒙特卡罗方法———提高应用水平的若干技巧[J]. 数理统计与管理, 2007,27(2):355-376.
4/4 首页 上一页 2 3 4 |