多元统计分析>data1=matrix(c(260,200,240,170,270,205,190,200,250,200,225,210,170,270,190,280,310,270,25 0,260,75,72,87,65,110,130,69,46,117,107,130,125,64,76,60,81,119,57,67,135,40,34,45,39,39,34, 27,45,21,28,36,26,31,33,34,20,25,31,31,39,18,17,18,17,24,23,15,15,20,20,11,17,14,13,16,18,15, 8,14,29),20,4)>data2=matrix(c(310,310,190,225,170,210,280,210,280,200,200,280,190,295,270,280,240,280,37 0,280,122,60,40,65,65,82,67,38,65,76,76,94,60,55,125,120,62,69,70,40,30,35,27,34,37,31,37,36,30,40,39,26,33,30,24,32,32,29,30,37,21,18,15,16,16,17,18,17,23,17,20, 11,17,16,21,18,20,20,20,17),20,4)>data3=matrix(c(320,260,360,295,270,380,240,260,260,295,240,310,330,345,250,260,225,345,36 0,250,64,59,88,100,65,114,55,55,110,73,114,103,112,127,62,59,100,120,107,117,39,37,28,36,32 ,36,42,34,29,33,38,32,21,24,22,21,34,36,25,36,17,11,26,12,21,21,10,20,20,21,18,18,11,20,16,19, 30,18,23,16),20,4)1.对单个分量进行检验对第一个分量进行检验,看其是否服从正态分布,利用的是Q-Q图检验法:> x<-rbind(data1,data2,data3)> x<-sort(x[,1])> x[1] 170 170 170 190 190 190 190 200 200 200 200 200 205 210 210 210 225 225[19] 225 240 240 240 240 250 250 250 250 260 260 260 260 260 260 270 270 270[37] 270 270 280 280 280 280 280 280 280 295 295 295 310 310 310 310 320 330[55] 345 345 360 360 370 380> p<-c()> for(i in 1:60){+ pi[i]=(i-0.5)/60}> q<-c()> for(i in 1:60){+ q[i]=qnorm(pi[i])}> plot(q,x)>由Q—Q图近似为一条直线,可认为第一个分量服从正态分布。
对第二个分量进行检验,看其是否服从正态分布,利用的是Q-Q图> x<-rbind(data1,data2,data3)> x[,2][1] 75 72 87 65 110 130 69 46 117 107 130 125 64 76 60 81 119 57 [19] 67 135 122 60 40 65 65 82 67 38 65 76 76 94 60 55 125 120 [37] 62 69 70 40 64 59 88 100 65 114 55 55 110 73 114 103 112 127 [55] 62 59 100 120 107 117> x<-sort(x[,2])> p<-c()> for(i in 1:60){+ pi[i]=(i-0.5)/60}> q<-c()> for(i in 1:60){+ q[i]=qnorm(pi[i])}> plot(q,x)由相应的Q—Q图近似为一条直线,可认为第二个分量服从正态分布。
对第三个分量进行检验,看其是否服从正态分布,利用的是Q-Q图检验法:> x<-rbind(data1,data2,data3)> x[,3][1] 40 34 45 39 39 34 27 45 21 28 36 26 31 33 34 20 25 31 31 39 30 35 27 34 [25] 37 31 37 36 30 40 39 26 33 30 24 32 32 29 30 37 39 37 28 36 32 36 42 34 [49] 29 33 38 32 21 24 22 21 34 36 25 36> x<-sort(x[,3])> p<-c()> for(i in 1:60){+ pi[i]=(i-0.5)/60}> q<-c()> for(i in 1:60){+ q[i]=qnorm(pi[i])}> plot(q,x)由Q—Q图近似为一条直线,可认为第三个分量服从正态分布。
对第四个分量进行检验,看其是否服从正态分布,利用的是Q-Q图检验法:> x<-rbind(data1,data2,data3)> x[,4][1] 18 17 18 17 24 23 15 15 20 20 11 17 14 13 16 18 15 8 14 29 21 18 15 16 [25] 16 17 18 17 23 17 20 11 17 16 21 18 20 20 20 17 17 11 26 12 21 21 10 20 [49] 20 21 18 18 11 20 16 19 30 18 23 16> x<-sort(x[,4])> p<-c()> for(i in 1:60){+ pi[i]=(i-0.5)/60}> q<-c()> for(i in 1:60){+ q[i]=qnorm(pi[i])}> plot(q,x)由Q—Q图近似为一条直线,可认为第四个分量服从正态分布。
2.对三组观测数据分布检验是否来自4元正态分布对第一组观测数据进行检验,看其是否服从正态分布,利用的是Q-Q图检验法:> a<-apply(data1,2,mean)> a[1] 231.0 89.6 32.9 17.1> b<-rep(a,20)> C<-matrix(b,nrow=20,ncol=4,byrow=TRUE)> D2<-(data1-C)%*%solve(cov(data1))%*%t(data1-C)> Dt<-sort(diag(D2))> pt=c()> for(i in 1:20){+ pt[i]=(i-0.5)/20+ cat(pt[i])+ }0.0250.0750.1250.1750.2250.2750.3250.3750.4250.4750.5250.5750.6250.6750.7250.7750.8250. 8750.9250.975>> x2<-c();for(i in 1:20){+ x2[i]=qchisq(pt[i],4)+ cat(x2[i])}0.48441860.89693591.2187621.509261.7862342.05852.331722.6102982.898223.1995723.5189 693.862034.2360624.6511435.1220715.672236.3423297.2140478.49628211.14329>> plot(Dt,x2)>由Q—Q图近似为一条直线,可认为第一组观测数据来自正态分布。
对第二组观测数据进行检验,看其是否服从正态分布,利用的是Q-Q图检验法> a<-apply(data2,2,mean)> a[1] 253.50 72.55 32.45 17.90> b<-rep(a,20)> C<-matrix(b,nrow=20,ncol=4,byrow=TRUE)> D2<-(data2-C)%*%solve(cov(data2))%*%t(data2-C)> Dt<-sort(diag(D2))> pt=c()> for(i in 1:20){+ pt[i]=(i-0.5)/20+ cat(pt[i])+ }0.0250.0750.1250.1750.2250.2750.3250.3750.4250.4750.5250.5750.6250.6750.7250.7750.8250. 8750.9250.975>> x2<-c()> for(i in 1:20){+ x2[i]=qchisq(pt[i],4)}> plot(Dt,x2)由Q—Q图近似为一条直线,可认为第二组观测数据正态分布。
对第三组观测数据进行检验,看其是否来自正态分布,利用的是Q-Q图检验法:> a<-apply(data3,2,mean)> a[1] 292.75 90.20 31.75 18.40> b<-rep(a,20)> C<-matrix(b,nrow=20,ncol=4,byrow=TRUE)> D2<-(data3-C)%*%solve(cov(data3))%*%t(data3-C)> Dt<-sort(diag(D2))> pt=c()> for(i in 1:20){+ pt[i]=(i-0.5)/20 }> x2<-c()> for(i in 1:20){+ x2[i]=qchisq(pt[i],4)}> plot(Dt,x2)由Q—Q图近似为一条直线,可认为第三组观测数据来自正态分布。
对整体的正态性检验,看其是否服从正态分布,利用的是Q-Q图> a<-apply(x,2,mean)> a[1] 259.08333 84.11667 32.36667 17.80000> b<-rep(a,60)> C<-matrix(b,nrow=60,ncol=4,byrow=TRUE)> D2<-(x-C)%*%solve(cov(x))%*%t(x-C)> diag(D2)[1] 1.7966364 1.2690092 4.8018512 3.3878516 4.0898319 6.2747903[7] 3.5431230 5.6506675 5.2794716 3.7780822 9.5805927 5.7189988[13] 3.6670512 1.5316505 1.9902534 4.6359843 4.0901968 6.1380264[19] 1.0589987 10.5907491 2.3184505 2.7465510 5.4751814 0.7268821[25] 3.0075345 1.1163284 1.4299501 3.2123533 3.3321821 2.3552011[31] 2.5336682 4.4500772 2.1189969 2.4318567 3.8904201 1.9141897[37] 1.4652065 1.4961771 6.0664760 3.8976735 4.3498708 3.6117174[43] 7.3070508 4.5172525 1.6899587 7.1252512 6.1343505 2.0092317[49] 1.2547339 1.6116253 2.9342207 1.2466060 8.9382474 4.6904838[55] 4.5466913 5.9331548 9.9494131 5.1555263 5.0818500 3.0535904> Dt<-sort(diag(D2))> Dt[1] 0.7268821 1.0589987 1.1163284 1.2466060 1.2547339 1.2690092[7] 1.4299501 1.4652065 1.4961771 1.5316505 1.6116253 1.6899587[13] 1.7966364 1.9141897 1.9902534 2.0092317 2.1189969 2.3184505[19] 2.3552011 2.4318567 2.5336682 2.7465510 2.9342207 3.0075345[25] 3.0535904 3.2123533 3.3321821 3.3878516 3.5431230 3.6117174[31] 3.6670512 3.7780822 3.8904201 3.8976735 4.0898319 4.0901968[37] 4.3498708 4.4500772 4.5172525 4.5466913 4.6359843 4.6904838[43] 4.8018512 5.0818500 5.1555263 5.2794716 5.4751814 5.6506675[49] 5.7189988 5.9331548 6.0664760 6.1343505 6.1380264 6.2747903[55] 7.1252512 7.3070508 8.9382474 9.5805927 9.9494131 10.5907491> pt=c()> for(i in 1:60){+ pt[i]=(i-0.5)/60+ cat(pt[i])+ }0.0083333330.0250.041666670.058333330.0750.091666670.10833330.1250.14166670.1583333 0.1750.19166670.20833330.2250.24166670.25833330.2750.29166670.30833330.3250.3416667 0.35833330.3750.39166670.40833330.4250.44166670.45833330.4750.49166670.50833330.5250.54166670.55833330.5750.59166670.60833330.6250.64166670.65833330.6750.69166670.708 33330.7250.74166670.75833330.7750.79166670.80833330.8250.84166670.85833330.8750.891 66670.90833330.9250.94166670.95833330.9750.9916667>> pt[1] 0.008333333 0.025000000 0.041666667 0.058333333 0.075000000 0.091666667[7] 0.108333333 0.125000000 0.141666667 0.158333333 0.175000000 0.191666667[13] 0.208333333 0.225000000 0.241666667 0.258333333 0.275000000 0.291666667[19] 0.308333333 0.325000000 0.341666667 0.358333333 0.375000000 0.391666667[25] 0.408333333 0.425000000 0.441666667 0.458333333 0.475000000 0.491666667[31] 0.508333333 0.525000000 0.541666667 0.558333333 0.575000000 0.591666667[37] 0.608333333 0.625000000 0.641666667 0.658333333 0.675000000 0.691666667[43] 0.708333333 0.725000000 0.741666667 0.758333333 0.775000000 0.791666667[49] 0.808333333 0.825000000 0.841666667 0.858333333 0.875000000 0.891666667[55] 0.908333333 0.925000000 0.941666667 0.958333333 0.975000000 0.991666667> x2<-c();for(i in 1:60){+ x2[i]=qchisq(pt[i],4)+ cat(x2[i])}0.27001510.48441860.64157720.77576950.89693591.0096231.1163681.2187621.3178881.4145 251.509261.6025521.6947741.7862341.8771931.9678812.05852.1492342.2402542.331722.423 7852.5165952.6102982.7050382.8009622.898222.9969663.097363.1995723.3037823.4101783. 5189693.6303753.744643.862033.9828394.1073944.2360624.3692534.5074364.6511434.80099 4.9576875.1220715.2951285.4780395.672235.8794556.1018976.3423296.6043466.8927317.21 40477.5776567.9975868.4962829.1131229.92750811.1432913.69543>> plot(Dt,x2)>。