实验报告 判别分析多元统计.docx
《实验报告 判别分析多元统计.docx》由会员分享,可在线阅读,更多相关《实验报告 判别分析多元统计.docx(15页珍藏版)》请在冰豆网上搜索。
![实验报告 判别分析多元统计.docx](https://file1.bdocx.com/fileroot1/2023-1/4/fc39231d-0de5-4571-a978-748ee50006e1/fc39231d-0de5-4571-a978-748ee50006e11.gif)
实验报告判别分析多元统计
实验报告5
判别分析(设计性实验)
(Discriminantanalysis)
实验原理:
判别分析是判别样品所属类型的一种统计方法。
判别分析是在已知研究对象分成若干类型(或组别)并已取得各种类型的一批已知样品的观测数目,在此基础上根据某些准则建立判别式,然后对未知类型的样品进行判别分类。
本实验要求学生应用距离判别准则(即,对任给的一次观测,若它与第i类的重心距离最近,就认为它来自第i类),对两总体和多总体情形下分别进行判别分析。
实验中需注意协方差矩阵相等时,选取线性判别函数;协方差矩阵不相等时,应选取二次判别函数。
实验题目一:
为了检测潜在的血友病A携带者,下表中给出了两组数据:
(t11a8)
非携带者(∏1)
被迫携带者(∏2)
Group
x1
x2
Group
x1
x2
1
-0.0056
-0.1657
2
-0.3478
0.1151
1
-0.1698
-0.1585
2
-0.3618
-0.2008
1
-0.3469
-0.1879
2
-0.4986
-0.086
1
-0.0894
0.0064
2
-0.5015
-0.2984
1
-0.1679
0.0713
2
-0.1326
0.0097
1
-0.0836
0.0106
2
-0.6911
-0.339
1
-0.1979
-0.0005
2
-0.3608
0.1237
1
-0.0762
0.0392
2
-0.4535
-0.1682
1
-0.1913
-0.2123
2
-0.3479
-0.1721
1
-0.1092
-0.119
2
-0.3539
0.0722
1
-0.5268
-0.4773
2
-0.4719
-0.1079
1
-0.0842
0.0248
2
-0.361
-0.0399
1
-0.0225
-0.058
2
-0.3226
0.167
1
0.0084
0.0782
2
-0.4319
-0.0687
1
-0.1827
-0.1138
2
-0.2734
-0.002
1
0.1237
0.214
2
-0.5573
0.0548
1
-0.4702
-0.3099
2
-0.3755
-0.1865
1
-0.1519
-0.0686
2
-0.495
-0.0153
1
0.0006
-0.1153
2
-0.5107
-0.2483
1
-0.2015
-0.0498
2
-0.1652
0.2132
1
-0.1932
-0.2293
2
-0.2447
-0.0407
1
0.1507
0.0933
2
-0.4232
-0.0998
1
-0.1259
-0.0669
2
-0.2375
0.2876
1
-0.1551
-0.1232
2
-0.2205
0.0046
1
-0.1952
-0.1007
2
-0.2154
-0.0219
1
0.0291
0.0442
2
-0.3447
0.0097
1
-0.228
-0.171
2
-0.254
-0.0573
1
-0.0997
-0.0733
2
-0.3778
-0.2682
1
-0.1972
-0.0607
2
-0.4046
-0.1162
1
-0.0867
-0.056
2
-0.0639
0.1569
2
-0.3351
-0.1368
2
-0.0149
0.1539
2
-0.0312
0.14
2
-0.174
-0.0776
2
-0.1416
0.1642
2
-0.1508
0.1137
2
-0.0964
0.0531
2
-0.2642
0.0867
2
-0.0234
0.0804
2
-0.3352
0.0875
2
-0.1878
0.251
2
-0.1744
0.1892
2
-0.4055
-0.2418
2
-0.2444
0.1614
2
-0.4784
0.0282
其中x1=log10(AHFactivity),x2=log10(AHFantigen)。
下表给出了五个新的观测,试对这些观测判别归类;(t11b8)
观测
x1
x2
1
-.112
-0.279
2
-.059
-0.068
3
.064
0.012
4
-.043
-0.052
5
-.050
-0.098
实验要求:
(1)分别检验两组数据是否大致满足二元正态性;
(2)分别计算两组数据的协方差矩阵,是否可以认为两者近似相等?
(3)对训练样本和新观测合并作散点图,不同的类用不同颜色标识;
(4)用lda函数做判别分析,即在协方差矩阵相等的情形下作判别分析;
(5)用qda函数做判别分析,即在协方差矩阵不相等的情形下作判别分析;
(6)比较方法(4)和方法(5)的误判率。
实验题目二:
某商学研究生院的招生官员利用指标――大学期间平均成绩GPA和研究生管理能力考试GMAT的成绩,将申请者分为三类:
接受,不接受,待定。
下表中给出了三类申请者的GPA与GMAT成绩:
(t11a6)
GPA(x1)
GMAT(x2)
接受
GPA(x1)
GMAT(x2)
不接受
GPA(x1)
GMAT(x2)
待定
2.96
596
1
2.54
446
2
2.86
494
3
3.14
473
1
2.43
425
2
2.85
496
3
3.22
482
1
2.2
474
2
3.14
419
3
3.29
527
1
2.36
531
2
3.28
371
3
3.69
505
1
2.57
542
2
2.89
447
3
3.46
693
1
2.35
406
2
3.15
313
3
3.03
626
1
2.51
412
2
3.5
402
3
3.19
663
1
2.51
458
2
2.89
485
3
3.63
447
1
2.36
399
2
2.8
444
3
3.59
588
1
2.36
482
2
3.13
416
3
3.3
563
1
2.66
420
2
3.01
471
3
3.4
553
1
2.68
414
2
2.79
490
3
3.5
572
1
2.48
533
2
2.89
431
3
3.78
591
1
2.46
509
2
2.91
446
3
3.44
692
1
2.63
504
2
2.75
546
3
3.48
528
1
2.44
336
2
2.73
467
3
3.47
552
1
2.13
408
2
3.12
463
3
3.35
520
1
2.41
469
2
3.08
440
3
3.39
543
1
2.55
538
2
3.03
419
3
3.28
523
1
2.31
505
2
3
509
3
3.21
530
1
2.41
489
2
3.03
438
3
3.58
564
1
2.19
411
2
3.05
399
3
3.33
565
1
2.35
321
2
2.85
483
3
3.4
431
1
2.6
394
2
3.01
453
3
3.38
605
1
2.55
528
2
3.03
414
3
3.26
664
1
2.72
399
2
3.04
446
3
3.6
609
1
2.85
381
2
3.37
559
1
2.9
384
2
3.8
521
1
3.76
646
1
3.24
467
1
实验要求:
(1)对上表中的数据作散点图,不同的类用不同的颜色标识;
(2)用lda函数做判别分析,即在协方差矩阵相等的情形下作判别分析;
(3)用qda函数做判别分析,即在协方差矩阵不相等的情形下作判别分析;
(4)比较方法
(2)和方法(3)的误判率;
(5)现有一新申请者的GPA为3.21,GMAT成绩为497。
请将该观测在
(1)的散点图中标出,并分别用方法
(2)和方法(3)将其归类?
你认为哪一种方法更合适?
(6)观察
(1)的散点图中第三类的观测点有无异常值?
若有,将该异常值剔除后再对新申请者判别归类,结果有无变化?
实验题目一分析报告:
(1)分别检验两组数据是否大致满足二元正态性;
>data1=read.csv("D:
/data1.csv",head=T)
>data2=read.csv("D:
/data2.csv",head=T)
>data1=data1[,-1]
>data11=as.matrix(data1)
>shapiro.test(data11)
Shapiro-Wilknormalitytest
data:
data11
W=0.95354,p-value=0.02291
非携带者数据满足二元正态分布
>data2=data2[,-1]
>data22=as.matrix(data2)
>shapiro.test(data22)
Shapiro-Wilknormalitytest
data:
data22
W=0.98453,p-value=0.3643
被迫携带者数据不满足二元正态分布
(2)分别计算两组数据的协方差矩阵,是否可以认为两者近似相等?
>cov.data1=cov(data11)
>cov.data2=cov(data22)
>cov.data1
整理得:
0.021
0.016
0.016
0.018
>cov.data2
整理得:
0.024
0.015
0.015
0.024
以下对矩阵的相似性进行检验:
>qr(cov.data1)$rank#计算矩阵的秩
[1]2
>qr(cov.data2)$rank
[1]2
>det(cov.data1)#计算矩阵的行列式的值
[1]0.0001337663
>det(cov.data2)
[1]0.0003352181
>eigen(cov.data1)#计算矩阵的特征值
eigen()decomposition
$`values`
[1]0.0349948500.003822458
$vectors
[,1][,2]
[1,]-0.74010410.6724924
[2,]-0.6724924-0.7401041
>eigen(cov.data2)
eigen()decomposition
$`values`
[1]0.0392861100.008532738
$vectors
[,1][,2]
[1,]0.7042124-0.7099894
[2,]0.70998940.7042124
由于两个协方差矩阵的秩相同,行列式的值和特征值相差很小,可以认为两者近似相等。
(3)对训练样本和新观测合并作散点图,不同的类用不同颜色标识;
用lda和qda判别新观测数据的的类:
>data3=read.csv("D:
/data3.csv",head=T)
>predict(data.lda,newdata=data3[,-1])$class
[1]11111
Levels:
12
>predict(data.qda,newdata=data3[,-1])$class
[1]11111
Levels:
12
两种方法判别结果相同,即所有都是非携带者。
>data4=read.csv("D:
/data4.csv",head=T)
#data4是训练样本和新观测合并的数据
>library(car)
>scatterplotMatrix(~x1+x2|Group,data=data4,smooth=FALSE,reg.line=FALSE,ellipse=TRUE,levels=0.95,by.groups=TRUE,diagonal="none")
(4)用lda函数做判别分析,即在协方差矩阵相等的情形下作判别分析;
>data=read.csv("D:
/data.csv",head=T)
>data.n=read.csv("D:
/data3.csv",head=T)
>data.n=data.n[,-1]
>library(MASS)
>data.lda=lda(data[,-1],factor(data$Group))#lda函数
>data.lda
Call:
lda(data[,-1],factor(data$Group))
Priorprobabilitiesofgroups:
12
0.40.6
Groupmeans:
x1
x2
1
-0.135
-0.078
2
-0.308
-0.006
Coefficientsoflineardiscriminants:
LD1
x1
-9.033
x2
8.007
>z2=predict(data.lda,dim=1)$class
>table(z2)
z2
12
3342
>c(3)/c(75)
[1]0.04
误判率为0.04
(5)用qda函数做判别分析,即在协方差矩阵不相等的情形下作判别分析;
>data.qda=qda(data[,-1],factor(data$Group))#qda函数
>data.qda
Call:
qda(data[,-1],factor(data$Group))
Priorprobabilitiesofgroups:
12
0.40.6
Groupmeans:
x1x2
1-0.1348700-0.077856667
2-0.3079467-0.005991111
>q2=predict(data.qda,dim=1)$class
>table(q2)
q2
12
3144
>c
(1)/c(75)
[1]0.01333333
误判率约为0.013
(6)比较方法(4)和方法(5)的误判率。
此题中qda方法的误判率更低。
实验题目二分析报告:
(1)对上表中的数据作散点图,不同的类用不同的颜色标识;
>data=read.csv("D:
/data.csv",head=T)
>head(data)
GPAGMATaccept
12.965961
23.144731
33.224821
43.295271
53.695051
63.466931
>library(car)
>scatterplotMatrix(~GPA+GMAT|accept,data=data,smooth=FALSE,reg.line=FALSE,ellipse=TRUE,levels=0.95,by.groups=TRUE,diagonal="none")
(2)用lda函数做判别分析,即在协方差矩阵相等的情形下作判别分析;
先计算原数据的各种类个数:
>sum(data$accept==1)
[1]31
>sum(data$accept==2)
[1]28
>sum(data$accept==3)
[1]26
>library(MASS)
>data.lda=lda(data[,-3],factor(data$accept))
>data.lda
Call:
lda(data[,-3],factor(data$accept))
Priorprobabilitiesofgroups:
123
0.36470590.32941180.3058824
Groupmeans:
GPA
GMAT
1
3.404
561.226
2
2.483
447.071
3
2.993
446.231
Coefficientsoflineardiscriminants:
LD1
LD2
GPA
-5.009
1.877
GMAT
-0.009
-0.014
Proportionoftrace:
LD1LD2
0.96730.0327
>z2=predict(data.lda,dim=1)$class
>table(z2)
z2
123
282730
(3)用qda函数做判别分析,即在协方差矩阵不相等的情形下作判别分析;
>data.qda=qda(data[,-3],factor(data$accept))
>data.qda
Call:
qda(data[,-3],factor(data$accept))
Priorprobabilitiesofgroups:
123
0.36470590.32941180.3058824
Groupmeans:
GPA
GMAT
1
3.404
561.226
2
2.483
447.071
3
2.993
446.231
>q2=predict(data.qda,dim=1)$class
>table(q2)
q2
123
312727
(4)比较方法
(2)和方法(3)的误判率;
>c(4)/c(85)
[1]0.04705882
Lda方法的误判率约为0.05
>c
(1)/c(85)
[1]0.01176471
qda方法的误判率约为0.01
此题中qda的误判率较低
(5)现有一新申请者的GPA为3.21,GMAT成绩为497。
请将该观测在
(1)的散点图中标出,并分别用方法
(2)和方法(3)将其归类?
你认为哪一种方法更合适?
(6)观察
(1)的散点图中第三类的观测点有无异常值?
若有,将该异常值剔除后再对新申请者判别归类,结果有无变化?