• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

R语言 判别分析

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

(1)判别分析的基本思想

有时会遇到包含属性被解释变量和几个度量解释变量的问题,比如我们希望区分好和差的信用风险,如果有信用风险的度量指标就可以使用多元回归,但若需要判断某人是在好的还是差的一类,就不是回归所要求的类型。
当被解释变量是属性变量,解释变量是度量变量时,适合用判别分析。

(2)基本要求:

··分组在两组以上;
··每组案例的规模至少在一个以上;
··解释变量必须是可测量的。

(3)基本假设:

··每个判别变量(解释变量)不能是其他判别变量的线性组合;
··各组变量的协方差矩阵相等;
··各判别变量遵从多元正态分布。

(4)判别方法:

··贝叶斯判别:将贝叶斯思想用于判别分析就得到贝叶斯判别。
(贝叶斯思想:在不完全情报下,对部分未知的状态用主观概率估计,然后用贝叶斯公式对发生概率进行修正,最后再利用期望值和修正概率做出最优决策)

···费歇判别:将k组p维数据投影到某个方向,使得组与组之间的投影尽可能的分开。

(5)案例实现1

··某地市场上销售的电视机有多种牌子,该地某商场从市场上随机抽取20种牌子的电视机进行调查,其中13种畅销,7种滞销,按电视机的质量评分Q、功能评分C、销售价格P (百元)搜集资料如表3-1,其中销售状态G中“1”表示畅销,“2”表示滞销。假设有一新厂商来推销产品,其产品质量评分为8.0,功能评分为7.5,销售价格为6500元,预测该产品的销售前景。

library(MASS)
d1=read.table(“clipboard”,header=T)
attach(d1)
head(d1)

ld1=lda(G~Q+C+P,prior=c(1,1)/2);ld1 #费歇尔判别,费歇尔函数


费歇尔判别的判别函数为:
f= -0.822Q-0.646C+0.015P
代入x0=(8.0,7.5,65),G1=(7.976, 6.730, 61.538),G2=(5.957, 3.714, 34.000),计算
d(x0,G1)=|(-10.446)-(-9.980)|=0.465
d(x0,G2)=|(-10.446)-(-6.785)|=3.194
d(x0,G1)<d(x0,G2),预计新产品畅销。

#贝叶斯先验概率
ld2=lda(G~Q+C+P);ld2

z2=predict(ld2)
G2=z2$class

tab2=table(G,G2)
1-sum(diag(prop.table(tab2))) #回代误判率
p1_1=predict(ld2,data.frame(Q=8,C=7.5,P=65)) #后验概率
p1_2=p1_1$posterior
p1_2


先验概率为p1=0.65,p2=0.35的贝叶斯判别,新产品的后验概率分别为p(1|x0)=0.9992, p(2|x0)=0.0007,预计新产品畅销。

#距离判别中的二次判别
qd=qda(G~Q+C+P);qd
z3=predict(qd)
G3=z3$class

tab3=table(G,G3)
1-sum(diag(prop.table(tab3)))
p2_1=predict(qd,data.frame(Q=8,C=7.5,P=65))
p2_2=p2_1$posterior
p2_2


假设两总体协方差阵不等,采用距离判别中的二次判别,预计新产品畅销。

以上方法的回代误判率均为0,判别效果正确率均很高。

(2)案例实现2

对破产的企业收集它们在破产前两年的年度财务数据,同时对财务良好的企业也收集同一时期的数据。数据涉及四个变量:x1=现金流量/总债务,x2=净收入/总资产,x3=流动资产/流动债务,以及x4=流动资产/净销售额。数据见“企业财务数据.xlsx”,Ⅰ组为破产企业,Ⅱ组为非破产企业。对于某企业X0=(0.17,0.07,1.8,0.52),预测其财务前景。

d2=read.table(“clipboard”,header=T)
attach(d2)
library(MASS)
ld2=lda(G~x1+x2+x3+x4,prior=c(1,1)/2);ld2 #假定协方差阵相等,采用全部判别函数,fish线性判别
#与距离判别等价,也等价于正态分布先验概率相等的贝叶斯判别
z1=predict(ld2) #用建立的判别函数预测已知样品类别
G1=z1$class

tab1=table(G,G1)
1-sum(diag(prop.table(tab1))) #计算误判率0.17,0.07,1.8,0.52
p1 <- predict(ld2,data.frame(x1=0.17,x2=0.07,x3=0.18,x4=0.52)) #预测待判样品
p2 <- p1$posterior
p2

ld3=lda(G~x1+x2+x3+x4);ld3 #先验概率不等的贝叶斯判别
z2=predict(ld3)
G2=z2$class
tab2=table(G,G2)
1-sum(diag(prop.table(tab2)))
predict(ld3,data.frame(x1=0.17,x2=0.07,x3=0.18,x4=0.52))

qd=qda(G~x1+x2+x3+x4);qd #协方差阵不等,用距离判别中的二次判别
z3=predict(qd)
G3=z3$class
tab3=table(G,G3)
1-sum(diag(prop.table(tab3)))
predict(qd,data.frame(x1=0.17,x2=0.07,x3=0.18,x4=0.52))

费歇尔判别函数为:f=2.18x1+0.78x2+1.15x3-2.01x4

贝叶斯判别:p1=0.5, p2=0.5
新产品:p(1/x0)=0.98, p(2/x0)=0.02, 判别误差率为9.5%。预计新产品畅销。

假设两总体协方差阵不等,采用距离判别中的二次判别,判别误差率为4.8%。预计新产品畅销。
以上方法中二次判别误差率小于贝叶斯判别,所以应用二次判别。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
《R语言数据分析》——2.3 从HTML表中读取数据发布时间:2022-07-18
下一篇:
【大数据部落】r语言电商网站爬虫发布时间:2022-07-18
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap