6 判别分析

您所在的位置:网站首页 r语言典型相关分析案例 6 判别分析

6 判别分析

2023-11-12 03:58| 来源: 网络整理| 查看: 265

6 判别分析

判别分析(discriminant analysis)属于“有监督(指导)学习”方法, 从所谓“训练样本”经过分析计算得到一个判别规则, 对新的数据可以利用判别规则判断新数据观测的类属。 训练样本中既有用来分类的解释变量(自变量), 又有真实的类属(标签,因变量)。

常用判别分析方法有距离判别、Fisher判别和Bayes判别, 逻辑斯谛回归也经常用在判别问题中(尤其是两类的判别), 分类树也是用于判别的方法。

当标签(因变量)只有两个类时, 判别分析问题与假设检验问题有相似之处。 假设检验问题更强调拒绝零假设的结论一定要可靠, 所以更重视对立假设; 两类的判别问题并不强调某个类别, 或者按照先验概率、损失函数对不同类别施加不同的影响。

6.1 距离判别 6.1.1 距离

距离判别的思想是计算每个样品与各类中心的距离, 把样品分到最近的一类。

常用距离为欧式距离与马氏(Mahalonobis)距离。

设\(\boldsymbol X=(X_1, X_2, \dots, X_p)^T\)与\(\boldsymbol Y = (Y_1, Y_2, \dots, Y_p)^T\) 是两个随机向量, 有相同的协方差矩阵\(\Sigma\), 定义\(\boldsymbol X\)的观测值\(\boldsymbol x=(x_1, x_2, \dots, x_p)^T\) 与\(\boldsymbol Y\)的观测值\(\boldsymbol y=(y_1, y_2, \dots, y_p)^T\) 的马氏距离为 \[\begin{align} d(\boldsymbol x, \boldsymbol y) = \sqrt{ (\boldsymbol x - \boldsymbol y)^T \Sigma^{-1} (\boldsymbol x - \boldsymbol y) } . \end{align}\] 当\(\Sigma\)为单位阵\(I\)时马氏距离与欧式距离相同。

6.1.1.1 马氏距离的解释

马氏距离排除了量纲的影响,并考虑到了不同变量之间的相关性。

设\(E \boldsymbol X = \boldsymbol\mu_{\boldsymbol X}\), \(E \boldsymbol Y = \boldsymbol\mu_{\boldsymbol Y}\), \(\text{Var}(\boldsymbol X) = \text{Var}(\boldsymbol Y)=\Sigma\)。 令\(\boldsymbol U = \Sigma^{-1/2}(\boldsymbol X - \boldsymbol\mu_{\boldsymbol X})\), \(\boldsymbol V = \Sigma^{-1/2}(\boldsymbol Y - \boldsymbol\mu_{\boldsymbol Y})\), 则\(E\boldsymbol U = E\boldsymbol V = \boldsymbol 0\), \(\text{Var}(\boldsymbol U) = \text{Var}(\boldsymbol V) = I\)。

距离 \[\begin{align*} d^2(\boldsymbol X, \boldsymbol Y) =& (\boldsymbol X - \boldsymbol Y)^T \Sigma^{-1} (\boldsymbol X - \boldsymbol Y) \\ =& \left( \Sigma^{-1/2} \boldsymbol X - \Sigma^{-1/2} \boldsymbol Y \right)^T \left( \Sigma^{-1/2} \boldsymbol X - \Sigma^{-1/2} \boldsymbol Y \right) \\ =& \left\| \Sigma^{-1/2} \boldsymbol X - \Sigma^{-1/2} \boldsymbol Y \right\|^2 = \left\| \boldsymbol U - \boldsymbol V + \Sigma^{-1/2}(\boldsymbol\mu_{\boldsymbol X} - \boldsymbol\mu_{\boldsymbol Y}) \right\|^2 \end{align*}\] 所有的随机部分都已变成两个零均值、单位方差阵的随机变量的差。

考虑\(\Sigma=\text{diag}(\sigma_1^2, \sigma_2^2, \dots, \sigma_p^2)\)的情形。 这时 \[\begin{align*} d^2(\boldsymbol x, \boldsymbol y) =& \sum_{j=1}^p \left(\frac{x_i - y_i}{\sigma_i} \right)^2, \end{align*}\] 不受量纲影响。

