非参数统计与matlab编程第三章符号检验法 1.docx
- 文档编号:8366002
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:12
- 大小:45.28KB
非参数统计与matlab编程第三章符号检验法 1.docx
《非参数统计与matlab编程第三章符号检验法 1.docx》由会员分享,可在线阅读,更多相关《非参数统计与matlab编程第三章符号检验法 1.docx(12页珍藏版)》请在冰豆网上搜索。
非参数统计与matlab编程第三章符号检验法1
第三章符号检验法
§3.1符号检验
函数signtest
格式p=signtest(x)原假设为x的中位数为0,显著性水平为0.05的双侧检验。
p=signtest(x,m)原假设为x的中位数为m,显著性水平为0.05的双侧检验。
p=signtest(x,m,alpha)原假设为x的中位数为m,显著性水平为alpha的双侧检验。
[p,h,stats]=signtest(x,m,alpha),当样本小于100时,stats只会显示sign,取x小于假设中位数m的个数与大于假设中位数m的个数的较小值,当样本容量大于或等于100时,stats还将显示'zval',即正态统计量值。
k为大于中位数的个数,当k大于n/2时,±取负号,当k小于n/2时,±号取正号。
[p,h]=signtest(...,'alpha',alpha)
例:
[p,h]=signtest(...,'alpha',0.01)
[p,h,stats]=signtest(...,'method',‘exact’)
用精确的方法
[p,h]=signtest(...,'method',‘approximate’)
用正态近似的方法
[p,h,stats]=signtest(x,y,'alpha',0.01,'method','exact')
[p,h,stats]=signtest(y1,y2,0.01,'method','approximate')
例3.1某市劳动和社会保障部门的资料说明,1998年高级技师的年收入的中位数为21700,该市某个行业有一个由50名高级技师组成的样本,这些高级技师的年收入如下:
23072
24370
20327
24296
22256
19140
25669
22404
26744
26744
23406
20438
24890
24815
24556
18472
21514
22516
25112
23480
26522
24074
18064
22590
25261
21180
26188
21625
24333
23146
18324
3598
26040
20846
20438
19474
19214
23072
26744
23443
24630
26893
26485
18138
20179
26744
23554
25706
21588
17990
建立一个50行和1列的向量x,即上面那个数据。
a=[];%把上表数据粘到a中
b=size(a);
x=reshape(a,b
(1)*b
(2),1);
formatlong
[p,h,stats]=signtest(x,21700)
p=
0.06490864707227
h=
0
stats=
sign:
18
sign值的计算:
length(x(find(x>21700)))
ans=
32
length(x(find(x<21700)))
ans=
18
取两者较小值,18。
P值的计算:
2*(1-binocdf(31,50,0.5))
得:
0.06490864707229
P值也可按:
2*(binocdf(18,50,0.5))
得:
0.06490864707227
P值大于缺失的显著性水平0.05,接受原假设。
注意:
符号检验不能进行单侧检验,那么把双侧检验所得的P值除以2,得新的p值。
对于右侧检验:
P值的计算:
1-binocdf(31,50,0.5)
得:
0.03245432353615
也可用:
binocdf(18,50,0.5)
得:
0.03245432353614
即是双侧检验所得P值的一半。
在0.05的显著性水平下拒绝原假设。
对于左侧检验
P值的计算:
length(x(find(x>25000)))
ans=
13
length(x(find(x<25000)))
ans=
37
P值等于:
binocdf(13,50,0.5)
ans=
4.681114554259028e-004
也可用:
1-binocdf(36,50,0.5)
ans=
4.681114554372368e-004
对于双侧:
[p,h,stats]=signtest(x,25000)
p=
9.362229108518057e-004
h=
1
stats=
sign:
13
P/2得:
4.681114554259028e-004与左侧计算的P值相等。
下面我们分析大样本情况:
23072
24370
20327
24296
22256
19140
25669
22404
26744
26744
23406
20438
24890
24815
24556
18472
21514
22516
25112
23480
26522
24074
18064
22590
25261
21180
26188
21625
24333
23146
18324
3598
26040
20846
20438
19474
19214
23072
26744
23443
24630
26893
26485
18138
20179
26744
23554
25706
21588
17990
23072
24370
20327
24296
22256
19140
25669
22404
26744
26744
23406
20438
24890
24815
24556
18472
21514
22516
25112
23480
XX文库-让每个人平等地提升自我26522
24074
18064
22590
25261
21180
26188
21625
24333
23146
18324
3598
26040
20846
20438
19474
19214
23072
26744
23443
24630
26893
26485
18138
20179
26744
23554
25706
21588
17990
23072
24370
20327
24296
22256
19140
25669
22404
26744
26744
23406
20438
24890
24815
24556
18472
21514
22516
25112
23480
26522
24074
18064
22590
25261
21180
26188
21625
24333
23146
18324
3598
26040
20846
20438
19474
19214
23072
26744
23443
24630
26893
26485
18138
20179
26744
23554
25706
21588
17990
根据以上数据建立1列150行的向量bb
length((find(bb<21700)))
ans=
54
length((find(bb>21700)))
ans=
96
[p,h,stats]=signtest(bb,21700)
p=
8.150399118268979e-004
h=
1
stats=
zval:
3.34763598180368
sign:
54
zval值的计算:
zval=(96-75-0.5)/(150/4)^0.5
(96大于75,减去0.5)
zval=3.34763598180368
p值的计算:
2*(1-normcdf(zval))
ans=
8.150399118269647e-004
对于右侧检验:
P值的计算:
上面双侧检验所得P值除以2,即得右侧检验的P值。
对于:
length(bb(find(bb>24000)))
ans=
63
length(bb(find(bb<24000)))
ans=
87
[p,h,stats]=signtest(bb,24000)
p=
0.06038908130927
h=
0
stats=
zval:
-1.87794213613377
sign:
63
zval的计算:
zval=(63-75+0.5)/(150/4)^0.5
(63小于75,加上0.5)
zval=
-1.87794213613377
P值的计算:
2*normcdf(zval)
ans=
0.06038908130927
对于左侧检验:
把上面双侧检验所得P值除以2,即得左侧检验的P值。
值得一提的是:
sign(x,y,alpha),是检验x-y是否中位数为0,原假设为x-y的中位数为0,x和y具有相同的长度大小。
sign(x,y,alpha)不是检验x和y具有相同的中位数。
x变量
23072
24370
20327
24296
22256
19140
25669
22404
26744
26744
23406
20438
24890
24815
24556
18472
21514
22516
25112
23480
26522
24074
18064
22590
25261
21180
26188
21625
24333
23146
18324
3598
26040
20846
20438
19474
19214
23072
26744
23443
24630
26893
26485
18138
20179
26744
23554
25706
21588
17990
y变量
19324
3398
21040
20846
20438
19474
19214
23072
26744
23443
24630
26893
26485
18138
20179
26744
23554
25706
21588
17990
24072
23370
21327
24296
24256
19140
25669
22404
26744
24744
23406
20438
24890
24815
24556
19472
21514
22516
25112
23480
26522
24074
18064
22590
25261
21180
28188
21625
29333
25146
[p,h,stats]=signtest(x,y,0.05)
p=
0.77544965468158
h=
0
stats=
sign:
23
length(z(find(z>0)))
ans=
23
length(z(find(z<0)))
ans=
26
sign为23和26较小值,为23。
x-y有一个值为0。
P值的计算:
2*binocdf(23,49,0.5)
得:
0.77544965468158
也可按:
2*(1-binocdf(25,49,0.5))
得:
0.77544965468155,大于0.05,接受原假设。
习题三
1.
6200.00
5100.00
6300.00
4900.00
7100.00
5700.00
4900.00
5200.00
6600.00
7200.00
6500.00
6900.00
5500.00
5800.00
6400.00
7000.00
3900.00
5100.00
7500.00
6300.00
5400.00
6000.00
6700.00
6000.00
4800.00
5800.00
7200.00
6200.00
7100.00
6900.00
6000.00
7300.00
6600.00
6300.00
6800.00
6200.00
5500.00
6300.00
5400.00
4800.00
注:
有一个值等于6500
[p,h,stats]=signtest(x,6500,'alpha',0.05,'method','exact')
p=
.0532********
h=
0
stats=
sign:
13
length(find(x>6500))
ans=
13
length(find(x<6500))
ans=
26
左侧检验的P值为:
p/2
ans=
0.02662595704896
在0.05显著性水平,接受备择假设,中位数低于6500。
区间估计:
中位数me的各层的区间估计
第一层:
置信度
1-0.5^38
ans=
0.99999999999636
或1-binocdf(0,39,0.5)/0.5
ans=
0.99999999999636
第二层:
1-0.5^38-39*0.5^38
ans=
0.99999999985448
或:
1-binocdf(1,39,0.5)/0.5
ans=
0.99999999985448
第十四层:
1-binocdf(13,39,0.5)/0.5
ans=
0.94674808590207
x1=sort(x)
x1(14)
x1(14)
ans=
5800
x2=wrev(x1);
x2(14)
ans=
6500
因此,上限6400
置信度为0.94674808590207,区间估计为:
[5800,6500]
2.双侧检验:
精确算法:
2*binocdf(30,70,0.5)
ans=
0.28197892179366
2*(1-binocdf(39,70,0.5))
ans=
0.28197892179364
正态近似:
2*normcdf((35-40+0.5)/sqrt(70/4))
ans=
0.28205887576156
接受原假设,新建住宅的房价中位数是每平方米6500元。
3.①
精确算法:
binocdf(527,2079,0.5)
ans=
6.355204377699287e-117
1-binocdf(1551,527+1552,0.5)
ans=
0
n很大时,binocdf不方便算
近似算法:
normcdf((2079/2-1552+0.5)/sqrt(2079/4))
ans=
5.334462242411411e-112
因此,相信孩子过上更好的日子的成年人较多。
②点估计:
p=1552/(1552+527)
p=
0.74651274651275
95%的置信区间:
[p-1.96*sqrt(p*(1-p)/(1552+527))p+1.96*sqrt(p*(1-p)/(1552+527))]
ans=
0.727813439873090.76521205315240
4.
p=normcdf((157860*0.094-18154+0.5)/sqrt(157860*0.094*0.906))
p=
4.8162e-180
因此,拒绝原假设。
90.6%的分位数超过65岁。
引深思考:
157860*0.094
ans=
1.4839e+004
若原题中的18154改为15000,则:
p=normcdf((157860*0.094-15000+0.5)/sqrt(157860*0.094*0.906))
p=
0.0829
则在0.1显著性水平下,接受原假设。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 非参数统计与matlab编程第三章符号检验法 参数 统计 matlab 编程 第三 符号 检验