6.2考虑两个数据集x1=[3 2 4 7 4 7],x2=[6 5 4 9 7 8]
(1)计算Fisher线性判别函数;
(2)用Bayes准则,在相同先验概率和相同代价下将观测值x=(2,7)分类到总体G1或G2。
#6.2 x1=c(3,2,4,7,4,7) x2=c(6,5,4,9,7,8) y=c(1,1,1,2,2,2) (data1=data.frame(x1,x2,y)) plot(data1[,-3]) text(x1,x2,y,adj = -0.5)#标识点所属类别G library(MASS) ld=lda(y~.,data=data1);ld#Fisher线性判别函数 lp=predict(ld) G1=lp$class data.frame(y,G1) #table(predict(ld)$class,data1$y) predict(ld,data.frame(x1=2,x2=7))$class #Bayes准则,在相同先验概率和相同代价下将观测值x0` = (2,7)分类到总体G1
6.3以舒张期血压和血浆胆固醇含量预测被检查者是否患冠心病。测得15 名冠心病人和16
名健康人的舒张压x,(mmHg)及血浆胆固醇含量x2(mg/dl),结果见表
(1)对每一组数据用不同的符号,作两变量的散点图,观察它们在平面上的散布情况,该组数据做判别分析是否合适?
(2)分别建立距离判别(等方差阵和不等方差阵)、Fisher判别和Bayes判别分析模型,计算各自的判别符合率,确定哪种判别方法最恰当。
(3) 绘制线性判别函数图
x1 | x2 | y |
74 | 200 | 1 |
100 | 144 | 1 |
110 | 150 | 1 |
70 | 274 | 1 |
96 | 212 | 1 |
80 | 158 | 1 |
80 | 172 | 1 |
100 | 140 | 1 |
100 | 230 | 1 |
100 | 220 | 1 |
90 | 239 | 1 |
110 | 155 | 1 |
100 | 155 | 1 |
96 | 140 | 1 |
100 | 230 | 1 |
80 | 80 | 2 |
94 | 172 | 2 |
100 | 118 | 2 |
70 | 152 | 2 |
80 | 172 | 2 |
80 | 190 | 2 |
70 | 142 | 2 |
80 | 107 | 2 |
80 | 124 | 2 |
80 | 194 | 2 |
78 | 152 | 2 |
70 | 190 | 2 |
80 | 104 | 2 |
80 | 94 | 2 |
84 | 132 | 2 |
70 | 140 | 2 |
#6.3 #d6.3=read.table("clipboard",header = T) library(openxlsx) d6.3=read.xlsx("E:/多元统计分析及R语言建模/d6.3.xlsx",rowNames = F) attach(d6.3) plot(x1,x2) text(x1,x2,y,adj = -0.5)#标识点所属类别G library(MASS) #距离判别模型 qd = qda(y ~ x1 + x2,data=d6.3) qd #距离判别符合率 pre1 = predict(qd) Y1 = pre1$class data.frame(y,Y1) tab1 = table(y,Y1);tab1 sum(diag(tab1))/sum(tab1) #Fisher判别分析 lda = lda(y ~ x1 + x2) lda #Fisher判别符合率 pre2 = predict(lda) Y2 = pre2$class data.frame(y,Y2) tab2 = table(y,Y2);tab2 sum(diag(tab2))/sum(tab2) #Bayes判别分析 lda_2 = lda(y ~ x1 + x2,prior = c(1,2)/3) lda_2 #Bayes判别符合率 pre3 = predict(lda_2) Y3 = pre3$class tab3 = table(y,Y3);tab3 sum(diag(tab3))/sum(tab3) #由以上结果,根据各自的判别符合率大小可知,距离判别和Bayes最恰当。 plot(lda)#绘制线性判别函数图。 detach(d6.3)
6.4对于 A股市场2009年陷入财务困境的上市公司(ST公司),我们收集了8家ST公司陷入财务困境前一年(2008年)的财务数据,同时对于财务良好的公司(非 ST公司),收集了同一时期8 家非 ST公司对应的财务数据,如表6-5所示。数据涉及四个变量:资产负债率 x、流动资产周转率x2、总资产报酬率x3和营业收入增长率x。类别变量G中2代表ST公司,1代表非ST公司。
(1)分别建立线性判别、非线性判别和Bayes判别分析模型,计算各自的判别符合率,确定哪种判别方法最恰当;
(2)某公司2008年财务数据为:x=78.3563,x,=0.8895,x3=1.8001,x4=14.1022。试判定2009年该公司是否会陷入财务困境。
证券简称 | x1 | x2 | x3 | x4 | G |
ST中源 | 60.6725 | 1.0247 | 11.6705 | -26.539 | 2 |
ST宇航 | 25.5983 | 1.9192 | -5.8302 | 26.0492 | 2 |
ST耀华 | 90.8727 | 1.9671 | -14.1845 | -12.9439 | 2 |
ST万杰 | 90.4619 | 1.0022 | 1.8169 | 65.7273 | 2 |
ST钛白 | 53.4565 | 0.7593 | -23.8843 | -38.3107 | 2 |
ST筑信 | 92.2256 | 1.7847 | -4.1057 | 19.2281 | 2 |
ST中源 | 60.6725 | 1.0247 | 11.6705 | -26.539 | 2 |
ST东航 | 115.1196 | 4.6577 | -16.2537 | -3.9017 | 2 |
洪城股份 | 38.9856 | 0.6036 | 2.3791 | -2.5461 | 1 |
工大首创 | 28.9197 | 2.5281 | 2.3564 | -0.2289 | 1 |
交大南洋 | 56.7443 | 1.5307 | -0.18 | 3.7282 | 1 |
九鼎新材 | 52.1203 | 1.3464 | 5.0908 | 10.7868 | 1 |
恩华药业 | 52.8731 | 2.1049 | 9.0866 | 18.3486 | 1 |
东百集团 | 54.4389 | 5.6078 | 13.7846 | 22.3118 | 1 |
广东明珠 | 46.3793 | 0.9974 | 9.4806 | 15.3517 | 1 |
中国国航 | 79.4863 | 5.919 | -9.4739 | 7.0316 | 1 |
#6.4 library(openxlsx) d6.4=read.xlsx("E:/多元统计分析及R语言建模/mvexer5.xlsx",sheet ="E6.4",rowNames = F) d6.4 #建立线性判别模型 library(MASS) lda_1 = lda(G ~ x1 + x2 + x3 + x4,data=d6.4) lda_1 #线性判别符合率 pre1 = predict(lda_1) G1 = pre1$class tab1 = table(G,G1);tab1 sum(diag(tab1))/sum(tab1) #非线性判别模型 qda_1 = qda(G ~ x1 + x2 + x3 + x4,data=d6.4) qda_1 #非线性判别符合率 pre2 = predict(qda_1) G2 = pre2$class tab2 = table(G,G2);tab2 sum(diag(tab2))/sum(tab2) #Bayes判别分析模型 lda_2 = lda(G ~ x1 + x2 + x3 + x4,data=d6.4,prior = c(2,3)/5) lda_2 #Bayes判别符合率 pre3 = predict(lda_2) G3 = pre3$class tab3 = table(G,G3);tab3 sum(diag(tab3))/sum(tab3) #非线性判别符合率最高,选择它 predict(qda_1,data.frame(x1 = 78.3563,x2 = 0.8895,x3 = 1.8001, x4 = 14.1002)) #判别为2,会陷入财务困境
还没有评论,来说两句吧...