R语言非参数检验_第1页
R语言非参数检验_第2页
R语言非参数检验_第3页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1. R语言卡方检验皮尔森拟合优度塔防检验。假设H0:总体具有某分布 F备择假设H1:总体不具有该分布。我们将数轴分成若干个区间,所抽取的样本会分布在这些区间中。在原假设成立的条件下,我们便知道每个区间包含样本的个数的期望值。用实际值Ni与期望值Npi可以构造统计量K。皮尔森证明,n趋向于无穷时,k收敛于m-1的塔防分布。m为我们分组的个数。有了 这个分布,我们就可以做假设检验。例去X某消燈者懈会为了樋定帀场上消疣書对占井為牌吐滔的鼻桁復底,随机 抽朋了 1000名喊酒唆好者作为样软进疔4 F汛骑;每个人将到5神品髀的常酒 备一龜,但未标明牌子“这疔料啤鬲按分别写着.4* 队 C、D. E字刃

2、:的 5帐纸片施机的顺序遇给每 f 人.和£1是根搐样本計料整理稈到的各种品牌 啤酒愛好番的频數分布.试粮捱这些數船判斷消聲靑对这占种弗牌呻消的爱好 孫尢明显養异?表二1;仃种品牌啤酒爱好老釣频数畏応的牌子ABCDE人itx210312170S5223#如果是均匀分布,则没有明显差异。这里组其实已经分好了,直接用 。H0:人数服从均匀分布> x <- c(210,312,170,85,223)> n <- sum(x); m <- le ngth(x)> p <- rep(1/m,m)> K <- sum(x-n*p)A2/(n*

3、p); K # 计算出 K值1 136.49> p <- 1-pchisq(K,m-1); p #计算出 p 值1 0 #拒绝原假设。在R语言中chisq.test(),可以完成拟合优度检验。默认就是检验是否为均匀分布,如果是其他分布,需要自己分组,并在参数p中指出。上面题目的解法:chisq.test(x)Chi-squared test for give n probabilitiesdata: xX-squared = 136.49, df = 4, p-value < 2.2e-16 # 同样拒绝原假设。例,用这个函数检验其他分布。抽取31名学生的成绩,检验是否为正态

