非参数统计(R软件)参考答案.doc
《非参数统计(R软件)参考答案.doc》由会员分享,可在线阅读,更多相关《非参数统计(R软件)参考答案.doc(18页珍藏版)》请在冰点文库上搜索。
内容:
,
上机实践:
将MASS数据包用命令library(MASS)加载到R中,调用自带“老忠实”喷泉数据集geyer,它有两个变量:
等待时间waiting和喷涌时间duration,其中…
(1)将等待时间70min以下的数据挑选出来;
(2)将等待时间70min以下,且等待时间不等于57min的数据挑选出来;
(3)将等待时间70min以下喷泉的喷涌时间挑选出来;
(4)将喷涌时间大于70min喷泉的等待时间挑选出来。
解:
读取数据的R命令:
library(MASS);#加载MASS包
data(geyser);#加载数据集geyser
attach(geyser);#将数据集geyser的变量置为内存变量
(1)依题意编定R程序如下:
sub1geyser=geyser[which(waiting<70),1];
#提取满足条件(waiting<70)的数据,which(),读取下标
sub1geyser[1:
5];#显示子数据集sub1geyser的前5行
[1]5760565054
(2)依题意编定R程序如下:
Sub2geyser=geyser[which((waiting<70)&(waiting!
=57)),1];
#提取满足条件(waiting<70&(waiting!
=57)的数据.
Sub2geyser[1:
5];#显示子数据集sub1geyser的前5行
[1]6056505460……
原数据集的第1列为waiting喷涌时间,所以用[which(waiting<70),2]
(3)
Sub3geyser=geyser[which(waiting<70),2];
#提取满足条件(waiting<70)的数据,which(),读取下标
Sub3geyser[1:
5];#显示子数据集sub1geyser的前5行
[1]……
原数据集的第2列为喷涌时间,所以用[which(waiting<70),2]
(4)
Sub4geyser=geyser[which(waiting>70),1];
#提取满足条件(waiting<70)的数据,which(),读取下标
Sub4geyser[1:
5];#显示子数据集sub1geyser的前5行
[1]8071807577…….
如光盘文件中的数据,一个班有30名学生,每名学生有5门课程的成绩,编写函数实现下述要求:
(1)以的格式保存上述数据;
(2)计算每个学生各科平均分,并将该数据加入
(1)数据集的最后一列;
(3)找出各科平均分的最高分所对应的学生和他所修课程的成绩;
(4)找出至少两门课程不及格的学生,输出他们的全部成绩和平均成绩;
(5)比较具有(4)特点学生的各科平均分与其余学生平均分之间是否存在差异。
先将数据集读入R系统
student=("…",header=T)
class(student):
#显示数据集student的类型,
[1]""#student是数据框
names(student);#显示数据框student的变量
[1]"name""math""physics""chem""literat""english""mean"
#输出显示,数据框student有7个变量,第7个变量是平均值mean。
(1)
(student,"F:
\\gzmu非参数统计\\data2014\\各章数据\\附录A\\",=T)
打开
"name""math""physics""chem""literat""english"
"1""Katty"6561728479
"2""Leo"7777766455
……
(2)依题意,要为原始数据集添加一个变量,即添加一列在最后。
[,6]=
me=rep(0,30);
for(iin1:
30){x=(student[i,2:
6]);
me[i]=mean(x);}
student$mean=me;
#上面程序的最后一行也可以如此:
student[,7]=me
names(student);
[1]"name""math""physics""chem""literat""english""mean"
#如上显示,程序运行后数据框student添加了第7列mean.
(3)依题意,在
(2)的程序运行后做,要用到which(mean==max(mean)),如同。
attach(student);
maxme=student[which(mean==max(mean)),];#找出最高平均分的记录,并赋予maxme;
maxme;
namemathphysicschemliteratenglishmean
15Liggle7896818076
(4)依题意,要用到二重的for和if.由原数据框geyser给data1赋值时要用到数据转换:
#x=(student[i,2:
6]);#读取student第i行2:
6列的数据,#data1[k,]=x;#将x赋给data4
#的第k行。
sum(x<60)是不及格门数。
Data1=student[1,];#赋初值
k=0;
for(iin1:
30){x=(student[i,2:
6]);
if(sum(x<60)>1){k=k+1;data1[k,]=student[i,];}}
data1
namemathphysicschemliteratenglishmean
1Ricky6763496557
7Simon6671675257
9Jed83100794150
10Jack8694975155
12Jetty6784535856
13Corner8162695652
14Osten7164945252
25Amon7479955959
(5)依题意,要创造两个子集data4和data2,用两样本的比较方法比较他们的平均成绩是否有显着差异。
类似创造data1的方法,创造data2。
并设x=data1$mean,y=data2$mean,比较二样本x,y是否有显着差异,由于还没有学非参数检验,试用t检验检验之(R的t检验函数为(x,y),原假设H0是两样本的均值相等,备择假设H1是两样本不等)。
如果P值p-value<,则拒绝原假设。
data2=student[1,];k=0;
for(iin1:
30){x=(student[i,2:
6]);
if(sum(x<60)<2){k=k+1;data2[k,]=student[i,];}
};
下面做t检验
x=data1$mean;y=data2$mean;
(x,y)
WelchTwoSamplet-test
data:
xandy
t=,df=,p-value=
alternativehypothesis:
truedifferenceinmeansisnotequalto0
95percentconfidenceinterval:
sampleestimates:
meanofxmeanofy:
结论:
p-value=<,拒绝原假设,即认为两样本的平均成绩有显着差异。
在一张图上,用取值(-10,10)之间间隔均等的1000个点,采用不同的线型一颜色给制sin(),cos(),sin()+cos()的函数图形,图形要求有主标题和副标题,标示出从坐标
x=seq(-10,10,length=50);#构造向量x,
x[1:
5];#显示x的前5个数据
[1]
sin=sin(x);#计算sin函数值
cos=cos(x);
sc=sin(x)+cos(x);
plot(sin~x,xlab="x",ylab="y",ylim=c,,type="l",col=1);
lines(cos~x,type="b",col=2);#点线图
lines(sc~x,type="o",col=1);
title("三角函数图");
所得图形如下图,sin为黑色,cos为红色,sin+cos为绿色:
内容:
;;;(附加题:
;;有能力的可做附加题)
某批发市场从厂家购置一批灯泡,根据合同的规定,灯泡的使用的寿命平均不低于1000h。
已知灯泡的使用寿命服从正态分布,标准差是20h,从总体中随机抽取了100只灯泡,得知样本均值为996h,问题是:
批发商是否应该购买该批灯泡
(1)零假设和备择假设应该如何设置给出你的理由。
(2)在零假设之下,给出检验的过程并做出决策,如果不能拒绝零假设,可能是哪里出了问题。
解:
(1)根据题意,问题的假设为
理由:
是批发商的意愿,违背这个意愿,也就是拒绝原假设H0,他就购这批灯泡了。
不能轻易否定的事情应置于被保护地位H0。
这个问题的检验统计量为
z=(996-1000)/2=-2
P值pvalue=pnorm(z,0,1)=,在alpha=时拒绝原假设,根据合同,不购这批灯泡。
(2)假设检验问题:
。
这样的假设是有问题的。
假设检验是一种这样哲学:
不轻易否定旧过程,置旧过程为H0于被保护的位置,而以小概率否定之。
而一但被拒绝,以小概率事件原理,拒绝域不是小概率。
反证H0不真。
所谓“天欲报之,必先厚之”也,以显我为人之厚道,虽如此也不能保护H0,怪不得我也。
面此假设违返旧过程,这样的假设毫无意义。
如果按照这个检验问题,检验的P值是pvalue=1-pnorm(z,0,1)=,没有充分的理由拒绝原假设,结论也是不购进这批灯泡。
但是犯批II类错误的概率是多少,鬼才知道呢。
考虑下面检验问题(不用计算已给的数据).
(1)如果X服从N(0,1)分布,假设检验问题。
可以知道的似然比检验,如果X>,则将会拒绝H0:
,而且按照Neyman-Pearson引理,该检验是最优的。
现在,如果我们观察到X=,该水平的最优检验告诉我们拒绝=0的零假设,接受=1000的备择假设,你觉得有问题吗问题在哪里如何解决
答:
有问题。
假设检验在原假设条件成立下,得到拒绝域,意思是拒绝,接受。
而只是其中的一种情况,故不能接受。
改进方法:
可直接提出假设“均值为1000”进行检验。
即检验
(2)有两组学生的成绩,第一组为11名,成绩为x:
100,99,99,100,100,100,100,99,100,99,99;第二组为2名,成绩为y:
50,0.我们对这两组数据作同样水平=的t检验(假设总体的均值为),。
对第二组数据的检验结果为:
df=10,t=,mean(x)=,单边检验(<100,less)的P值为p-value=。
所以拒绝原假设,认为<100。
对第二组数据检验的结果为:
df=1,t值为-3,单边(<100,less)的P值为p-value=,不拒绝原假设=100。
但是mean(y)=25.
解:
两个结论都不是合理的,t检验是针对正态数据做的,第一组数据事实上是两点分布,x的取值域为{99,100},所以t检验的基本假设不满足,所以第一个检验是不合理的;第二组数据的t检验也是不合理的,样本量太少,不具有代表性。
(3)写出上面所用的t检验统计量,及p值的定义,解释水平=的意义(注意,这里是一般情况,不要联系
(2)中的具体数据例子),如果没有给定水平,如何用p值来做出结论
解:
设样本iid,对于三种假设(双边假设,两个单边假设)都用同一个t统计量,p值p_value=(双边检验,alternative=””),p_value=(右边检验,alternative=”greater”),p_value=(左边检验alternative=”less”),其中。
p_value小于检验水平时拒绝原假设,接受H1。
则有
I.双边假设检验,拒绝原假设H0p_value=<
II.右尾假设检验,拒绝原假设H0p_value=<
III.左尾假设检验,拒绝原假设H0p_value=<
(4)写出和t检验有关的关于均值的100(1-)%置信区间(不要联系
(2)中的数据,说明你所有的符号的意义(如果有的话))
解:
t检验是在正态样本条件下做。
确实,双边假设的t检验与置信区间一一对应。
其双边假设检验式,有≤
其中随机变量T服从t(n-1)分布。
S是正态样本的样本方差。
(5)如果服从正态分布,其中未知,写出有关的关于均值的100(1-)%的置信区间。
一般来说,如果知道有未知均值和已知方差,但分布不知道,我们不能用上面写的置信区间如果能,需要什么条件根据是什么用公式说明。
解:
①如果服从正态分布,其中未知,写出有关的关于均值的100(1-)%的置信区间。
用到下面两个统计量:
,
如果方差已知,则用正态置信区间,用Z构造置信区间。
②如果方差未知,则用t构造置信区间:
③如果知道有未知均值和已知方差,但分布不知道,我们不能用上面写的置信区间,用切比雪夫不等式构造置信区间:
,令=
(6)在切比雪夫不等式中,令B=,,,所以对给定的检验水平,
(数据光盘文件:
为探测蜂蜡结构,生物学家做了很多实验,在每个蜂蜡里碳氢化合物(hydrocarbon)所占的比例对蜂蜡结构有特殊的意义,数据中给出了一些观测。
(1)画出beenswax数据的经验累积分布、直方图和Q-Q图。
(2)找出,,,,的分位数。
(3)这个分布是高斯分布吗
解:
beenswax=("F:
\\gzmu非参数统计\\data2014\\各章数据\\第1章\\",header=T);
attach(beenswax);
names(beenswax)
[1]"MeltingPoint""Hydrocarbon"
说明beenswax有两个变量:
"MeltingPoint""Hydrocarbon",分别表示,熔点和碳氢化合物所占比例。
(1)依题意,对Hydrocarbon的作图程序如下得图
cdf=ecdf(Hydrocarbon);#计算经验分布函数
par(mfrow=c(2,2));#定义图矩阵为2行2列
plot(cdf);hist(Hydrocarbon);
qqnorm(Hydrocarbon);qqline(Hydrocarbon)
图图
将上述程序中的Hydrocarbon替换成MeltingPoint,对MeltingPoint的作图程序如下得图
cdf=ecdf(MeltingPoint);#计算经验分布函数
par(mfrow=c(2,2));#定义图矩阵为2行2列
plot(cdf);hist(MeltingPoint);
qqnorm(MeltingPoint);qqline(MeltingPoint)
(3)从直方图看,两者基本成对称,钟形,从两者的正态Q-Q图,也知道,两者的散点基本在两条直线的附近。
所以两近似正态分布(高斯分布)。
对Hydrocarbon和MeltingPoint做,P值分别为:
和,两个检验都没有拒绝原假设(数据呈正态分布)。
程序如下:
(Hydrocarbon,pnorm,mean(Hydrocarbon),sd(Hydrocarbon));
(MeltingPoint,pnorm,mean(MeltingPoint),sd(MeltingPoint));
内容:
,,2,
超市经理想了解每位顾客在该超市购买的商品平均件数是否为10件,随机观察12位顾客,得到如下数据:
顾客
1
2
3
4
5
6
7
8
9
10
11
12
件数
22
9
4
5
1
16
15
26
47
8
31
7
(1)采用符号检验进行决策。
(2)采用Wilcoxon符号秩检验进行决策,比较它和符号检验的结果。
(如果分布对称,则Wilcoxont符号秩检验较优,P值小者较优)
解:
(1)采用符号检验进行决策:
根据题意,检验的假设为双边假设
x=c(22,9,4,5,1,16,15,26,47,8,31,7);
sg=sum(x>10);sl=sum(x<10);n1=sg+sl;k=min(sg,sl);
(k,n1,;
结果输出:
Exactbinomialtest
图数据分布直方图
data:
kandn1
numberofsuccesses=6,numberoftrials=12,p-value=1
alternativehypothesis:
trueprobabilityofsuccessisnotequalto
95percentconfidenceinterval:
sampleestimates:
probabilityofsuccess
p-value=1,不拒绝原假设H0
(2)Wilcoxon符号秩检验,假设如果
(1):
Wilcoxonsignedranktestwithcontinuitycorrection
data:
x-10
V=53,p-value=
alternativehypothesis:
truelocationisnotequalto0
p-value=,没有充分理由拒绝原假设。
注:
虽然两个检验的结论相同,但我们认为
(1)可靠。
因为数据的分布不是对称,而后者是基于对称分布的。
而本题的数据分布直方图如下,显然是不对称的,所针对本题数据,不可靠。
考查某疾病的患者共计350名,男性150人,女性200人,问该疾病得病的男女性别比是否为1:
1,即其男女比例是否各为1/2
提示:
用中心极限定理,正态近似检验,即Demoive-Laplace中心极限定理:
p=,n=350,
X~b(350,,E(X)=175,Var(X)=npq=n/4=350/4。
标准化X近似于标准正态。
解:
根据题意,设男性患者的比例为p,则检验的假设为
设男性患者数为X,则X~b(350,,E(X)=175,Var(X)=npq=n/4=350/4。
标准化X近似于标准正态。
,
p-value=2*min(pnorm(z,0,1),1-pnorm(z,0,1))=,拒绝原假设p=,认为患者中男性比率不是,男女比例不是1:
1.
注:
究其实,男性患者的比率显着地<.
下表中的数据是两个篮球联赛中三分球的进球次数,该数据的目的是考察两个联赛三分球得分次数是否存在显着性差异。
(1)符号检验。
(2)配对Wilcoxon符号秩检验。
(3)在这些数据中哪个检验更好为什么(P值小者好)
三分球进球次数
队伍序号
联赛1
联赛2
1
91
81
2
46
51
3
108
63
4
99
51
5
110
46
6
105
45
7
191
66
8
57
64
9
34
90
10
81
28
解:
设联赛1和联赛2的三分球得分次数分别为X和Y,题意只问“X和Y”是否存在显着差异,所以检验的假设为
设Z=X-Y,问题转化为
(1)检验的R程序为:
x=c(91,46,108,99,110,105,191,57,34,81);y=c(81,51,63,51,46,45,66,64,90,28);
z=x-y;
sg=sum(z>0);sl=sum(z<0);n1=sg+sl;k=min(sg,sl)
(k,n1,
Exactbinomialtest
data:
kandn1
numberofsuccesses=3,numberoftrials=10,p-value=
alternativehypothesis:
trueprobabilityofsuccessisnotequalto
95percentconfidenceinterval:
0.
sampleestimates:
probabilityofsuccess
P值p-value=,不拒绝原假设,认为两个联赛的三分球得分次数没有显着差异。
(2)作z的直方图如图,图形显示z的分布不存在显着不对称的迹象,可以做
(z)
Wilcoxonsignedranktest
data:
z
V=45,p-value=
alternativehypothesis:
truelocationisnotequalto0
图z的直方图
检验的P值p-value=,在alpha=下,不拒绝原假设。
与符号检验的结论相同,但P值小了很多。
(3)在如上的检验中,由于数据的分布不存在显着不对称的迹象,是可靠的,因而理好。
事实的P值小了很多,更能区分差异。
在检验可靠的情形下,P值越小越好。
在白令海所捕捉的12岁的某种鱼的长度(单位:
cm)样本为
长度/cm
646566676869707172737475777879
数目
121143453301611
您能否同意所声称的12岁的这种鱼的长度的中位数总是在69~72cm之间
解:
这是求置信区间的问题,设=.
x=c(64,65,65,66,67,68,68,68,68,69,69,69,70,70,70,70,71,71,71,71,71,72,72,72,73,73,73,75,77,77,77,77,77,77,78,83);
数据探索:
正态Q-Q图和密度函数图如下
两者显示数据x近似于对称分布,ks正态性检验的P值为,也没有拒绝正态性假设,因此可以认为数据分布不拒绝对称性假设。
因此可以做Walsh中位数置信区间,基于Bootstrap方差估计的中位数正态置信区间、枢轴量置信区间、分位数置区间,下面求walsh置信区间。
(1)walsh中位数置信区间
walsh=NULL;n=length(x);
for(iin1:
n){for(ji