非参数统计R软件参考答案.docx

上传人:b****6 文档编号:5876340 上传时间:2023-01-01 格式:DOCX 页数:28 大小:208.70KB
下载 相关 举报
非参数统计R软件参考答案.docx_第1页
第1页 / 共28页
非参数统计R软件参考答案.docx_第2页
第2页 / 共28页
非参数统计R软件参考答案.docx_第3页
第3页 / 共28页
非参数统计R软件参考答案.docx_第4页
第4页 / 共28页
非参数统计R软件参考答案.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

非参数统计R软件参考答案.docx

《非参数统计R软件参考答案.docx》由会员分享,可在线阅读,更多相关《非参数统计R软件参考答案.docx(28页珍藏版)》请在冰豆网上搜索。

非参数统计R软件参考答案.docx

非参数统计R软件参考答案

容:

A.3,A.10,A.12

A.3上机实践:

将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];#显示子数据集sublgeyser的前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]4.0000004.3833334.8333335.4500004.866667……

原数据集的第2列为喷涌时间,所以用[which(waiting<70),2]

(4)Sub4geyser=geyser[which(waiting>70),1];

#提取满足条件(waiting<70)的数据,which(),读取下标

Sub4geyser[1:

5];#显示子数据集sub1geyser的前5行

[1]8071807577.……

A.10

如光盘文件student.txt中的数据,一个班有30名学生,每名学生有5门课程的成绩,编写函数实现下述要求:

(1)以data.frame的格式保存上述数据;

(2)计算每个学生各科平均分,并将该数据加入

(1)数据集的最后一列;

(3)找出各科平均分的最高分所对应的学生和他所修课程的成绩;

(4)找出至少两门课程不及格的学生,输出他们的全部成绩和平均成绩;

(5)比较具有(4)特点学生的各科平均分与其余学生平均分之间是否存在差异。

先将数据集读入R系统

student=read.table("…",header=T)class(student):

#显示数据集student的类型,

[1]"data.frame"#student是数据框

names(student);#显示数据框student的变量

[1]"name""math""physics""chem""literat""english""mean"#输出显示,数据框student有7个变量,第7个变量是平均值mean。

(1)

write.table(student,"F:

\\gzmu非参数统计各章数据附录A\\x.txt",col.names=T)

打开x.txt

"name""math""physics""chem""literat""english"

"1""Katty"6561728479

"2""Leo"7777766455

(2)依题意,要为原始数据集添加一个变量,即添加一列在最后。

?

[,6]=?

me=rep(0,30);

for(iin1:

30){x=as.numeric(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)),如同A.3。

attach(student);

maxme=student[which(mean==max(mean)),];#找出最高平均分的记录,并赋予maxme;maxme;

namemathphysicschemliteratenglishmean

15Liggle789681807682.2

(4)依题意,要用到二重的for和if.由原数据框geyser给datal赋值时要用到数据转换:

#x=as.numeric(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=as.numeric(student[i,2:

6]);

if(sum(x<60)>1){k=k+1;data1[k,]=student[i,];}}

data1

namemathphysicschemliteratenglishmean

1

Ricky

67

63

49

65

5760.2

7

Simon

66

71

67

52

5762.6

9

Jed

83

100

79

41

5070.6

10

Jack

86

94

97

51

5576.6

12

Jetty

67

84

53

58

5663.6

13Corner

81

62

69

56

5264.0

14

Osten

71

64

94

52

5266.6

25

Amon

74

79

95

59

5973.2

(5)依题意,要创造两个子集data4和data2,用两样本的比较方法比较他们的平均成绩是否有显著差异。

似创造datal的方法,创造data2。

并设x=data1$mean,y=data2$mean,比较二样本x,y是否有显著差异,由于还没有学非参数检验,试用t检验检验之(R的t检验函数为t.test(x,y),原假设H。

是两样本的均值相等,备择假设Hi是两样本不等)。

如果P值p-value<0.05,则拒绝原假设。

data2=student[1,];k=0;