对一般正定协方差阵\(\Sigma\), 令\(\Lambda = \text{diag}(\sqrt{\sigma_{11}}, \sqrt{\sigma_{22}}, \dots, \sqrt{\sigma_{pp}})\), \(R = \Lambda^{-1} \Sigma \Lambda^{-1}\), 则\(R\)为\(\Sigma\)对应的相关系数阵。\(\Sigma = \Lambda R \Lambda\)。 这时 \[\begin{align*} d^2(\boldsymbol x, \boldsymbol y) =& \left[ \Lambda^{-1}(\boldsymbol x - \boldsymbol y) \right]^T R^{-1} \left[ \Lambda^{-1}(\boldsymbol x - \boldsymbol y) \right] \end{align*}\] 可以看出\(\Lambda^{-1}(\boldsymbol x - \boldsymbol y)\)不受量纲影响。

6.1.2 两个总体的距离判别

设有两个总体\(G_1, G_2\),均值分别为\(\boldsymbol\mu_1, \boldsymbol\mu_2\), \(\boldsymbol\mu_1 \neq \boldsymbol\mu_2\)。 有共同的协方差阵\(\Sigma\)。 在\(\boldsymbol\mu_1, \boldsymbol\mu_2, \Sigma\)已知时, 为了判断一个样品\(\boldsymbol x\)属于哪一个总体(类), 可以用如下判别规则: \[\begin{aligned} \begin{cases} \text{判} \boldsymbol x \in G_1, & d(\boldsymbol x, \boldsymbol\mu_1) \leq d(\boldsymbol x, \boldsymbol\mu_2), \\ \text{判} \boldsymbol x \in G_2, & d(\boldsymbol x, \boldsymbol\mu_1) > d(\boldsymbol x, \boldsymbol\mu_2) . \end{cases} \end{aligned}\]

为判断上述条件,只要计算\(d^2(\boldsymbol x, \boldsymbol\mu_2) - d^2(\boldsymbol x, \boldsymbol\mu_1)\)的正负号, 非负时判入\(G_1\),负号时判入\(G_2\)。

6.1.2.1 判别函数

距离平方的差为 \[\begin{aligned} & d^2(\boldsymbol x, \boldsymbol\mu_2) - d^2(\boldsymbol x, \boldsymbol\mu_1) \\ =& \boldsymbol x^T \Sigma^{-1} \boldsymbol x - 2 \boldsymbol\mu_2^T \Sigma^{-1} \boldsymbol x + \boldsymbol\mu_2^T \Sigma^{-1} \boldsymbol\mu_2 \\ & - \boldsymbol x^T \Sigma^{-1} \boldsymbol x + 2 \boldsymbol\mu_1^T \Sigma^{-1} \boldsymbol x - \boldsymbol\mu_1^T \Sigma^{-1} \boldsymbol\mu_1 \\ =& 2(\boldsymbol\mu_1 - \boldsymbol\mu_2)^T \Sigma^{-1} \boldsymbol x + \boldsymbol\mu_2^T \Sigma^{-1} \boldsymbol\mu_2 - \boldsymbol\mu_1^T \Sigma^{-1} \boldsymbol\mu_1 \\ =& 2(\boldsymbol\mu_1 - \boldsymbol\mu_2)^T \Sigma^{-1} \boldsymbol x \\ & + \boldsymbol\mu_2^T \Sigma^{-1} \boldsymbol\mu_2 - (\boldsymbol\mu_1 - \boldsymbol\mu_2)^T \Sigma^{-1} \boldsymbol\mu_1 - \boldsymbol\mu_2^T \Sigma^{-1} \boldsymbol\mu_1 \\ =& 2(\boldsymbol\mu_1 - \boldsymbol\mu_2)^T \Sigma^{-1} \boldsymbol x \\ & - \boldsymbol\mu_2^T \Sigma^{-1} (\boldsymbol\mu_1 - \boldsymbol\mu_2) - (\boldsymbol\mu_1 - \boldsymbol\mu_2)^T \Sigma^{-1} \boldsymbol\mu_1 \\ =& 2(\boldsymbol\mu_1 - \boldsymbol\mu_2)^T \Sigma^{-1} \boldsymbol x - (\boldsymbol\mu_1 - \boldsymbol\mu_2)^T \Sigma^{-1} (\boldsymbol\mu_1 + \boldsymbol\mu_2) \\ =& 2(\boldsymbol\mu_1 - \boldsymbol\mu_2)^T \Sigma^{-1} \left(\boldsymbol x - \frac{\boldsymbol\mu_1 + \boldsymbol\mu_2}{2} \right) \end{aligned}\]

