基于 MATLAB 的概率统计数值实验 三、数理统计

37
本本本本本本 本本本本本本 本本 MATLAB 本本本 本本本本本 本本本本 本本本本 本本本 本本本本 本本本本本本本本 Email [email protected] 本本本本http://web.xidian.edu.cn/qkdong/

description

基于 MATLAB 的概率统计数值实验 三、数理统计. 本科生必修课:概率论与数理统计. 主讲教师 :董庆宽 研究方向 :密码学与信息安全 Email : [email protected] 个人主页: http://web.xidian.edu.cn/qkdong/. 内容介绍. 三、数理统计 1. Matlab 统计工具箱中常见的统计命令 2. 直方图和箱线图实验 3. 抽样分布实验 4. 参数估计和假设检验实验. Matlab 统计工具箱中常见的统计命令. 1 、基本统计量 对于随机变量 x ,计算其基本统计量的命令如下: - PowerPoint PPT Presentation

Transcript of 基于 MATLAB 的概率统计数值实验 三、数理统计

Page 1: 基于 MATLAB 的概率统计数值实验 三、数理统计

本科生必修课:概率论与数理统计

基于 MATLAB 的概率统计数值实验

三、数理统计主讲教师:董庆宽

研究方向:密码学与信息安全

Email : [email protected]

个人主页: http://web.xidian.edu.cn/qkdong/

Page 2: 基于 MATLAB 的概率统计数值实验 三、数理统计

2/87

内容介绍

三、数理统计

1. Matlab 统计工具箱中常见的统计命令

2. 直方图和箱线图实验

3. 抽样分布实验

4. 参数估计和假设检验实验

Page 3: 基于 MATLAB 的概率统计数值实验 三、数理统计

3/87

Matlab 统计工具箱中常见的统计命令

1 、基本统计量

对于随机变量 x ,计算其基本统计量的命令如下: 均值: mean(x) 标准差: std(x)

中位数: median(x) 方差: var(x)

偏度: skewness(x) 峰度: kurtosis(x)

2 、频数直方图的描绘 A 、给出数组 data 的频数表的命令为: [N,X]=hist(data,k)

此命令将区间 [min(data),max(data)] 分为 k 个小区间 ( 缺省为 10) ,返回数组 data 落在每一个小区间的频数 N 和每一个小区间的中点 X 。

B 、描绘数组 data 的频数直方图的命令为: hist(data,k)

Page 4: 基于 MATLAB 的概率统计数值实验 三、数理统计

4/87

3 、参数估计 A 、对于正态总体,点估计和区间估计可同时由以下命令获得:

[muhat,sigmahat,muci,sigmaci]=normfit(x,alpha)

此命令在显著性水平 alpha 下估计 x 的参数( alpha 缺省值为 5% ),返回值muhat 是均值的点估计值, sigmahat 是标准差的点估计值, muci 是均值的区间估计, sigmaci 是标准差的区间估计。

B 、对其他分布总体,两种处理办法:一是取容量充分大的样本,按中心极限定理,它近似服从正态分布,仍可用上面估计公式计算;二是使用特定分布总体的估计命令,常用的命令如:

[muhat,muci]=expfit(x,alpha)

[lambdahat, lambdaci]=poissfit(x,alpha)

[phat, pci]=weibfit(x,alpha)

Matlab 统计工具箱中常见的统计命令

Page 5: 基于 MATLAB 的概率统计数值实验 三、数理统计

5/87

4 、正态总体假设检验 A 、单总体均值的 z 检验: [h,sig,ci]=ztest(x,m,sigma,alpha,tail)

检验数据 x 关于总体均值的某一假设是否成立,其中 sigma 为已知方差,alpha 为显著性水平,究竟检验什么假设取决于 tail 的取值:

tail=0 ,检验假设“ x 的均值等于 m”

tail=1 ,检验假设“ x 的均值大于 m”

tail=-1 ,检验假设“ x 的均值小于 m”

tail 的缺省值为 0 , alpha 的缺省值为 5% 。 返回值 h 为一个布尔值, h=1 表示可拒绝原假设, h=0 表示不可拒绝原

假设, sig 为假设成立的概率, ci 为均值的 1- alpha 置信区间。

Matlab 统计工具箱中常见的统计命令

Page 6: 基于 MATLAB 的概率统计数值实验 三、数理统计

6/87

B 、单总体均值的 t 检验:

[h,sig,ci]=ttest(x,m,alpha,tail)

C 、双总体均值的 t 检验:

