美文网首页
判别分析及R使用Part3-贝叶斯判别

判别分析及R使用Part3-贝叶斯判别

作者: 3between7 | 来源:发表于2022-12-22 16:42 被阅读0次

    先回顾下贝叶斯定理:
    P(A|B) = \frac{P(B|A)P(A)}{P(B)}

    • P(A)表示事件A出现的概率.
    • P(B|A条件概率的符号,表示事件A发生的条件下,事件B发生的概率,也被称为似然度
    • P(A|B)也是条件概率的符号,表示事件B发生的条件下,事件A发生的概率,也被称为后验概率

    Bayes判别准则

    • Fisher判别缺点:判别方法与各总体出现的概率无关,与错判后造成的损失无关。
    • Bayes判别准则:以个体归属某类的概率(或判别值)最大错判总平均数损失最小*为标准。

    在这里我不想讨论复杂的数学公式,因为我还没搞明白,直接跳到在R语言中怎么用吧!例子还是之前的例子:

    表6.3.png
    20个电视机,5种畅销,8种平销,7种滞销,试建立判别函数,当一新产品其质量评分为8.0,功能评分为7.5,销售价格为65元,问该厂产品的销售前景如何?用起来其实很简单,还是用lda()函数,使用prior参数指定先验概率即可:
    > library(MASS)
    > d6.3 <- read.xlsx("/home/my/桌面/MOOC/多元统计分析/mvstats5.xlsx",sheet="d6.3")
    > d6.3
         Q   C  P G3
    1  8.3 4.0 29  1
    2  9.5 7.0 68  1
    3  8.0 5.0 39  1
    4  7.4 7.0 50  1
    5  8.8 6.5 55  1
    6  9.0 7.5 58  2
    7  7.0 6.0 75  2
    8  9.2 8.0 82  2
    9  8.0 7.0 67  2
    10 7.6 9.0 90  2
    11 7.2 8.5 86  2
    12 6.4 7.0 53  2
    13 7.3 5.0 48  2
    14 6.0 2.0 20  3
    15 6.4 4.0 39  3
    16 6.8 5.0 48  3
    17 5.2 3.0 29  3
    18 5.8 3.5 32  3
    19 5.5 4.0 34  3
    20 6.0 4.5 36  3
    > attach(d6.3)
    > ld42 <- lda(G3~Q+C+P,prior=c(5,8,7)/20)
    > ld42
    Call:
    lda(G3 ~ Q + C + P, prior = c(5, 8, 7)/20)
    
    Prior probabilities of groups:
       1    2    3 
    0.25 0.40 0.35 
    
    Group means:
             Q        C      P
    1 8.400000 5.900000 48.200
    2 7.712500 7.250000 69.875
    3 5.957143 3.714286 34.000
    
    Coefficients of linear discriminants:
              LD1         LD2
    Q -0.81173396  0.88406311
    C -0.63090549  0.20134565
    P  0.01579385 -0.08775636
    
    Proportion of trace:
       LD1    LD2 
    0.7403 0.2597 
    > Z1 <- predict(ld42)
    > T1 <- table(G3,Z1$class)
    > T1
       
    G3  1 2 3
      1 5 0 0
      2 1 6 1
      3 0 0 7
    > sum(diag(T1))/sum(T1)  ##计算正确率
    [1] 0.9
    > predict(ld42,data.frame(Q=8,C=7.5,P=65)) ##预测
    $class
    [1] 2
    Levels: 1 2 3
    
    $posterior
              1        2           3
    1 0.2114514 0.786773 0.001775594
    
    $x
            LD1        LD2
    1 -1.537069 -0.1367865
    
    

    小结

    本章最后教授给出了总结:

    1. 判别分析方法是按已知所属组的样本确定判别函数,制定判别规则,然后再判断每一个新样品应属于哪一类。
    2. 常用的判别方法有Fisher判别、距离判别、贝叶斯判别等,每个方法根据其出发点不同各有其特点。
    3. Fisher类判别对判别变量的分布类型并无要求,而Bayes类判别要变量的分布类型。因此,Fisher类判别较Bayes类判别简单一些。
    4. 当两个总体时,若它们的协方差矩阵相同,则距离判别和Fisher判别等价。当变量服从正态分布时,它们还和Bayes判别等价。
    5. 判别分析中的各种误判的后果允许看作是相同的,通常将犯第一类错误的后果看得更严重些,但本章对此关注的不够。

    相关文章

      网友评论

          本文标题:判别分析及R使用Part3-贝叶斯判别

          本文链接:https://www.haomeiwen.com/subject/kdcmqdtx.html