令\(\boldsymbol a = \Sigma^{-1}(\boldsymbol\mu_1 - \boldsymbol\mu_2)\), 则 \[\begin{align} W(\boldsymbol x) \stackrel{\triangle}{=} \frac12 (d^2(\boldsymbol x, \boldsymbol\mu_2) - d^2(\boldsymbol x, \boldsymbol\mu_1)) = \boldsymbol a^T \left(\boldsymbol x - \frac{\boldsymbol\mu_1 + \boldsymbol\mu_2}{2} \right) . \end{align}\] 这是\(\boldsymbol x\)的线性函数,称为线性判别函数。 称\(\boldsymbol a\)为判别系数。 对应的判别规则为: \[\begin{align} \begin{cases} \text{判} \boldsymbol x \in G_1, & \text{当} W(\boldsymbol x) \geq 0, \\ \text{判} \boldsymbol x \in G_2, & \text{当} W(\boldsymbol x) < 0 . \end{cases} \end{align}\]

方程 \(\left\{\boldsymbol x \in \mathbb R^p:\; \boldsymbol a^T (\boldsymbol x - \frac{\boldsymbol\mu_1 + \boldsymbol\mu_2}{2}) = 0 \right\}\) 是\(\mathbb R^p\)中超平面, 穿过连接两个类中心的线段中点, \(\boldsymbol a\)是法线方向。 超平面把空间\(\mathbb R^p\)分成判入\(G_1\)的半空间和判入\(G_2\)的半空间, 法线正向的半空间判入\(G_1\)。

当\(p=1\)时, 设\(G_1\)为\(\text{N}(\mu_1, \sigma^2)\), \(G_2\)为\(\text{N}(\mu_2, \sigma^2)\), 则: 判别系数\(a = \sigma^{-2}(\mu_1 - \mu_2)\); 线性判别函数 \[\begin{align} W(x) = a \left(x - \frac{\mu_1 + \mu_2}{2} \right) = \frac{(\mu_1 - \mu_2) \left(x - \frac{\mu_1 + \mu_2}{2} \right)}{\sigma^2} . \end{align}\] 设\(\mu_1 < \mu_2\), 则\(a < 0\), 判别准则为 \[\begin{aligned} \begin{cases} \text{判} \boldsymbol x \in G_1, & \text{当} x \leq \frac12(\mu_1 + \mu_2), \\ \text{判} \boldsymbol x \in G_2, & \text{当} x > \frac12(\mu_1 + \mu_2) . \end{cases} \end{aligned}\]

要注意的是,以上的简单判别规则是在假定两类的协方差阵相等时得到的。 如果协方差阵不相等,判别函数不再是线性的,分界点也不恰好在中点。 总共只有两类时规则比较简单,可以得到一个判别函数。 如果有多个类则需要计算多个判别函数。

6.1.2.2 距离判别的规则训练

对于实际的判别问题,真实的\(\boldsymbol\mu_1, \boldsymbol\mu_2, \Sigma\)都是未知的, 可以从训练样本估计。