[h,sig,ci]=ttest2(x,y,alpha,tail)

Matlab 统计工具箱中常见的统计命令

Page 7: 基于 MATLAB 的概率统计数值实验 三、数理统计

7/87

5 、非参数检验:总体分布的检验 Matlab 统计工具箱提供了两个对总体分布进行检验的命令: A 、 h=normplot(x)

此命令显示数据矩阵 x 的正态概率图,如果数据来自于正态分布,则图形显示出直线形态,而其他概率分布函数显示出曲线形态。

B 、 h=weibplot(x)

此命令显示数据矩阵 x 的 Weibull 概率图,如果数据来自于 Weibull 分布,则图形显示出直线形态,而其他概率分布函数显示出曲线形态。

Matlab 统计工具箱中常见的统计命令

Page 8: 基于 MATLAB 的概率统计数值实验 三、数理统计

8/87

例 1 在同一坐标轴上画 box 图,并对两个班的成绩进行初步的分析比较。两个教学班各 30 名同学,在数学课程上, A 班用新教学方法组织教学, B 班用传统方法组织教学,现得期末考试成绩如下。 A : 82 , 92 , 77 , 62 , 70 , 36 , 80 , 100 , 74 , 64 , 63 ,56 , 72 , 78 , 68 , 65 , 72 . 70 , 58 , 92 , 79,92 , 65 , 56 , 85 , 73 , 61 , 71 , 42 , 89 B : 57 , 67 , 64 , 54 , 77 , 65 , 71 , 58 , 59 , 69 , 67 , 84 ,63 , 95 , 81 , 46 , 49, 60, 64 , 66 , 74 , 55 , 58 , 63 , 65 , 68 ,76 , 72 , 48 , 72