for(iin1:

30){x=as.numeric(student[i,2:

6]);

if(sum(x<60)<2){k=k+1;data2[k,]=student[i,];}

};

下面做t检验

x=data1$mean;y=data2$mean;

t.test(x,y)

WelchTwoSamplet-test

data:

xandy

t=-3.0236,df=9.309,p-value=0.01386

alternativehypothesis:

truediffereneeinmeansisnotequalto0

95percentconfideneeinterval:

-11.493236-1.684037

sampleestimates:

meanofxmeanofy:

67.1750073.76364

结论:

p-value=0.01386<0.05,拒绝原假设,即认为两样本的平均成绩有显著差异。

A.12在一图上,用取值(-10,10)之间间隔均等的1000个点,采用不同的线型一颜色给制sin(),cos(),sin()+cos()

的函数图形,图形要求有主标题和副标题,标示出从坐标

x=seq(-10,10,length=50);#构造向量x,

x[1:

5];#显示x的前5个数据

[1]-10.00000-9.97998-9.95996-9.93994-9.91992

sin=sin(x);#计算sin函数值

cos=cos(x);

sc=sin(x)+cos(x);

plot(sin~x,xlab="x",ylab="y",ylim=c(-1.5,1.5),type=T,col=1);

lines(cos~x,type="b",col=2);#点线图

lines(sc~x,type="o",col=1);

