logo资料库

统计模拟及其R实现.doc

第1页 / 共4页
第2页 / 共4页
第3页 / 共4页
第4页 / 共4页
资料共4页,全文预览结束
1. 连续产生指数分布E(1)的值直到 个为止,其中 100满足 n  n S n 0.01. S 为此 个数的样本标准差。 n 问: (1) 至少为多少? n (2)样本均值与样本方差各为多少?它们与理论值有何差别? 解:(1)由题可知,连续产生指数分布满足条件时至少为 n=10527 次。 (2) 所得样本均值与方差分别为 1.003574 与 1.052662,计算模拟所得 的是近似值,他们之间在误差范围内等价。其求解程序如下: exam5.1=function(d){ x=rexp(100);k=100; ss=0;xbar=x[1]; #赋初值方差 0,均值想 x[1]; for(j in 1:(k-1)){ xbar[j+1]=xbar[j]+(x[j+1]-xbar[j])/(j+1)#动态均值; ss[j+1]=(1-1/j)*ss[j]+(j+1)*(xbar[j+1]-xbar[j])^2#动态方差; k=k+1 x[k]=rexp(1)#从 100 以外抽取的值赋给 x 的第 k 个变量; xbar[k]=xbar[k-1]+(x[k]-xbar[k-1])/(k) ss[k]=(1-1/(k-1))*ss[k-1]+k*(xbar[k]-xbar[k-1])^2 2. 根据产生的随机数估计 ( ) 。要求至少产生 个随机数。直到估计的标准差小于0.01为止。 1 exp x dx 2  0 $N [1] 10527 [1] 1.052662 $var 100 repeat{ } } } if(sqrt(ss[k])/sqrt(length(x))
}; 运行的结果为: Ex5.2(0.01) $me [1] 1.446026 $sde [1] 0.009997553 $N [1] 2221 6.为了估计E(X),X , , , 已经被模拟出,其数据如下: 10,11,10.5,11.5,14,8,13,6,15,10,11.5,10.5,12,8,16.5. 再根据这些数据,如果我们要使 (X)的估计量的标准差小于0.1,大概还需要运行多少次? 16 1 X 2  X E 解:由题可知,模拟程序如下: Ex5.6=function(d) { x=c(10,11,10.5,11.5,14,8,13,6,15,10,11.5,10.5,12,8,16,5);K=length(x);k=len gth(x);M=x;Mbar=M[1];ssM=0; for (i in 1: (k-1)){ Mbar[i+1]=Mbar[i]+(M[i+1]-Mbar[i])/(i+1); ssM[i+1]=(1-1/i)*ssM[i]+(i+1)*(Mbar[i+1]-Mbar[i])^2}; repeat{k=k+1; M[k]=sample(x,1); ##生成 100 以外的样本 Mbar[k]=Mbar[k-1]+(M[k]-Mbar[k-1])/k; ssM[k]=(1-1/(k-1))*ssM[k-1]+k*(Mbar[k]-Mbar[k-1])^2; if (sqrt(ssM[k]/length(M))
ssM[i+1]=(1-1/i)*ssM[i]+(i+1)*(Mbar[i+1]-Mbar[i])^2}; repeat{k=k+1; M[k]=sample(x,1); ##生成 100 以外的样本 Mbar[k]=Mbar[k-1]+(M[k]-Mbar[k-1])/k; ssM[k]=(1-1/(k-1))*ssM[k-1]+k*(Mbar[k]-Mbar[k-1])^2; if (sqrt(ssM[k]/length(M))
for (i in 1:B) {mub=mub+mean(sample(x,n,rep=T))/B; mu2=mu2+(mean(sample(x,n,rep=T))^2)/B;} list(mub=mub,var=mu2-mub^2); 结果是: $mub [1] 19.69891 $var [1] 0.7006966
分享到:
收藏