解 >> clearx=[82,92,77,62,70,36,80,100,74,64,63,56,72,78,68,65,72,70,58,92,79,92,65,56,85,73,61,71,42,89;57,67,64,54,77,65,71,58,59,69,67,84,63,95,81,46,49,60,64,66,74,55,58,63,65,68,76,72,48,72]; boxplot(x')

2. 直方图和箱线图实验

Page 9: 基于 MATLAB 的概率统计数值实验 三、数理统计

9/87

40

50

60

70

80

90

100

1 2

Page 10: 基于 MATLAB 的概率统计数值实验 三、数理统计

10/87

从图中直观地看出,两个班成绩的分布是正态(对称)的, A 班成绩较为分散 ( 方差大 ) , B 班成绩则较集中 ( 方差小 ) 。 A 班成绩明显高于 B 班 ( 均值比较.并且A 班 25 %低分段上限接近 B 班中值线, A 班中值线接近B 班 25 %高分段下限 ) 。 A 班的平均成绩约为 70 分 ( 中值 ) , B 班约为 65 分 ( 中值 ) 。 A 班有一名同学的成绩过低 ( 离群 ) ,而 B 班成绩优秀的只有一人 ( 离群 ) 。

需要注意的是,从图中我们不能得出新教学方法一定优于传统教学方法的结论,因为我们并不知道两个班级原有的数学基础是怎样的。

Page 11: 基于 MATLAB 的概率统计数值实验 三、数理统计

11/87

例 2 用模拟试验的方法直观地验证教材§6.3抽样分布定理一的结论。 假定变量 ,用随机数生成的方法模拟对 的 500次简单随机抽样,每个样本的容量为 16。利用这 500×16个样本数据直观地验证样本均值 的抽样分布为均值等于 60、方差等于 25 / 16的正态分布,即

X

X

225.1,60~ NX

25,60~ NX

Page 12: 基于 MATLAB 的概率统计数值实验 三、数理统计

12/87

解 >> %1 、用随机数生成的方法模拟简单随机抽样 x=[];% 生成一个存放样本数据的空表(维数可变的动态矩阵) for byk=1:500 %循环控制,循环执行下面的指令 500次,本例中相当于

500次抽样 xx=normrnd(60,5,16,1);% 生成一个来自 N(60,25) 的容量为 16 的样本

(列向量) x=[x,xx]; % 将样本数据逐列存入数表 x ,可从 matlab 的变量浏览器

( workspace )中观察这个数表 end

%2 、计算每个样本的样本均值( 1~500 ) xmean=mean(x);% 可从变量浏览器中观察这 500 个数据 %3 、绘制 500 个样本均值数据的直方图 k=ceil(1.87*(length(x)-1)^(2/5));

%确定分组数 h=histfit(xmean,k);% 绘制附正态参考曲线的数据直方图 set(h(1),'FaceColor','c','EdgeColor','w')% 修饰,设置直方图线条颜色与填充色

%4 、用这 500 个样本均值数据验证样本均值的均值和方差 M=mean(xmean) %求( 1~500 )样本的样本均值的均值 V=var(xmean)%求( 1~500 )样本的样本均值的方差

Page 13: 基于 MATLAB 的概率统计数值实验 三、数理统计

13/87

55 56 57 58 59 60 61 62 63 640

10

20

30

40

50

60

55 56 57 58 59 60 61 62 63 640

10

20

30

40

50

60

70

56 57 58 59 60 61 62 63 640

10

20

30

40

50

60

56 57 58 59 60 61 62 63 640

10

20

30

40

50

60

Page 14: 基于 MATLAB 的概率统计数值实验 三、数理统计

14/87

M = 59.9879 V = 1.4129

M = 60.0117 V = 1.3900

M = 59.9749 V = 1.5158

M = 59.9929 V = 1.5757

M = 59.8809

V = 1.6855 ……

55 56 57 58 59 60 61 62 63 640

10

20

30

40

50

60

……

Page 15: 基于 MATLAB 的概率统计数值实验 三、数理统计

15/87

例 3 观察:用 binornd模拟 5000次投球过程,观察小球堆积的情况。

>> clear;clf, n=5;p=0.5;m=5000;x=[0:1:n] rand('seed',3) R=binornd(n,p,1,m);%模拟服从二项分布的随机数,相当于模拟 投球m次

for I=1:n+1 %开始计数 k=[ ]; k=find(R==(I-1));%find 是一个有用的指令,本语句的作用是找出 R 中

等于 (I-1)元素下标,并赋予向量 k 中 h(I)=length(k)/m;% 计算落于编号 (I-1) 的格子中的小球频率 end bar(x,h),axis([-1 6 0 1])% 画频率图 title('\fontsize{18}\fontname{华文新魏 }5000次投球小球堆积的频率

图 ')

Page 16: 基于 MATLAB 的概率统计数值实验 三、数理统计

16/87

0 1 2 3 4 50

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

15000次投球小球堆积的频率图

0 1 2 3 4 50

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1B(5,0.5)理论分布图

>> f=binopdf(x,n,p),

bar(x,f),

axis([-1 6 0 1])

title('\fontsize{18}\fontname{华文新魏 }B(5,0.5) 理论分布图 ')

Page 17: 基于 MATLAB 的概率统计数值实验 三、数理统计

17/87

三、 MATLAB也为常用的三大统计分布提供了相应的 pdf 、cdf 、 inv 、 stat 、 rnd类函数,具体分布类型函数名称如下: 分布类型 MATLAB名称

22 分布 chi2t 分布 tF分布 f非中心 22 分布 ncx2非中心 t 分布 nct非中心 F分布 ncf

2

3. 抽样分布

Page 18: 基于 MATLAB 的概率统计数值实验 三、数理统计

18/87

例 4 22 分布的密度函数曲线解: >> % 绘制不同自由度的卡方分布概率密度曲线 clear,clf

X=linspace(0,20,100);

Y1=chi2pdf(X,1);% 自由度等于 1

Y2=chi2pdf(X,3);% 自由度等于 3

Y3=chi2pdf(X,6);% 自由度等于 6

plot(X,Y1,'-g',X,Y2,'-b',X,Y3,'-k')

title('\fontsize{18}\fontname{华文新魏 } 不同自由度的 {\chi}^2 分布概率密度曲线的比较 ')

text(0.6,0.6,'\fontsize{12}df:n=1')

text(2.6,0.2,'\fontsize{12}df:n=3')

text(8.6,0.09,'\fontsize{12}df:n=6')

legend('df:n=1','df:n=3','df:n=6')

Page 19: 基于 MATLAB 的概率统计数值实验 三、数理统计

19/87

0 2 4 6 8 10 12 14 16 18 200

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9不同自由度的2分布概率密度曲线的比较

df:n=1

df:n=3

df:n=6

df:n=1

df:n=3df:n=6

Page 20: 基于 MATLAB 的概率统计数值实验 三、数理统计

20/87

解: >> % 绘制 t 分布概率密度曲线 clear,clf X=linspace(-4,4,100); Y0=normpdf(X,0,1);% 标准正态分布 Y1=tpdf(X,45);% 自由度为 45 Y2=tpdf(X,4);% 自由度为 4 Y3=tpdf(X,2);% 自由度为 2 YY0=normpdf(0,0,1); plot(X,Y0,'.b',X,Y1,'-c',X,Y2,'-m',X,Y3,'-k',[0,0],[0,YY0],':r') title('\fontsize{18}\fontname{华文新魏 } 不同自由度的 t 分

布概率密度曲线 ') legend('N(0,1)','df:n=45','df:n=4','df:n=2')

例 5 t 分布的密度函数曲线。

Page 21: 基于 MATLAB 的概率统计数值实验 三、数理统计

21/87

-4 -3 -2 -1 0 1 2 3 40

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4t不同自由度的 分布概率密度曲线

N(0,1)

df:n=45df:n=4

df:n=2

Page 22: 基于 MATLAB 的概率统计数值实验 三、数理统计

22/87

解: >> %绘制 F分布概率密度曲线

clear,clf

X=linspace(0,6,100);

Y=fpdf(X,10,5);%自由度为 10,5

plot(X,Y)

text(1.5,0.55,'\fontsize{14}df:n1=10,n2=5')

例 6 F分布的密度函数曲线。

Page 23: 基于 MATLAB 的概率统计数值实验 三、数理统计

23/87

0 1 2 3 4 5 60

0.1

0.2

0.3

0.4

0.5

0.6

0.7

df:n1=10,n2=5

Page 24: 基于 MATLAB 的概率统计数值实验 三、数理统计

24/87

解: >>clear,clf

X=linspace(0,6,100);

Y11=fpdf(X,100,10);%自由度为 100,10

Y12=fpdf(X,5,10);%自由度为 5,10

Y21=fpdf(X,10,100);%自由度为 10,100

Y22=fpdf(X,10,5);%自由度为 10,5

subplot(2,1,1)

plot(X,Y11,X,Y12)

legend('df:n1=100,n2=10','df:n1=5,n2=10')

title('\fontsize{18}\fontname{华文新魏 }不同自由度的 F分布概率密度曲线 ')

subplot(2,1,2)

plot(X,Y21,X,Y22)

legend('df:n1=10,n2=100','df:n1=10,n2=5')

例 7 自由度对 F 分布的密度函数曲线的影响。

Page 25: 基于 MATLAB 的概率统计数值实验 三、数理统计

25/87

0 1 2 3 4 5 60

0.2

0.4

0.6

0.8

1F不同自由度的 分布概率密度曲线

df:n1=100,n2=10

df:n1=5,n2=10

0 1 2 3 4 5 60

0.2

0.4

0.6

0.8

1

df:n1=10,n2=100

df:n1=10,n2=5

Page 26: 基于 MATLAB 的概率统计数值实验 三、数理统计

26/87

例 8

机械零件的可靠度计算问题。

设计一个拉杆,其所受外力均值为 20000N ,标准差为 2000N ,拉杆半径 D 均值为 20mm ,标准差为 0.5mm ,材料强度 δ 均值为 412MPa ,标准差为 15.6MPa ,计算其可靠度。

Page 27: 基于 MATLAB 的概率统计数值实验 三、数理统计

27/87

问题分析:

拉杆应力表达式: ,其中拉力 P和尺寸公差d是影响 S的独立正态分布随机变量,其均值和标准差皆已知:

拉杆材料强度(许用应力) δ亦是服从正态分布的随机变量,均值和标准差皆已知:

2

4

d

PS

mmmmNN ddPP 5.020200020000 ,;,

MPaMPa 6.15412 , 根据材料力学中的应力强度理论进行分析计算(过

程略),得可靠度的结果为: 0.9999999 约等于 1 。

Page 28: 基于 MATLAB 的概率统计数值实验 三、数理统计

28/87

通过多次蒙特卡洛试验,统计可靠零件个数,求出其占总零件数的比值,即为可靠度。

设定零件总数 N=100000 ,可靠零件数 St=0 ;令 P_mean=20000;P_sigma=2000; D_mean=20;D_sigma=0.5; Q_mean=412*10^6;Q_sigma=15.6*10^6;

i=1;

根据已知分布产生随机数 p,d,q;

计算应力 s=(4*p)/(pi*d^2);

s<=q

St=St+1,i=i+1;

i<=NY N 计算可靠度 St/N

Page 29: 基于 MATLAB 的概率统计数值实验 三、数理统计

29/87

>> N=100000;St=0; P_mean=20000;P_sigma=2000; D_mean=20;D_sigma=0.5; Q_mean=412*10^6;Q_sigma=15.6*10^6; for i=1:N p=P_mean+P_sigma*randn(1); d=D_mean+D_sigma*randn(1); q=Q_mean+Q_sigma*randn(1); s=(4*p)/(pi*d^2); if s<=q St=St+1; end end St_p=St/N; fprintf(' 可靠度为: %f\n',St_p)

•可靠度为: 1.000000

Page 30: 基于 MATLAB 的概率统计数值实验 三、数理统计

30/87

3. 参数估计和假设检验 例 9 一道工序用自动化车床连续加工某种零件,由于刀具损坏等会出现故障。故障是完全随机的,并假定生产任一零件时出现故障机会均相同,工作人员是通过检查零件来确定工序是否出现故障的。现积累有 100次故障纪录,故障出现时该刀具完成的零件数如下: 459 362 624 542 509 584 433 748 815 505 612 452 434 982 640 74

2 565 706 593 680 926 653 164 487 734 608 428 1153 593 844 527 552 513 781 474 388 824 538 862 659 775 859 755 49 697 515 628 954 771 609 402 960 885 610 292 837 473 677 358 638 699 634 555 570 84 416 606 1062 484 120 447 654 564 339 280 246 687 539 790 581 621 724 531 512 577 496 468 499 544 645 764 558 378 765 666 763 217 715 310 851

试观察该刀具出现故障时完成的零件数属于哪种分布?

Page 31: 基于 MATLAB 的概率统计数值实验 三、数理统计

31/87

>> % 数据输入 x1=[459 362 624 542 509 584 433 748 815 505]; x2=[612 452 434 982 640 742 565 706 593 680]; x3=[926 653 164 487 734 608 428 1153 593 844]; x4=[527 552 513 781 474 388 824 538 862 659]; x5=[775 859 755 49 697 515 628 954 771 609]; x6=[402 960 885 610 292 837 473 677 358 638]; x7=[699 634 555 570 84 416 606 1062 484 120]; x8=[447 654 564 339 280 246 687 539 790 581]; x9=[621 724 531 512 577 496 468 499 544 645]; x10=[764 558 378 765 666 763 217 715 310 851]; x=[x1 x2 x3 x4 x5 x6 x7 x8 x9 x10]; %作频数直方图 hist(x,10) [N,X]=hist(x,10) % 分布的正态性检验 normplot(x)

Page 32: 基于 MATLAB 的概率统计数值实验 三、数理统计

32/87

0 200 400 600 800 1000 12000

5

10

15

20

25

N = 3 3 7 14 24 22 14 8 3 2

X = 1.0e+003 *

0.1042 0.2146 0.3250 0.4354 0.5458 0.6562 0.7666 0.8770 0.9874 1.0978

Page 33: 基于 MATLAB 的概率统计数值实验 三、数理统计

33/87

100 200 300 400 500 600 700 800 900 1000 11000.003

0.010.02

0.05

0.10

0.25

0.50

0.75

0.90

0.95

0.980.99

0.997

Data

Pro

babi

lity

Normal Probability Plot

Page 34: 基于 MATLAB 的概率统计数值实验 三、数理统计

34/87

>> %参数估计 [muhat,sigmahat,muci,sigmaci]=normfit(x)

muhat = 594

sigmahat = 204.1301

muci = 553.4962 634.5038

sigmaci = 179.2276 237.1329

刀具寿命服从正态分布,均值估计值为 594 ,方差估计值为 204.1301 ,均值的 95% 置信区间为[553.4962, 634.5038] ,方差的 95% 置信区间为[179.2276, 237.1329]

Page 35: 基于 MATLAB 的概率统计数值实验 三、数理统计

35/87

>> %假设检验

[h,sig,ci]=ttest(x,594)% 已知刀具寿命服从正态分布,方差未知的情况下,检验寿命均值是否等于 594 。

h = 0 sig = 1 ci = 553.4962 634.5038

检验结果:布尔变量 h=0 ,表示不可拒绝原假设,说明假设寿命均值等于 594 是合理的。

95% 置信区间为 [553.4962, 634.5038]完全包括 594 ,估计精度较高。

sig = 1远超过 0.05 ,不可拒绝原假设 所以可以认为刀具平均寿命为 594 (件)

Page 36: 基于 MATLAB 的概率统计数值实验 三、数理统计

36/87

作业 画出例 4 、例 5 和例 6 中 22 分布的图形分布的图形

自由度为自由度为 1,3,5,7,1001,3,5,7,100

Page 37: 基于 MATLAB 的概率统计数值实验 三、数理统计

37/87

谢谢!