设\(\boldsymbol x^{(1)}_1, \boldsymbol x^{(1)}_2, \dots, \boldsymbol x^{(1)}_{n_1}\)是来自总体\(G_1\)的训练样本的值, \(\boldsymbol x^{(2)}_1, \boldsymbol x^{(2)}_2, \dots, \boldsymbol x^{(2)}_{n_2}\)是来自总体\(G_2\)的训练样本的值, 则\(\boldsymbol\mu_1, \boldsymbol\mu_2\)分别有无偏估计 \[\begin{align*} \hat{\boldsymbol\mu}_1 = \frac{1}{n_1} \sum_{i=1}^{n_1} \boldsymbol x^{(1)}_i, \quad \hat{\boldsymbol\mu}_2 = \frac{1}{n_2} \sum_{i=1}^{n_2} \boldsymbol x^{(2)}_i, \end{align*}\] 共同的协方差阵\(\Sigma\)有如下无偏估计: \[\begin{align*} \hat\Sigma =& \frac{1}{n_1 + n_2 - 2} \left[ \sum_{i=1}^{n_1} \left(\boldsymbol x^{(1)}_i - \hat{\boldsymbol\mu}_1 \right) \left(\boldsymbol x^{(1)}_i - \hat{\boldsymbol\mu}_1 \right)^T \right. \\ & \left. + \sum_{i=1}^{n_2} \left(\boldsymbol x^{(2)}_i - \hat{\boldsymbol\mu}_2 \right) \left(\boldsymbol x^{(2)}_i - \hat{\boldsymbol\mu}_2 \right)^T \right] . \end{align*}\]

这时判别函数中的\(\boldsymbol\mu_1, \boldsymbol\mu_2, \Sigma\)分别用估计值 \(\hat{\boldsymbol\mu}_1, \hat{\boldsymbol\mu}_2, \hat\Sigma\)代替,变成 \[\begin{align*} \hat{\boldsymbol a} =& \hat\Sigma^{-1}(\hat{\boldsymbol\mu}_1 - \hat{\boldsymbol\mu}_2), \\ \quad W(\boldsymbol x) =& \hat{\boldsymbol a}^{T} \left( \boldsymbol x - \frac{\hat{\boldsymbol\mu}_1 + \hat{\boldsymbol\mu}_2}{2} \right) . \end{align*}\] 当\(W(\boldsymbol x) \geq 0\)时判\(\boldsymbol x \in G_1\), 否则判入\(G_2\)。

6.1.2.3 二次判别

当两个总体\(G_1\)和\(G_2\)的协方差阵不相同, 分别为\(\Sigma_1\)和\(\Sigma_2\)时, 判别函数为 \[\begin{align*} W^*(\boldsymbol x) =& d^2(\boldsymbol x, \boldsymbol\mu_2) - d^2(\boldsymbol x, \boldsymbol\mu_1) \\ =& (\boldsymbol x - \boldsymbol\mu_2)^T \Sigma_2^{-1} (\boldsymbol x - \boldsymbol\mu_2) - (\boldsymbol x - \boldsymbol\mu_1)^T \Sigma_1^{-1} (\boldsymbol x - \boldsymbol\mu_1) . \end{align*}\] 这是\(\boldsymbol x\)的多元二次多项式函数,称为二次判别函数。

相应判别规则仍为 \[\begin{align} \begin{cases} \text{判} \boldsymbol x \in G_1, & \text{当} W^*(\boldsymbol x) \geq 0, \\ \text{判} \boldsymbol x \in G_2, & \text{当} W^*(\boldsymbol x) < 0 . \end{cases} \end{align}\] 从样本中估计\(\Sigma_1, \Sigma_2\)时分别估计即可。

6.1.2.4 例5.1(昆虫雌雄判别)

P.54例5.1。 某种昆虫的体长与翅长用来判别性别。 雌虫(总体\(G_1\))平均值\(\boldsymbol\mu_1 = (6, 5)^T\), 雄虫(总体\(G_2\))平均值\(\boldsymbol\mu_2 = (8, 6)^T\), 雄虫体型较大。 两个总体共同的协方差阵为 \(\Sigma=\left(\begin{array}{cc} 9 & 2 \\ 2 & 4 \end{array}\right)\)。

现有某虫测量值为\(\boldsymbol x = (7.2, 5.6)^T\), 用距离判别法做判别,判断其性别。 用R程序实现。

假定两个总体有相同协方差阵时判别函数为线性函数, 否则判别函数是二次函数。

6.1.2.4.1 线性判别

线性判别函数,简化公式:

W1


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3