判别分析 ( distinguish analysis)(三):Bayes 判别

判别分析系列博文

 

判别分析 ( distinguish analysis)(一):距离判别

判别分析 ( distinguish analysis)(二):Fisher 判别

判别分析 ( distinguish analysis)(三):Bayes 判别

判别分析 ( distinguish analysis)(四):应用举例


目录

1.误判概率与误判损失

 平均误判损失ECM

 2.两总体的 Bayes 判别

 Anderson 线性判别函数

例:建立 Anderson 线性判别函数


Bayes 判别和 Bayes 估计的思想方法是一样的,即假定对研究的对象已经有一定的 认识,这种认识常用先验概率来描述,当我们取得一个样本后,就可以用样本来修正已 有的先验概率分布,得出后验概率分布,再通过后验概率分布进行各种统计推断。  

1.误判概率与误判损失

设有两个总体 X1和 X2 ,根据某一个判别规则,将实际上为 X1的个体判为 X2 或者将实际上为 X2 的个体判为 X1 的概率就是误判概率,一个好的判别规则应该使误判概率最小。除此之外还有一个误判损失问题或者说误判产生的花费(cost)问题,如把  X1的个体误判到 X2 的损失比 X2 的个体误判到 X1 严重得多,则人们在作前一种判断时就要特别谨慎。譬如在药品检验中把有毒的样品判为无毒后果比无毒样品判为有毒严重得多,因此一个好的判别规则还必须使误判损失最小。

 平均误判损失ECM

   一个合理的判别规则应使 ECM 达到极小。

 2.两总体的 Bayes 判别

 

 Anderson 线性判别函数

例:建立 Anderson 线性判别函数

 

计算的 MATLAB 程序如下:

clc,clear
a=[24.8 24.1 26.6 23.5 25.5 27.4
-2.0 -2.4 -3.0 -1.9 -2.1 -3.1]';
b=[22.1 21.6 22.0 22.8 22.7 21.5 22.1 21.4
-0.7 -1.4 -0.8 -1.6 -1.5 -1.0 -1.2 -1.3]';
n1=6;n2=8;
mu1=mean(a);mu2=mean(b);
mu1=mu1',mu2=mu2'
s1=(n1-1)*cov(a),s2=(n2-1)*cov(b)
sigma2=(s1+s2)/(n1+n2-2)
beta=log(8/6)
syms x1 x2
x=[x1;x2];
wx=(x-0.5*(mu1+mu2)).'*inv(sigma2)*(mu1-mu2);
digits(6),wx=vpa(wx)
ahat=subs(wx,{x1,x2},{a(:,1),a(:,2)})
bhat=subs(wx,{x1,x2},{b(:,1),b(:,2)})

             下面我们编写Σ1 ≠ Σ2 情形下的 MATLAB 程序:

clc,clear
p1=6/14;p2=8/14;
a=[24.8 24.1 26.6 23.5 25.5 27.4
-2.0 -2.4 -3.0 -1.9 -2.1 -3.1]';
b=[22.1 21.6 22.0 22.8 22.7 21.5 22.1 21.4
-0.7 -1.4 -0.8 -1.6 -1.5 -1.0 -1.2 -1.3]'; 
n1=6;n2=8;
mu1=mean(a);mu2=mean(b);
mu1=mu1',mu2=mu2'
cov1=cov(a),cov2=cov(b)
k=log(p2/p1)+0.5*log(det(cov1)/det(cov2))+0.5*(mu1'*inv(cov1)*mu1-mu2'*inv(
cov2)*mu2)
syms x1 x2
x=[x1;x2];
wx=-0.5*x.'*(inv(cov1)-inv(cov2))*x+(mu1'*inv(cov1)-mu2'*inv(cov2))*x;
digits(6),wx=vpa(wx);
wx=simple(wx)
ahat=subs(wx,{x1,x2},{a(:,1),a(:,2)})
bhat=subs(wx,{x1,x2},{b(:,1),b(:,2)})
ahat>=k,bhat<k 

分类正确率为 100%。


判别分析系列博文

判别分析 ( distinguish analysis)(一):距离判别

判别分析 ( distinguish analysis)(二):Fisher 判别

判别分析 ( distinguish analysis)(三):Bayes 判别

判别分析 ( distinguish analysis)(四):应用举例

 


 

  • 14
    点赞
  • 104
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Bayes判别法是一种统计学习方法,用于将数据分为不同的类别。在R语言中,可以使用bayesDiscriminant2.R脚本来实现Bayes判别法。首先,需要导入数据并将其分为训练样本和待判断样本。然后,调用distinguish.bayes函数来进行Bayes判别。这个函数会根据训练样本的特征和类别信息,计算出一个判别函数,然后使用这个判别函数对待判断样本进行分类。\[1\] 另外,还可以使用distanceDiscriminant2.R脚本来进行多群体距离判别。这种方法是基于样本之间的距离来进行分类的。首先,需要导入数据并将其分为训练样本和待判断样本。然后,调用distinguish.distance函数来进行多群体距离判别。这个函数会计算出样本之间的距离,并根据距离来进行分类。\[3\] 总结起来,Bayes判别法和多群体距离判别是两种常用的分类方法,在R语言中可以使用相应的脚本来实现。 #### 引用[.reference_title] - *1* *3* [R语言实战——距离判别、贝叶斯判别、Fisher判别理论详细推导与R语言实现](https://blog.csdn.net/qq_41196612/article/details/105339511)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [R语言——判别分析Bayes 判别实验](https://blog.csdn.net/qq_45947664/article/details/124692870)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值