前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【MATLAB 从零到进阶】day12 参数估计

【MATLAB 从零到进阶】day12 参数估计

作者头像
统计学家
发布2019-04-10 10:59:38
1.2K0
发布2019-04-10 10:59:38
举报

一、分布参数估计的MATLAB函数

二、常见分布的参数估计

【例10.1-1】从某厂生产的滚珠中随机抽取10个,测得滚珠的直径(单位:mm)如下: 15.14 14.81 15.11 15.26 15.08 15.17 15.12 14.95 15.05 14.87 若滚珠直径服从正态分布N(μσ2),其中,μσ未知,求,μσ的最大似然估计和置信水平为90%的置信区间。

>> x = [15.14 14.81 15.11 15.26 15.08 15.17 15.12 14.95 15.05 14.87]; >> [muhat,sigmahat,muci,sigmaci]=normfit(x,0.1) muhat = 15.0560 sigmahat = 0.1397 muci = 14.9750 15.1370 sigmaci = 0.1019 0.2298 >> [mu_sigma,mu_sigma_ci]=mle(x,'distribution','norm','alpha',0.1) mu_sigma = 15.0560 0.1325 mu_sigma_ci = 14.9750 0.1019 15.1370 0.2298

【例】调用normrnd函数生成100个服从均值为10,标准差为4的正态分布的随机数,然后调用mle函数求均值和标准差的最大似然估计。

>> x = normrnd(10,4,100,1); >> [phat,pci] = mle(x) phat = 9.4920 3.7598 pci = 8.7422 3.3178 10.2418 4.3897 >> [phat,pci] = mle(x,'distribution','normal') phat = 9.4920 3.7598 pci = 8.7422 3.3178 10.2418 4.3897 >> [phat,pci] = mle(x,'pdf',@normpdf,'start',[0,1]) phat = 9.4920 3.7598 pci = 8.7551 3.2388 10.2289 4.2809 >> [phat,pci] = mle(x,'cdf',@normcdf,'start',[0,1]) phat = 9.4920 3.7598 pci = 8.7422 3.3178 10.2418 4.3897

三、自定义分布的参数估计

ztest函数 调用格式:

h = ztest(x,m,sigma)

h = ztest(...,alpha)

h = ztest(...,alpha,tail)

h = ztest(...,alpha,tail,dim)

[h,p] = ztest(...)

[h,p,ci] = ztest(...)

[h,p,ci,zval] = ztest(...)

【例】某切割机正常工作时,切割的金属棒的长度服从正态分布N(100,4). 从该切割机切割的一批金属棒中随机抽取15根,测得它们的长度(单位:mm)如下: 97 102 105 112 99 103 102 94 100 95 105 98 102 100 103. 假设总体方差不变,试检验该切割机工作是否正常,即总体均值是否等于100mm?取显著性水平α=0.05.

%双侧检验

>> x = [97 102 105 112 99 103 102 94 100 95 105 98 102 100 103]; >> [h,p,muci,zval] = ztest(x,100,2,0.05) h = 1 p = 0.0282 muci = 100.1212 102.1455 zval = 2.1947

%单侧检验

>> [h,p,muci,zval] = ztest(x,100,2,0.05,'right') h = 1 p = 0.0141 muci = 100.2839 Inf zval = 2.1947

二、总体标准差未知时的单个正态总体均值的t检验

ttest函数

调用格式:

h = ttest(x)

h = ttest(x,m)

h = ttest(x,y)

h = ttest(...,alpha)

h = ttest(...,alpha,tail)

h = ttest(...,alpha,tail,dim)

[h,p] = ttest(...)

[h,p,ci] = ttest(...)

[h,p,ci,stats] = ttest(...)

【例】化肥厂用自动包装机包装化肥,某日测得9包化肥的质量(单位:kg)如下: 49.4 50.5 50.7 51.7 49.8 47.9 49.2 51.4 48.9 设每包化肥的质量服从正态分布,是否可以认为每包化肥的平均质量为50kg?取显著性水平α=0.05.

>> x = [49.4 50.5 50.7 51.7 49.8 47.9 49.2 51.4 48.9]; >> [h,p,muci,stats] = ttest(x,50,0.05) h = 0 p = 0.8961 muci = 48.9943 50.8945 stats = tstat: -0.1348 df: 8 sd: 1.2360

三、总体标准差未知时的两个正态总体均值的比较 t检验

1. 两独立样本的比较t检验

ttest2函数

