《SAS中判别分析.ppt》由会员分享,可在线阅读,更多相关《SAS中判别分析.ppt(31页珍藏版)》请在三一办公上搜索。
1、用SAS进行判别分析,距离判别贝叶斯判别典型判别(fisher判别)逐步判别,距离判别,Obs x1 x2 x3 x4 group 1 13.85 2.79 7.80 49.60 A 2 22.31 4.67 12.31 47.80 A 3 28.82 4.63 16.18 62.15 A 4 15.29 3.54 7.50 43.20 A 5 28.79 4.90 16.12 58.10 A 6 2.18 1.06 1.22 20.60 B 7 3.85 0.80 4.06 47.10 B 8 11.40 0.00 3.50 0.00 B 9 3.66 2.42 2.14 15.10 B 1
2、0 12.10 0.00 5.68 0.00 B 11 8.85 3.38 5.17 26.10 12 28.60 2.40 1.20 127.00 13 20.70 6.70 7.60 30.20 14 7.90 2.40 4.30 33.20 15 3.19 3.20 1.43 9.90 16 12.40 5.10 4.43 24.60 17 16.80 3.40 2.31 31.30 18 15.00 2.70 5.02 64.00,书p182,表5.1,盐泉的特征数值,data ds511;input x1-x4 group$;cards;13.85 2.79 7.80 49.60 A
3、 28.79 4.90 16.12 58.10 A 2.18 1.06 1.22 20.60 B 12.10 0.00 5.68 0.00 B;data d511test;input x1-x4 group$;cards;8.85 3.38 5.17 26.10.28.60 2.40 1.20 127.0.15.00 2.70 5.02 64.00.;proc discrim data=ds511 testdata=d511test list testlist;class group;var x1-x4;run;,两个数据集:ds511、d511test,分别是训练数据和待判别的数据。在dis
4、crim语句中,要用testdata=d511test来指明,d511test是待判别的数据集。输入字符串数据时,可以用英文句点.来表示空字符串。LIST,印出各觀察值被分類的結果TESTLIST,印出被測試資料內所有觀察值,data d511;input x1-x4 group$;cards;13.85 2.79 7.80 49.60 A 28.79 4.90 16.12 58.10 A 2.18 1.06 1.22 20.60 B 12.10 0.00 5.68 0.00 B 8.85 3.38 5.17 26.10.28.60 2.40 1.20 127.0.15.00 2.70 5.0
5、2 64.00.;options ps=60 ls=75;proc print data=d511;run;proc discrim data=d511 simple wcov pcov wsscp psscp distance list;class group;var x1-x4;run;,Options ps=60 ls=75表示输出屏幕定义为一页60行,每行75字符,proc print以报表方式输出数据集,wsscp,打印各组的离差交乘积和矩阵,这个程序与前一个程序略有不同,它没有采用两个数据集,而是把训练数据和待判别数据全部写到一个数据集:d511。,distance,打印各组之间的
6、马氏距离,和F统计量。,PROC DISCRIM OPTIONS 選擇項有:(1)DATA=SASdataset,指定作判別分析之資料組(2)OUT=SASdataset,指定存放判別分析後計量之資料組*(3)TESTDATA=SASdataset,指定一個用來測試判別函數的資料組(4)WCOV,印出各類別裏之共變數矩陣(5)WCORR,印出各類別之相關矩陣(6)SIMPLE,印出原始變數之平均數,標準差等(7)PCOV,印出各類別裏共變數矩陣的平均數(8)PCORR,印出淨相關係數矩陣的平均數(9)LISTERR,印出被分到錯誤類別的觀察值(10)TESTLIST,印出被測試資料內所有觀察值
7、(11)LIST,印出各觀察值被分類的結果(12)TESTLISTERR,印出在測試資料組內被分到錯誤類別的觀察值*(13)NOSUMMARY,分類結果暫時不印出*(14)POOL=YES或=TEST,系統內定值為=YES,其分析所用的判別函數來自各類別之共變數矩陣.若選=TEST,則用Ratio Test考驗各類別裏的共變數矩陣相同程度是否達顯著水準,若達顯著水準,其功用如POOL=NO,若否,則如POOL=YES.*(15)THRESHOLD=P,指定一個最小的事後機率(posterior probability),贝叶斯判别,Obs group x1 x2 x3 x4 1 1 228 1
8、34 20 11 2 1 245 134 10 40 3 1 200 167 12 27 4 1 170 150 7 8 5 1 100 167 20 14 6 2 225 125 7 14 7 2 130 100 6 12 8 2 150 117 7 6 9 2 120 133 10 26 10 2 160 100 5 10 11 3 185 115 5 19 12 3 170 125 6 4 13 3 165 142 5 3 14 3 135 108 2 12 15 3 100 117 7 2,书p192,表5.2,胃癌检验的生化指标,Group=1,胃癌Group=2,萎缩性胃炎Grou
9、p=3,非胃炎,data d522;input group x1-x4;cards;1 228 134 20 11 1 245 134 10 401 200 167 12 27 1 170 150 7 81 100 167 20 14 2 225 125 7 142 130 100 6 12 2 150 117 7 62 120 133 10 26 2 160 100 5 103 185 115 5 19 3 170 125 6 43 165 142 5 3 3 135 108 2 123 100 117 7 2;proc print data=d522;run;proc discrim da
10、ta=d522 pool=no distance list;class group;priors 1=0.33333 2=0.33333 3=0.33333;var x1-x4;run;,Priors语句,指出每组患者的先验概率。,典型判别(fisher)法,data d522;proc candisc data=d522 out=can532 ncan=2 distance simple;class group;var x1-x4;run;proc plot data=can532;plot can2*can1=group;run;proc print data=can532;run;pro
11、c discrim data=can532 distance list;class group;var can1 can2;run;proc discrim data=can532 pool=no distance list;class group;var can1 can2;run;,P198,例,还是p192表5.2的数据,但用典型判别法的做法,ncan=2指出原始数据投影到2维空间中,使类间距离最大化,类内距离最小化后,所得的2维数据。,Obs group x1 x2 x3 x4 Can1 Can2 1 1 228 134 20 11 2.75459 1.12712 2 1 245 13
12、4 10 40 2.04732 1.26078 3 1 200 167 12 27 2.87670-0.85375 4 1 170 150 7 8 0.42984-1.78803 5 1 100 167 20 14 2.88596 0.00755 6 2 225 125 7 14 0.16132-0.26364 7 2 130 100 6 12-2.03517 1.18626 8 2 150 117 7 6-1.15808-0.03218 9 2 120 133 10 26 0.32348 0.93155 10 2 160 100 5 10-1.97122 0.78573 11 3 185 1
13、15 5 19-0.84243 0.42801 12 3 170 125 6 4-0.87319-0.83084 13 3 165 142 5 3-0.44736-1.96201 14 3 135 108 2 12-2.36910 0.08988 15 3 100 117 7 2-1.78267-0.08642,这是pool=yes的判别结果,这是pool=no的判别结果,逐步判别,data d522;input group x1-x4;cards;1 228 134 20 11 1 245 134 10 401 200 167 12 27 1 170 150 7 81 100 167 20
14、14 2 225 125 7 142 130 100 6 12 2 150 117 7 62 120 133 10 26 2 160 100 5 103 185 115 5 19 3 170 125 6 43 165 142 5 3 3 135 108 2 123 100 117 7 2;proc stepdisc data=d522 METHOD=STEPWISEsle=0.15 sls=0.15;class group;var x1-x4;run;,P210,例,还是p192表5.2的数据,但采用逐步判别法的做法,Method=stepwise|sw,变量增减的逐步判别Method=bac
15、kward|bw,变量减少法Method=forword|fw,变量增加法,Sle或slentry=p,引入变量的显著性水平,默认0.15Sls或slstay=p,剔除变量的显著性水平,默认0.15,proc discrim data=d522 list;class group;var x2 x3;run;,用stepdisc,只能得出那些被选出的变量。要做判别分析,还需要使用discrim过程,明确地做一次判别分析。,练习一、书p213,5-9题。用距离判别法判断最后一行待判数据含不含矿。实验报告只写结果是含矿,还是不含矿。,Type=1,含矿Type=0,不含矿最后一行,待判数据,练习二、
16、书p213,5-10题。用逐步判别法,取sle=sls=0.18,指出选择了哪几个变量,并判断右边三个待判数据。,练习三、书p214,5-11题。判断最下边两个待判数据属于哪一类。实验报告只写结果是哪一类。,练习四、三种鸢尾花的花瓣、花萼的长、宽数据,共收集了3种鸢尾花,每种50个观测量,共150各观测量的数据,其中前140个数据,已经人工判别了分类结果,后10个数据没有分类。1.试用距离判别法建立线性判别模型,并判断10个待判数据的类型。实验报告中给出各类的线性判函数,和10个待判数据的类型。2.试用典型判别法将原始数据投影到2维空间,得到2维数据can1、can2,绘出150个样本点在can1、can2平面上的图形。can1、can2是由原始数据经线性变换所得,实验报告中给出这个线性变换的系数。用典型判别法判断10个待判数据的类型,与用距离判别法得到的结果相同吗?,