数学与计算科学学院《统计建模与R软件》实验报告题目:用R软件作参数估计专业:信息与计算科学学号:姓名:指导教师:成绩:二零一五年四月十四日《统计建模与R软件》实验报告(5)学号:姓名:班级:成绩:实验名称:用R软件作参数估计实验地点:所使用的工具软件及环境:R软件一、实验目的:理解参数估计原理,掌握R软件对数据进行参数估计。二、实验步骤:1、参数估计原理2、能够编写参数估计有关的R函数三、实验内容:1、矩估计2、极大似然法3、区间估计解:例1.5:编写相应的R函数(程序名:moment_fun.R)monent_fun-function(p){f-c(p[1]*p[2]-A1,p[1]*p[2]-p[1]*p[2]^2-M2)J-matrix(c(p[2],p[1],p[2]-p[2]^2,p[1]-2*p[1]*p[2]),nrow=2,byrow=T)list(f=f,J=J)}程序名:Newtons.RNewtons-function(fun,x,ep=1e-5,it_max=100){index-0;k-1while(k=it_max){x1-x;obj-fun(x);x-x-solve(obj$J,obj$f);norm-sqrt((x-x1)%*%(x-x1))if(normep){index-1;break}k-k+1}obj-fun(x);list(root=x,it=k,index=index,FunVal=obj$f)}考虑Newton法求解非线性方程组,其中样本取值由随机数产生。建立矩估计的R函数。x-rbinom(100,20,0.7);n-length(x)A1-mean(x);M2-(n-1)/n*var(x)source(moment_fun.R)source(Newtons.R)source(moment_fun.R)p-c(10,0.5);Newtons(moment_fun,p)#最后一句是给出初值,调用Newton法计算的根,其计算结果如下:$root[1]19.49570610.7237491$it[1]11$index[1]1$FunVal[1]0.000000e+00-2.220446e-15经过11次迭代,得到计算结果。例1.10:x-rcauchy(1000,1)f-function(p)sum((x-p)/(1+(x-p)^2))out-uniroot(f,c(0,5))out求根函数uniroot(),其结果是:$root[1]1.009444$f.root[1]-0.0003769551$iter[1]6$estim.prec[1]6.103516e-05loglike-function(p)sum(log(1+(x-p)^2))out-optimize(loglike,c(0,5))out$minimum[1]1.009443$objective[1]1400.774例3.1:编写程序建立R文件(interval_estimate1.R)interval_estimate1-function(x,sigma=-1,alpha=0.05){n-length(x);xb-mean(x)if(sigma=0){tmp-sigma/sqrt(n)*qnorm(1-alpha/2);df-n}else{tmp-sd(x)/sqrt(n)*qt(1-alpha/2,n-1);df-n-1}data.frame(mean=xb,df=df,a=xb-tmp,b=xb+tmp)}输入数据,调用interval_estimate1()source(interval_estimate1.R)X-c(14.6,15.1,14.8,15.2,15.1)interval_estimate1(X,sigma=0.2)meandfab114.96514.784715.1353因此,该零件长度的置信区间系数为0.95的置信区间为[14.78,15.13]四、收获或心得体会