我的梦想就是做一条咸鱼
判别分析
多元中用于判别样本所属类型的一种统计分析方法。在已知的分类之下,对新的样本,可以利用此法选定一判别标准,以判定将该新样品放置于哪个类中。
判别分析的种类:确定性判别(Fisher型判别)、概率性判别(Bayes型判别)
确定性
1.线性判别分析
eg
今天和昨天湿温差x1及气温差x2是预报明天是否下雨的两个重要因子,试建立Fisher线性判别函数,如测得今天x1=8.1,x2=2.0试报明天是雨天还是晴天?
数据: 基本统计分析
箱线图看出,两组湿温的均值差别不大,接下来做t检验
p值>0.05,所以无显著差别
图中气温差有显著的差别
t检验,p值<0.05,有显著区别。 Logistic模型分析
注意G-1,结果发现变量x2对预测有明显影响。
线性判别分析函数lda的用法
lda(formula,data,…)
formula形如y~x1+x2+…的公式框架,data数据框
做判别分析时先画图直观看一下数据
图中看可以做判别分析。
做Fisher判别分析需要调用MASS包
Fisher线性判别函数
a1=-0.1035 a2=0.2248
进一步做判断
其中有两个判断错误。
符合率是0.9 两总体距离判别
马氏距离:
判别准则:
当方差相等时,距离判别等于Fisher判别
当方差不相等时不能用Fisher判别要有二次判别函数,qda函数的用法:qda(formula,data,…)
eg 如上用非线性判别模型
三个判错,符合率是0.85,这个例子用二次判别函数不如Fisher判别函数好。
预测:predict(qd,data.frame(x1=8.1,x2=2.0)) 多总体距离判别
电视机品牌调查分析,建立判别函数,当一新产品其质量评分为8,功能评分为7.5,销售价格为65百元,问该厂产品的销售前景如何?
做散点图根据不同的指标直观看分类情况:
d3.5=read.table(“clipboard”,header = T)
d3.5
attach(d3.5)
plot(Q,C)
text(Q,C,G3,adj = -0.8,cex = 0.75)
plot(Q,P)
text(Q,P,G3,adj = -0.8,cex = 0.75)
plot(C,P)
text(C,P,G3,adj = -0.8,cex = 0.75)
线性判别等方差
ld3=lda(G3~Q+C+P)
ld3
lp3=predict(ld3)
lG3=lp3$class
data.frame(G3,lG3)
ltab3=table(G3,lG3)
ltab3
符合率0.9
预测:predict(ld3,data.frame(Q=8,C=7.5,P=65))
二次判别(异方差)
qd3=qda(G3~Q+C+P)
qd3
qp3=predict(qd3)
qG3=qp3$class
data.frame(G3,lG3,qG3)
qtab3=table(G3,lG3)
qtab3
符合率0.95
概率性
Bayes判别法
以个体归属于某类的概率(或判别值)最大或判错总平均损失最小为标准。
eg如上
1.先验概率相等:q1=q2=q3=1/3
ld41=lda(G3~Q+C+P,prior=c(1,1,1)/3)
ld41
2.先验概率不等:q1=5/20,q2=8/20,q3=7/20
ld42=lda(G3~Q+C+P,prior=c(5,8,7)/20)
ld42
1.2两种结果比较:
Z1=predict(ld41)
Z2=predict(ld42)
data.frame(G3,ld41G=Z1$ class,ld42=Z2$ class)
T1=table(G3,Z1$ class)
T1
sum(diag(T1))/sum(T1)
T2=table(G3,Z2$ class)
T2
sum(diag(T2))/sum(T2)
模型的后验概率
预测分类:
都分为第二类。
|
请发表评论