title("三角函数图”);

所得图形如下图,sin为黑色,cos为红色,sin+cos为绿色:

三角站馥區

容:

1.1;1.2;1.11;(附加题:

1.4;1.7;1.8有能力的可做附加题)

1.1某批发市场从厂家购置一批灯泡,根据合同的规定,灯泡的使用的寿命平均不低于1000h。

已知灯泡的

使用寿命服从正态分布,标准差是20h,从总体中随机抽取了100只灯泡,得知样本均值为996h,问题是:

批发商是否应该购买该批灯泡?

(1)零假设和备择假设应该如何设置?

给出你的理由。

(2)在零假设1000之下,给出检验的过程并做出决策,如果不能拒绝零假设,可能是哪里出了问题。

解:

(1)根据题意,问题的假设为H0:

1000H1:

1000

理由:

1000是批发商的意愿,违背这个意愿,也就是拒绝原假设H。

,他就购这批灯泡了。

不能轻易否

定的事情应置于被保护地位H。

这个问题的检验统计量为

X1000

Z,z=(996-1000)/2=-2

20/寸n

P值pvalue=pnorm(z,0,1)=0.02275013,在alpha=0.05时拒绝原假设,根据合同,不购这批灯泡。

⑵假设检验问题:

H0:

0H1:

0。

这样的假设是有问题的。

假设检验是一种这样哲学:

不轻易否定旧过程,置旧过程为H。

于被保护的位

置,而以小概率否定之。

而一但被拒绝,以小概率事件原理,拒绝域不是小概率。

反证H。

不真。

所谓“天

欲报之,必先厚之”也,以显我为人之厚道,虽如此也不能保护H0,怪不得我也。

面此假设违返旧过程,这

样的假设毫无意义。

如果按照这个检验问题,检验的P值是pvalue=1-pnorm(z,0,1)=0.9772499,没有充分的理由拒绝原假设,结论也是不购进这批灯泡。

但是犯批II类错误的概率是多少,鬼才知道呢。

1.2考虑下面检验问题(不用计算已给的数据).

(1)如果X服从N(0,1)分布,假设检验问题H。

0H1:

1000。

可以知道0.05的似然比

检验,如果X>1.645,则将会拒绝H。

,而且按照Neyman-Pearson引理,该检验是最优的。

现在,如果我们观察到X=2.1,该水平0.05的最优检验告诉我们拒绝=0的零假设,接

受=1000的备择假设,你觉得有问题吗?

问题在哪里?

如何解决?

答:

有问题。

假设检验在原假设条件成立下,得到拒绝域,意思是拒绝,接受。

而只是其中的一种情况,故不能接受。

改进方法:

可直接提出假设“均值为1000”进行检验。

即检验

⑵有两组学生的成绩,第一组为11名,成绩为x:

100,99,99,100,100,100,100,99,100,99,99;第二组为2名,成绩为y:

50,0.我们对这两组数据作同样水平=0.05的t检验(假设总体的均

值为),H0:

100H1:

100。

对第二组数据的检验结果为:

df=10,t=-2.8868,mean(x)=99.54545,单边检验(<100,less)

对第二组数据检验的结果为:

df=1,t值为-3,单边(<100,less的P值为p-value=0.1024,

不拒绝原假设=100。

但是mean(y)=25.

解:

两个结论都不是合理的,t检验是针对正态数据做的,第一组数据事实上是两点分布,x的取值域为{99,100},所以t检验的基本假设不满足,所以第一个检验是不合理的;第二组数据的t检验也是不合理的,样本量太少,不具有代表性。

(3)写出上面所用的t检验统计量,及p值的定义,解释水平=0.05的意义(注意,这里是一

般情况,不要联系

(2)中的具体数据例子),如果没有给定水平,如何用p值来做出结论?

解:

设样本X1,X2,...,XniidN(,2),对于三种假设(双边假设,两个单边假设)都用同一

、X

个t统计量t=,p值p_value=P|T|t(双边检验,alternative」'two.side”,

S/Jn—

p_value=PTt(右边检验,alternative=”greater”,p_value=PTt(左边检验

alternative=”less”,其中T~t(n1)。

p_value小于检验水平时拒绝原假设,接受H1。

则有

I.双边假设检验H0:

0H1:

0,拒绝原假设H0tt/2

p_value=P|T|t<

II.右尾假设检验H。

0H1:

0,拒绝原假设H0tt

p_value=PTt<

III.左尾假设检验H0:

0H1:

0,拒绝原假设H0tt

p_value=PTt<

⑷写出和t检验有关的关于均值的100(1-)%置信区间(不要联系⑵中的数据,说明你所

有的符号的意义(如果有的话))

解:

t检验是在正态样本条件下做。

确实,双边假设的t检验与置信区间一一对应。

其双边假

设检验式,有P|T|t

其中随机变量T服从t(n-1)分布。

S是正态样本的样本方差。

⑸如果X1,X2,...,Xn服从正态分布N(,2),其中未知,写出有关的关于均值的

100(1-)%的置信区间。

一般来说,如果知道X1,X2,...,Xn有未知均值和已知方差2,但分

需要什么条件?

根据是什么?

用公式说明。

其中未知,写出有关的关于均值的

布不知道,我们不能用上面写的置信区间?

如果能,

解:

①如果X1,X2,...,Xn服从正态分布N(,2),

100(1-)%的置信区间。

用到下面两个统计量

如果方差2已知,则用正态置信区间,用Z构造置信区间

②如果方差2未知,则用t构造置信区间:

St/21

n

2,但分布不知道,我们不能用上面写的置

③如果知道X「X2,…,Xn有未知均值和已知方差

P|X

信区间,用切比雪夫不等式构造置信区间:

,令

1.11(数据光盘文件:

beenswax.txt)为探测蜂蜡结构,生物学家做了很多实验,在每个蜂蜡里碳

氢化合物(hydrocarbon所占的比例对蜂蜡结构有特殊的意义,数据中给出了一些观测。

(1)画出beenswax数据的经验累积分布、直方图和Q-Q图。

(2)找出0.9,0.75,0.50,0.25,0.10的分位数。

(3)这个分布是高斯分布吗?

解:

beenswax=read.table("F:

\\gzmu非参数统计各章数据第1章

\\beenswax.txt",header=T);

attach(beenswax);

names(beenswax)

[1]"MeltingPoint""Hydrocarbon"

说明beenswax有两个变量:

"MeltingPoint""Hydrocarbon",分别表示,熔点和碳氢化合物所占比例。

(1)依题意,对Hydrocarbon的作图程序如下得图1.11-1cdf=ecdf(Hydrocarbon);#计算经验分布函数par(mfrow=c(2,2));#定义图矩阵为2行2列

plot(cdf);hist(Hydrocarbon);

qqnorm(Hydrocarbon);qqline(Hydrocarbon)

IhWfOlKoiLUQTChS

图1.11-1图1.11-2

将上述程序中的Hydrocarbon替换成MeltingPoint,对MeltingPoint的作图程序如下得图1.11-2cdf=ecdf(MeltingPoint);#计算经验分布函数par(mfrow=c(2,2));#定义图矩阵为2行2列

plot(cdf);hist(MeltingPoint);

qqnorm(MeltingPoint);qqline(MeltingPoint)

⑶从直方图看,两者基本成对称,钟形,从两者的正态Q-Q图,也知道,两者的散点基本在

两条直线的附近。

所以两近似正态分布(高斯分布)。

对Hydrocarbon和MeltingPoint做ks.test,P值分别为:

0.9766和0.7774,两个检验都没有拒绝原假设(数据呈正态分布)。

程序如下:

ks.test(Hydrocarbon,pnorm,mean(Hydrocarbon),sd(Hydrocarbon));ks.test(MeltingPoint,pnorm,mean(MeltingPoint),sd(MeltingPoint));

容:

2.1,2.2,2.4,2.12,2.14

2.1超市经理想了解每位顾客在该超市购买的商品平均件数是否为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值小者较优)

图2.1.1数据分布直方图

解:

(1)采用符号检验进行决策:

根据题意,检验的假设为双边假设

H0:

median10H1:

median10

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);binom.test(k,n1,0.5);

Exactbinomialtest

结果输出:

data:

kandn1

numberofsuccesses=6,numberoftrials=12,p-value=1

alternativehypothesis:

trueprobabilityofsuccessisnotequalto0.5

95percentconfideneeinterval:

0.21094460.7890554

sampleestimates:

probabilityofsuccess0.5

p-value=1,不拒绝原假设H0

⑵Wilcoxon符号秩检验,假设如果

(1):

Wilcoxonsignedranktestwithcontinuitycorrection

data:

x-10

V=53,p-value=0.2892

alternativehypothesis:

truelocationisnotequalto0

p-value=0.2892,没有充分理由拒绝原假设。

注:

虽然两个检验的结论相同,但我们认为

(1)可靠。

因为数据的分布不是对称,而后者是基于对称分布的。

而本题的数据分布直方图如下,显然是不对称的,所针对本题数据,wilcox.test不可靠。

,即

0.5,

2.2考查某疾病的患者共计350名,男性150人,女性200人,问该疾病得病的男女性别比是否为1:

1

其男女比例是否各为1/2?

提示:

用中心极限定理,正态近似检验,即Demoive-Laplace中心极限定理:

p=0.5,n=350,

X~b(350,0.5),E(X)=175,Var(X)=npq=n/4=350/4。

标准化X近似于标准正态。

解:

根据题意,设男性患者的比例为p,则检验的假设为H0:

p0.5H1:

p0.5

设男性患者数为X,贝UX~b(350,0.5),E(X)=175,Var(X)=npq=n/4=350/4。

标准化X近似于标准正态。

150175

-2.672612

、n/4

p-value=2*min(pnorm(z,0,1),1-pnorm(z,0,1))=0.007526315,拒绝原假设p=0.5,认为患者中男性比率不是

男女比例不是1:

1.

注:

究其实,男性患者的比率显著地<0.5.

2.4下表中的数据是两个篮球联赛中三分球的进球次数,该数据的目的是考察两个联赛三分球得分次数是否

存在显著性差异。

(1)符号检验。

⑵配对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”是否存在显著差异,所以检

验的假设为H0:

meXmeYH1:

meXmeY

设Z=X-Y,问题转化为H0:

meZ0H1:

meZ0

(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)

binom.test(k,n1,0.5)

Exactbinomialtest

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1