统计计算实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一 Q-Q检验图法检验样本正态性
【实验目的】
熟悉运用计算机软件,编写计算程序,掌握检验一个随机变量是否服从正态分布。
【实验内容】
1.运用一种软件语言,并用该语言编写算法。
2.用Q-Q图检验法检验一个样本的正态性。
【实验原理与步骤】
1 把样本数据从小到大顺序排列,相应事件的概率为;
2 对概率计算相应的标准正态分位数;
3 把点画在坐标平面坐标系上,并考察其是否在一条直
线上;
4 计算相关系数,并检验其正态性。
【实验结果】
实验程序:
function r=zhengtaijianyan(x) % 检验数据x是否服从正态分布,返回r为P23相关系数
n=size(x,2); % n值为向量的列数
a=[];%对数据从小到大排序的中间变量
p=zeros(1,n);% x_i对于事件(X u=zeros(1,n);% u_i是正态总体的分位数 r=[];% x_i与u_i的先关系数 for j=2:n; for i=n:-1:j; if x(i) a=x(i); x(i)=x(i-1); %对数据排序 x(i-1)=a; end end end x % 数据按从小到大重新排序后的新数据 for i=1:n; p(i)=(i-0.5)/n; u(i)=norminv(p(i)); %计算正态总体分位数 end r1=0;r2=0;r3=0; for i=1:n x1=mean(x);u1=mean(u); r1=r1+(x(i)-x1)*(u(i)-u1); r2=r2+(x(i)-x1)^2;r3=r3+(u(i)-u1)^2; end plot(x,u,'*') % 缺图形,做出QQ图形 r=r1/(sqrt(r2)*sqrt(r3)) 【结果分析与讨论】 在Matlab命令窗口中输入: >> x=[56 23 59 74 49 43 39 51 37 61 43 51 61 43 51 61 99 23 56 49 49 75 20]; >> zhengtaijianyan(x) 得到的结果为: r = 0.9689 ans = 0.9689 相应的Q-Q图如下图所示: 从相关系数和Q-Q图可以看出的线性很强,也即认为样本来自正态分布总体。 评价:Q-Q图检验相对于其它检验结果更为直观,但一般要求样本容量n较大,样本很小时,就是来自正态总体的样本,Q-Q图的直线性也很不稳定。 实验二连分式逼近法求标准正态分布分布函数【实验目的】 熟悉运用计算机软件,编写计算程序,掌握用连分式逼近法求标准正态分布分布函数方法。 【实验内容】 1.运用一种软件语言,并用该语言编写算法。 2.用连分式逼近法求标准正态分布分布函数。 【实验原理与步骤】 1 根据正态分布函数连分式的近似展开式将正态分布函 数展开; 2 根据连分式逼近算法对展开式进行逼近近似; 【实验结果】 实验程序: function u1=zhengtaifenbu(x,n) fy=1/(sqrt(2*pi))*exp(-(x.^2/2)); if (0<=x<=3) u1=(-1)^n*n*x.^2/(2*n+1); % 相当于Un % q1=2*k+1; % 相当于Qn for k=n:-1:2; u1=(-1)^(k-1)*(k-1)*x.^2/(2*(k-1)+1+u1); % 相当于U(k-1) % q1=(2*(k-1)+1)+(-1)^k*k*x^2/q1; % 相当于Q(k-1) end u1=fy*x./(1+u1); u1=1/2+u1; % q1=1-x^2/q1; % q1=1/2+fy.*x./q1 else u1=n/x; % q1=x; for k=n:-1:2; u1=(k-1)/(x+u1); % q1=x+k/q1; end u1=(-1)*fy/(x+u1); u1=1+u1; % q1=x+1/q1; % q1=1+(-1)*fy/q1 end normcdf(x) 【结果分析与讨论】 在Matlab命令窗口中输入: >> x=[-0.24 -0.58 -0.85 0 0.67 0.69 0.70]; >> zhengtaifenbu(x,3) 输出结果为: ans = 0.4052 0.2810 0.1977 0.5000 0.7486 0.7549 0.7580 输出的结果与正态分布表对照,在有效小数范围内是相等,可见该种方法可行有效。 实验三二分法求Beta分布的分位数 【实验目的】 熟悉运用计算机软件,编写计算程序,掌握二分法求Beta 分布的分位数方法。 【实验内容】 1.运用一种软件语言,并用该语言编写算法。 2.二分法求Beta分布的分位数。 【实验原理与步骤】 实验程序为: function l=erfen(a1,b1,tol) h=a1; q=b1;