收藏 分享(赏)

统计建模与R软件课后答案.doc

上传人:tangtianxu2 文档编号:2889733 上传时间:2018-09-29 格式:DOC 页数:44 大小:87.51KB
下载 相关 举报
统计建模与R软件课后答案.doc_第1页
第1页 / 共44页
统计建模与R软件课后答案.doc_第2页
第2页 / 共44页
统计建模与R软件课后答案.doc_第3页
第3页 / 共44页
统计建模与R软件课后答案.doc_第4页
第4页 / 共44页
统计建模与R软件课后答案.doc_第5页
第5页 / 共44页
点击查看更多>>
资源描述

1、第二章2.1 x e z z1 z2 A C D E F G x H for (i in 1:5)+ for(j in 1:5)+ Hi,j det(H)(2) solve(H)(3) eigen(H)2.5 studentdata write.table(studentdata,file=student.txt) write.csv(studentdata,file=student.csv)2.7count data_outline(x)3.2 hist(x,freq=F) lines(density(x),col=red) y lines(y,dnorm(y,73.668,3.9389),

2、col=blue) plot(ecdf(x),verticals=T,do.p=F) lines(y,pnorm(y,73.668,3.9389) qqnorm(x) qqline(x)3.3 stem(x) boxplot(x) fivenum(x)3.4 shapiro.test(x) ks.test(x,pnorm,73.668,3.9389)One-sample Kolmogorov-Smirnov testdata: xD = 0.073, p-value = 0.6611alternative hypothesis: two-sidedWarning message:In ks.t

3、est(x, “pnorm“, 73.668, 3.9389) :ties should not be present for the Kolmogorov-Smirnov test这里出现警告信息是因为 ks 检验要求样本数据是连续的,不允许出现重复值3.5x1 boxplot(x1,x2,x3,names=c(x1,x2,x3),vcol=c(2,3,4)windows()plot(factor(c(rep(1,length(x1),rep(2,length(x2),rep(3,length(x3),c(x1,x2,x3)3.6 rubber plot(rubber)具体有相关关系的两个变

4、量的散点图要么是从左下角到右上角(正相关) ,要么是从左上角到右下角(负相关) 。从上图可知所有的图中偶读没有这样的趋势,故均不相关。3.7(1) student attach(student) plot(体重身高)(2) coplot(体重身高 |性别)(3) coplot(体重身高 |年龄)(4) coplot(体重身高 |年龄+ 性别)只列出(4)的结果,如下图3.8 x f zcontour(x,y,z,levels=c(0,1,2,3,4,5,10,15,20,30,40,50,60,80,100),col=blue) windows() persp(x,y,z,theta=30,p

5、hi=30,expand=0.7,col=red)3.9 cor.test(身高 ,体重)根据得出的结果看是相关的。具体结果不再列出3.10 df stars(df)然后按照 G 的标准来画出星图 attach(df) df$G1 df$G2 df$G3 df$G4 df$G5 a stars(a)这里从 17 开始取,是因为在 df 中将 ID 也作为了一列3.11使用 P159 已经编好的函数 unison,接着上题,直接有 unison(a)第四章4.1(1)先求矩估计。总体的期望为 。因此我们有 。可解12()axd 12()aEx得 a=(2*E( )-1 )/(1-E( ).因此我

6、们用样本的均值来估计 a 即可。 在 R 中实现如下 x (2*mean(x)-1)/(1-mean(x)1 0.3076923(2)采用极大似然估计首先求出极大似然函数为(;)=1(+1)=(+1)=1再取对数为ln(;)=(+1)+(=1最后求导(;) = +1+=1好了下面开始用 R 编程求解,注意此题中 n=6.方法一、使用 unniroot 函数 f uniroot(f,c(0,1)方法二、使用 optimize 函数 g optimize(g,c(0,1),maximum=T)4.2用极大似然估计得出 .现用 R 求解如下=/=1x 1000/sum(x)4.3换句话讲,就是用该样

7、本来估计泊松分布中的参数,然后求出该分布的均值。我们知道泊松分布中的参数 ,既是均值又是方差。因此我们只需要用样本均值作矩估计即可在 R 中实现如下 x mean(x)1 14.4 f nlm(f,c(0.5,-2)4.5在矩估计中,正态分布总体的均值用样本的均值估计。故在 R 中实现如下 x mean(x)1 67.4然后用 t.test 作区间估计,如下 t.test(x) t.test(x,alternative=less) t.test(x,alternative=greater)此时我们只需要区间估计的结果,所以我们只看 t.test 中的关于置信区间的输出即可。t.test 同时也

8、给出均值检验的结果,但是默认mu=0并不是我们想要的。下面我们来做是否低于 72 的均值假设检验。如下 t.test(x,alternative=greater,mu=72)One Sample t-testdata: xt = -2.4534, df = 9, p-value = 0.9817alternative hypothesis: true mean is greater than 7295 percent confidence interval:63.96295 Infsample estimates:mean of x 67.4结果说明:我们的备择假设是比 72 要大,但是 p

9、值为 0.9817,所以我们不接受备择假设,接受原假设比 72 小。因此这 10 名患者的平均脉搏次数比正常人要小。4.6我们可以用两种方式来做一做 x y t.test(x,y,var.equal=T) t.test(x-y)结果不再列出,但是可以发现用均值差估计和配对数据估计的结果的数值有一点小小的差别。但得出的结论是不影响的(他们的期望差别很大)4.7 A B t.test(A,B)4.8 x y var.test(x,y) t.test(x,y,var.equal=F)4.9泊松分布的参数就等于它的均值也等于方差。我们直接用样本均值来估计参数即可,然后作样本均值 0.95 的置信区间即

10、可。 x mean(x)1 1.904762 t.test(x)4.10正态总体均值用样本均值来估计。故如下 x t.test(x,alternative=greater)注意 greater 才是求区间下限的(都比它大的意思嘛)第五章5.1这是一个假设检验问题,即检验油漆作业工人的血小板的均值是否为 225.在 R 中实现如下 x t.test(x,mu=225)5.2考察正态密度函数的概率在 R 中的计算。首先我们要把该正态分布的均值和方差给估计出来,这个就利用样本即可。然后用 pnorm 函数来计算大于 1000 的概率。如下 x pnorm(1000,mean(x),sd(x)1 0.

11、5087941 1-0.50879411 0.49120595.3这是检验两个总体是否存在差异的问题。可用符号检验和 wilcoxon秩检验。两种方法实现如下 x y binom.test(sum(x wilcox.test(x,y,exact=F)p-value = 0.792可见无论哪种方法 P 值都大于 0.05,故接受原假设,他们无差异5.4(1)采用 w 检验法xy shapiro.test(x) shapiro.test(y)采用 ks 检验法 ks.test(x,pnorm,mean(x),sd(x) ks.test(y,pnorm,mean(y),sd(y)采用 pearson

12、 拟合优度法对 x 进行检验 A A(-2,0 (0,2 (2,4 (4,6 (6,8 4 4 6 4 1发现 A 中有频数小于 5,故应该重新调整分组 A A(-2,2 (2,4 (4,8 8 6 5然后再计算理论分布 p p chisq.test(A,p=p)采用 pearson 拟合优度法对 y 进行检验 B B(-2.1,1 (1,2 (2,4 (4,7 5 5 5 5 p p chisq.test(B,p=p)以上的所有结果都不再列出,结论是试验组和对照组都是来自正态分布。(2) t.test(x,y,var.equal=F) t.test(x,y,var.equal=T) t.te

13、st(x,y,paired=T)结论是均值无差异(3) var.test(x,y)结论是方差相同由以上结果可以看出这两种药的效果并无二致5.5(1)对新药组应用 chisq.test 检验(也可用 ke.test 检验) x y p p chisq.test(A,p=p)对对照组用 ks.test 检验 ks.test(y,pnorm,mean(y),sd(y)结论是他们都服从正态分布(2) var.test(x,y)结论是方差相同(3) wilcox.test(x,y,exact=F)结果是有差别5.6明显是要检验二项分布的 p 值是否为 0.147.R 实现如下 binom.test(57

14、,400,p=0.147)结果是支持5.7也就是检验二项分布中的 p 值是否大于 0.5 binom.test(178,328,p=0.5,alternative=greater)结果是不能认为能增加比例5.8就是检验你的样本是否符合那个分布 chisq.test(c(315,101,108,32),p=c(9,3,3,1)/16)结果显示符合自由组合规律5.9又是检验一个总体是否符合假定分布。 x z A q p chisq.test(A,p=p)结论是符合泊松分布5.10 x y ks.test(x,y)5.11即列联表的的独立性检验 x dim(x) chisq.test(x)或 fis

15、her.test(x)结论是有影响5.12 x dim(x) chisq.test(x)结果是相关5.13 x dim(x) fisher.test(x)结果显示工艺对产品质量无影响5.14即检验两种研究方法是否有差异 x dim(x) mcnemar.test(x,correct=F)结果表明两种检测方法有差异5.15 x binom.test(sum(x14.6),length(x),al=l) wilcox.test(x,mu=14.6,al=l,exact=F)结果表明是在中位数之下5.16(1) (2) (3) x y binom.test(sum(x wilcox.test(x,y

16、,paired=T,exact=F) wilcox.test(x,y,exact=F)(4) ks.test(x,pnorm,mean(x),sd(x) ks.test(y,pnorm,mean(y),sd(y) var.test(x,y)由以上检验可知数据符合正态分布且方差相同,故可做 t 检验 t.test(x,y)可以发现他们的均值是有差别的(5)综上所述,Wilcoxon 符号秩检验的差异检出能力最强,符号检验的差异检出最弱。5.17 x y cor.test(x,y,method=spearman) cor.test(x,y,method=kendall)有关系的5.18 x y z

17、 wilcox.test(y,z,exact=F)结果显示这两种疗法没什么区别第六章6.1(1) snow plot(snow$X,snow$Y)结论是有线性关系的。(2) (3) lm.sol predict(lm.sol,data.frame(X=7),interval=prediction,level=0.95)fit lwr upr1 2690.227 2454.971 2925.4846.2(1) (2) soil lm.sol lm.ste summary(lm.ste)可以发现新模型只含有 X1 和 X3,但是 X3 的系数还是不显著。接下来考虑用 drop1 函数处理 drop

18、1(lm.ste)发现去掉 X3 残差升高最小,AIC 只是有少量增加。因此应该去掉 X3 lm.new da plot(da$X,da$Y) lm.sol abline(lm.sol)(2) summary(lm.sol)全部通过(3) plot(lm.sol,1) windows() plot(lm.sol,3)可以观察到误差符合等方差的。但是有残差异常值点 24,27,28.(4) lm.up summary(lm.up)都通过检验 plot(da$X,da$Y) abline(lm.up) windows() plot(lm.up,1) windows() plot(lm.up,3)可

19、以发现还是有残差离群值 24,286.4 lm.sol influence.measures(lm.sol) plot(lm.sol,3)通过 influence.measures 函数发现 5,8,9,24 对样本影响较大,可能是异常值点,而通过残差图发现 5 是残差离群点,但是整个残差还是在-2,2之内的。因此可考虑剔除 5,8,9,24 点再做拟合。 lm.new windows() plot(lm.new,3) summary(lm.new)我们发现 lm.new 模型的残差都控制在 -1.5,1.5之内,而且方程系数和方程本身也都通过检验。6.5 cement XX kappa(XX

20、,exact=T)1 1376.881 eigen(XX)发现变量的多重共线性很强,且有0.241X1+0.641X2+0.268X3+0.676X4=0说明 X1,X2,X3,X4 多重共线。其实逐步回归可以解决多重共线的问题。我们可以检验一下 step 函数去掉变量后的共线性。step 去掉了 X3 和 X4。我们看看去掉他们的共线性如何。 XX kappa(XX,exact=T)1 1.59262我们发现去掉 X3 和 X4 后,条件数降低好多好多。说明 step 函数是合理的。6.6首先得把这个表格看懂。里面的数字应该是有感染和无感染的人数。而影响变量有三个。我们把这些影响变量进行编码

21、。如下。发生 不发生抗生素 X1 2 3危险因子X2 4 5有无计划X3 6 7是否感染 Y 1 0对数据的处理,如下X1 X2 X3 Y 频数2 4 6 1 12 4 6 0 172 5 6 1 02 5 6 0 22 4 7 1 112 4 7 0 872 5 7 1 02 5 7 0 03 4 6 1 283 4 6 0 303 4 7 1 233 4 7 0 33 5 6 1 83 5 6 0 323 5 7 1 03 5 7 0 9然后用 R 处理并求解模型hospital glm.sol summary(glm.sol)可以发现如果显著性为 0.1,则方程的系数和方程本省全部通过检

22、验。下面我们来做一个预测,看看(使用抗生素,有危险因子,有计划)的一个孕妇发生感染的概率是多少。 pre p cofe lm.sol summary(lm.sol)(2) lm.s2 summary(lm.s2)(3) plot(cofe$X,cofe$Y) abline(lm.sol) windows() plot(cofe$X,cofe$Y) lines(spline(cofe$X,fitted(lm.s2)6.8(1) pe glm.sol summary(glm.sol)可以发现各变量影响基本都不显著,甚至大部分还没通过显著性检验。只有 X1 的系数通过了显著性检验,但是也不是很理想。

23、下面计算每一个病人的生存时间大于 200 天的概率值。pre p p(2) lm.stepre p.new p.new显然经过逐步回归后的模型更合理。用 summary(lm.ste)看,第二个模型通过了显著性检验(a=0.1 )6.9(1) 首先将公式线性化,对方程两边直接取对数即可。然后将得到的方程用 lm 回归。 peo lm.sol|t|) (Intercept) 4.037159 0.084103 48.00 5.08e-16 *X -0.037974 0.002284 -16.62 3.86e-10 * lm.sum exp(lm.sum$coefficients1,1)1 56.

24、66512所以 theta0=56.66512,theta1=-0.0379(2) nls.sol summary(nls.sol)Parameters:Estimate Std. Error t value Pr(|t|) b0 58.606535 1.472160 39.81 5.70e-15 *b1 -0.039586 0.001711 -23.13 6.01e-12 *发现所求的基本上与内在线性相同。第七章7.1(1)pro pro.aov summary(pro.aov)可以看到不同工厂对产品的影响是显著的(2)首先自己编写求均值的小程序如下 K for(i in 1:3)+ K1,i K甲 乙 丙mean 103 111 86然后再用 t.test 来做均值的置信区间估计 pro.jia pro.yi pro.bing pairwise.t.test(pro$Y,pro$X)1 2 2 0.35 - 3 0.13 0.04可以看到显著性主要有乙工厂和丙工厂造成7.2(1) old old.aov summary(old.aov)可以发现影响是非常显著的。

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

当前位置:首页 > 高等教育 > 专业基础教材

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报