4、分布。> x <- c(25,45,50,54,55,61,64,68,72,75,75,78,79,81,83,84,84,84,85, 86,86,86,87,89,89,89,90,91,91,92,100)> A <- table(cut(x,breaks=c(0,69,79,89,100) # 对样本数据进行分组。 > A(0,69 (69,79 (79,89 (89,1008 5 13 5> p <- pnorm(c(70,80,90,100),mean(x),sd(x) # 获得理论分布的概率值> p <- c(p1,p2-p

5、1,p3-p2,1-p3)> chisq.test(A,p=p)Chi-squared test for given probabilitiesdata: AX-squared = 8.334, df = 3, p-value = 0.03959 #检验结果不是正态的。例:大麦杂交后关于芒性的比例应该是 无芒:长芒:短芒 =9:3:4 。 我们的实际观测值是 335:125: 160 。请问观测值是否符合预期?> p <- c(9/16,3/16,4/16)> x <- c(335,125,160)> chisq.test(x,p=p)Chi-squared

6、 test for given probabilitiesdata: xX-squared = 1.362, df = 2, p-value = 0.5061在分组的时候要注意,每组的频数要大于等于 5. 如果理论分布依赖于多个未知参数,只能先由样本得到参数的估计量。然后构造统计量K,此时 K 的自由度减少位置参数的数量个。2. R 语言 ks 检验。R语言中提供了 ks.test()函数,理论上可以检验任何分布。他既能够做单样本检验,也能做 双样本检验。单样本 例:记录一台设备无故障工作时常,并从小到大排序 420 500 920 1380 1510 1650 1760 2100 2300

7、2350 。问这些时间是否服从拉姆达 =1/1500 的指数分布?> x <- c(420,500,920,1380,1510,1650,1760,2100,2300,2350)> ks.test(x,"pexp",1/1500)One-sample Kolmogorov-Smirnov testdata: xD = 0.3015, p-value = 0.2654 alternative hypothesis: two-sided双样本 例:有两个分布,分别抽样了一些数据,问他们是否服从相同的分布。> X<-sca n()1: 0.61 0.

8、29 0.06 0.59 -1.73 -0.74 0.51 -0.56 0.3910: 1.64 0.05 -0.06 0.64 -0.82 0.37 1.77 1.09 -1.2819: 2.36 1.31 1.05 -0.32 -0.40 1.06 -2.4726:Read 25 items> Y<-sca n()1: 2.20 1.66 1.38 0.20 0.36 0.00 0.96 1.56 0.4410: 1.50 -0.30 0.66 2.31 3.29 -0.27 -0.37 0.38 0.7019: 0.52 -0.7121:Read 20 items> k

9、s.test(X,Y)Two-sample Kolmogorov-Smirnov test #原假设为 他们的分布相同data: X and YD = 0.23, p-value = 0.5286alter native hypothesis: two-sided3.R语言列联表数据独立性检验。chisq.test()同样可以做列联表数据独立性检验,只要将数据写成矩阵的形式就可以了。患肿癌未患肺癌金计吸烟G03292不吸烟31114合计6343106> x <- matrix(c(60,3,32,11),nrow=2) #参数correct是逻辑变量 表示带不带连续矫正。>

10、x,1 ,21,60322,311> chisq.test(x)Pears on's Chi-squared test with Yates' con ti nuity correct iondata: xX-squared = 7.9327, df = 1, p-value = 0.004855# 拒绝假设 认为有关系如果一个单元格内的数据小于5那么做pearson检验是无效的。此时应该使用Fisher精确检验。例546 Jfc医师为斫梵匕肝屯疫球蛋白惜仿胎儿宫内感染陆效采,将 朋 M HBsAg阳惟孚启随机分为预障注射蛆招琴脛组,结呆曲麦工7所示,问两蛆 軒生儿的H1

11、3V ,1休惡染率亦无基别?養 5 两组新生儿HBV感染率的比较奴别阳性合计恿染帶(%)预馬注射蛆4182218.18561145.4592427.27> x <- matrix(c(4,5,18,6), nrow=2),1 ,21,4 182,56> fisher.test(x)Fisher's Exact Test for Count Datadata: xp-value = 0.121alter native hypothesis: true odds ratio is not equal to 195 perce nt con fide nee in terv

12、al:0.03974151 1.76726409 #p值大与0.05,区间估计包含1,所以认为没有关系。sample estimates:odds ratio0.2791061McNemar检验。这个不是相关性检验。是配对卡方检验。也就是说,我们是对一个样本做了两次观测,本身不是独立的样本而是相关的样本,而我们检验的是变化的强度。H0:频数没有发生变化。表丄相依配对计数资料治疗后具有挂状A治疗后不具肓症状A治疗前不县有iStt Aa.5.n要大于100.治疗前耳肓韭杖A=用法就不举例了。单元格内数字不得小于4. R语言符号检验。当我们以中位数将数据分为两边,一边为正,一边为负,那么样本出现在两

13、边的概率应该都为1/2。因此,使用p=0.2的二项检验就可以做符号检验了。例:统计了 66个城市的生活花费指数,北京的生活花费指数为99。请问北京是否位于中位数以上。> x <- sea n()1: 66 75 78 80 81 81 82 83 83 83 8312: 84 85 85 86 86 86 86 87 87 88 8823: 88 88 88 89 89 89 89 90 90 91 9134: 91 91 92 93 93 96 96 96 97 99 10045: 101 102 103 103 104 104 104 105 106 109 10956: 11

14、0 110 110 111 113 115 116 117 118 155 19267:Read 66 items> bino m.test(sum(x>99),le ngth(x),alter native="less")Exact bi no mial testdata: sum(x > 99) and len gth(x)nu mber of successes = 23, nu mber of trials = 66, p-value = 0.009329 alter native hypothesis: true probability of s

15、uccess is less tha n 0.595 perce nt con fide nee in terval:0.0000000 0.4563087sample estimates:probability of success0.3484848#北京位于中位数下。符号检验也可以用来检验两个总体是否存在明显差异。要是没有差异,那么两者之差为正的概率为0.5.例5.19用两种贰同的饲蚪器措,其贈奎能况如皮5.10示*淡分析两爭饲钟表不同词料并豬的增重悄况对编号123 45G7891011121314饲料X2528 232735蓟283229:!(#303i16饲抖Y193221192531

16、2G302528312523> y <- c(19,32,21,19,25,31,31,26,30,25,28,31,25,25)> x <- c(25,30,28,23,27,35,30,28,32,29,30,30,31,16)> bino m.test(sum(x<y),le ngth(x)Exact bi no mial test data: sum(x < y) and len gth(x)nu mber of successes = 4, nu mber of trials = 14, p-value = 0.1796alter nativ

17、e hypothesis: true probability of success is not equal to 0.595 perce nt con fide nee in terval:0.08388932 0.58103526sample estimates:probability of success0.2857143#无明显差异。这个例子不是很好例乱2D某优斜店为了孵斶宕对伏料的密奸措况,进一步敗进他们的工作,彬 容弃欢咖啡还是喜欢奶茶,或者两者同样盍好进脊了调查.谏店农集日随机地柚 职了打几颐容进疔了调查,踰需舂欢归啡起过舗茶用正号衣示,亦欢舗茶趙过 咖唏用负号衣示的者同样愛号用

18、。衣示.现书賜査芮结最列冷衣£打中.试表工11:不同颇客的爱好情况12314567 iJ 9101112131 11 i 011 1 1 1轟欢诃寮1I1题目中标识为0的意思是两者同样喜欢。> bin om.test(3,12,alternative="less",co nf.level=0.9)Exact bi no mial testdata: 3 and 12nu mber of successes = 3, nu mber of trials = 12, p-value = 0.073alter native hypothesis: true pro

19、bability of success is less tha n 0.590 perce nt con fide nee in terval:0.0000000 0.4752663sample estimates:probability of success #p<0.1接受备择假设认为有差异0.255. R语言秩相关检验。在R语言中,rank()函数用来求秩,如果向量中有相同的数据,求出的秩可能不合我们的要 求,对数据做微调即可> x <- c(1.2,0.8,-3.1,2,1.2)> ran k(x)1 3.5 2.0 1.0 5.0 3.5> x <

20、- c(1.2,0.8,-3.1,2,1.2+1e-5)> ran k(x)1 3 2 1 5 4利用秩可以做相关性检验。cor.test( method="spearma n,ke ndell")6. R语言wilcoxon检验。符号检验只考虑了符号,没有考虑要差异的大小。wilcoxon解决了这个问题。假设,数据是连续分布的,数据是关于中位数对称的。例:某电池厂商生产的电池中位数为140.现从新生产的电池中抽取20个测试。请问电池是否合格> x <- c(137,140,138.3,139,144.3,139.1,141.7,137.3,133.5,1

21、38.2,141.1,139.2,136.5,136.5,135.6, 138,140.9,140.6,136.3,134.1)> wilcox.test(x,mu=140,alternative="less",exact=F,correct=F,c on fi.i nt=T)Wilcox on sig ned rank testdata: xV = 34, p-value = 0.007034alter native hypothesis: true locati on is less tha n 140 wilcox.test()做成对样本检测。2小块,分别用不同

22、的化肥种菜。请问例:在农场中选择了 10块农田,将每一块农田分成 化肥会不会提高蔬菜产量。> x <- c(459,367,303,392,310,342,421,446,430,412)> y <- c(414,306,321,443,281,301,353,391,405,390)> wilcox.test(x-y,alter native="greater")Wilcox on sig ned rank testdata: x - yV = 47, p-value = 0.02441alter native hypothesis: true locati on is greater tha n 0 # 能够提高产量 非配对双样本检测:例5.26伞测殍10乳非毎作业工人和7扃轄作业工人的血掘值,如也5.15 示. 谶用 Wilcoxnn ft.和£

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论