调用格式:

h = ttest2(x,y)

h = ttest2(x,y,alpha)

h = ttest2(x,y,alpha,tail)

h = ttest2(x,y,alpha,tail,vartype)

h = ttest2(x,y,alpha,tail,vartype,dim)

[h,p] = ttest2(...)

[h,p,ci] = ttest2(...)

[h,p,ci,stats] = ttest2(...)

2. 配对样本的比较t检验

调用格式:

h = ttest(x,y)

h = ttest(...,alpha)

h = ttest(...,alpha,tail)

h = ttest(...,alpha,tail,dim)

[h,p] = ttest(...)

[h,p,ci] = ttest(...)

[h,p,ci,stats] = ttest(...)

四、总体均值未知时的单个正态总体方差的卡方检验

vartest函数

调用格式:

H = vartest(X,V)

H = vartest(X,V,alpha)

H = vartest(X,V,alpha,tail)

[H,P] = vartest(...)

[H,P,CI] = vartest(...)

[H,P,CI,STATS] = vartest(...)

[...] = vartest(X,V,alpha,tail,dim)

五、总体均值未知时的两个正态总体方差的比较 F 检验

vartest2函数

调用格式:

H = vartest2(X,Y)

H = vartest2(X,Y,alpha)

H = vartest2(X,Y,alpha,tail)

[H,P] = vartest2(...)

[H,P,CI] = vartest2(...)

[H,P,CI,STATS] = vartest2(...)

[...] = vartest2(X,Y,alpha,tail,dim)

第三节 常用非参数检验

一、游程检验

作用:用来检验来自于同一总体样本数据是否随机

1. 游程的定义

以时间顺序或其他顺序排列的有序数列中,具有相同的事件或符号的连续部分称为一个游程,通常用R表示游程总个数。

2. 游程检验基本原理

求出样本中位数,将样本观测值分为大于中位数和小于中位数的两个部分。用1,0(或+ -)交错形成的序列的游程个数来检验样本是否随机。

在固定样本量之下,如果游程个数过少,说明0和1相对比较集中,如果游程过多,说明0和1交替周期特征明显,这都不符合序列随机性的要求。也就是说游程个数过多或过少都应拒绝原假设。

3. 游程检验的MATLAB函数

runstest函数

调用格式:

h = runstest(x)

h = runstest(x,v)

h = runstest(x,'ud')

h = runstest(...,param1,val1,param2,val2,...)

[h,p] = runstest(...)

[h,p,stats] = runstest(...)

二、符号检验

作用:用来检验中位数是否等于给定常数。

1. 符号检验的MATLAB函数

调用格式:

[p,h,stats] = signtest(x)

[p,h,stats] = signtest(x,m,param1,val1,…)

[p,h,stats] = signtest(x,y,param1,val1,…)

三、Wilcoxon符号秩检验

作用:用来检验中位数是否等于给定常数。

1. Wilcoxon符号秩检验的MATLAB函数

调用格式:

[p,h,stats] = signrank(x)

[p,h,stats] = signrank(x,m,param1,val1,…)

[p,h,stats] = signrank(x,y,param1,val1,…)

四、Mann-Whitney秩和检验

作用:对两总体均值作比较检验。

Mann-Whitney秩和检验的MATLAB函数

调用格式:

[p,h,stats] = ranksum(x,y,param1,val1,…)

五、分布的检验

1、卡方拟合优度检验

当统计量的观测值超过某个临界值时可认为数据不服从理论分布。

调用格式:

h = chi2gof(x)

[h,p] = chi2gof(...)

[h,p,stats] = chi2gof(...)

[...] = chi2gof(X,'Name',value)

2、Kolmogorov-Smirnov检验

调用格式:

h = kstest(x)

h = kstest(x,CDF)

h = kstest(x,CDF,alpha)

h = kstest(x,CDF,alpha,type)

[h,p,ksstat,cv] = kstest(...)

调用格式:

h = kstest2(x1,x2)

h = kstest2(x1,x2,alpha,type)

[h,p] = kstest2(...)

[h,p,ks2stat] = kstest2(...)

调用格式:

h = lillietest(x)

h = lillietest(x,alpha)

h = lillietest(x,alpha,distr)

[h,p] = lillietest(...)

[h,p,kstat] = lillietest(...)

[h,p,kstat,critval] = lillietest(...)

[h,p,...] = lillietest(x,alpha,distr,mctol)

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2015-07-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 机器学习与统计学 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档