多元统计分析R语言建模| 6 判别分析
< 返回列表时间: 2020-03-27来源:OSCHINA
判别分析(Discriminat Analysis) 概念:多元统计分析中判别样本所属类型的一种统计分析方法 方法:在已知的分类之下,对新的样本,利用此方法选定判别标准,以判断将该新样品置于哪个类中 种类 确定性判别:Fisher型 线性型 距离型 非线性型 概率性判别:Bayes型 概率型 损失型
线性判别函数(linear discriminatory function) 求Fisher线性判别函数 计算判别界值 建立判别标准
两总体距离判别 马氏距离(统计距离)
协方差矩阵 等方差阵(等价于Fisher判别)——直线判别 异方差阵——曲线判别(qda) 多总体距离判别 协方差矩阵相同——线性判别 协方差矩阵不相同——非线性判别
Bayes判别准则 概率判别 损失判别 概率最大、损失最小 正态总体的Bayes判别 Bayes判别函数求解 先验概率 密度函数 协方差矩阵 后验概率计算 #建立Fisher线性判别函数 d6.1=read.table('clipboard',header = T) d#基本统计分析 boxplot(x1~G,d6.1) t.test(x1~G,d6.1) boxplot(x2~G,d6.1) t.test(x2~G,d6.1) #Logistic模型分析 summary(glm(G-1~x1+x2,family = binomial,data=d6.1)) #Fisher判别分析 attach(d6.1) plot(d6.1$x1,d6.1$x2) text(d6.1$x1,d6.1$x2,adj=-0.5) library(MASS) ld=lda(G~x1+x2,d6.1) ld #判断 lp=predict(ld) G1=lp$class data.frame(G,G1) tab1=table(G,G1) tab1 sum(diag(prop.table(tab1))) #非线性判别模型 qd=qda(G~d6.1$x1+d6.1$x2) qp=predict(qd) G2=qp$class data.frame(G,G1,G2) #多类距离判别 d6.3=read.table('clipboard',header = T) #线性判别(等方差) ld3=lda(d6.3$G2~d6.3$Q+d6.3$C+d6.3$P) ld3 #异方差,二次判别 ld4=qda(G~d6.1$x1+d6.1$x2) ld4 #Bayes判别 ld41=lda(d6.3$G2~d6.3$Q+d6.3$C+d6.3$P,prior=c(1,1,1)/3) ld41 #先验概率不等 ld42=lda(d6.3$G2~d6.3$Q+d6.3$C+d6.3$P,prior=c(5,8,7)/20) ld42 #概率结果 predict(ld41,data.frame(Q=8,C=7.5,P=65)) predict(ld42,data.frame(Q=8,C=7.5,P=65))
参考资料: https://next.xuetangx.com/course/JNU07011000851/151569 ​​​​​​​
热门排行