1.介绍
判别分析是根据观测到的某些指标对所研究的对象进行分类的一种多元统计分析方法。
判别分析(Discriminant Analysis,简称DA)技术是由费舍(R.A.Fisher)于1936年提出的。
判别分析对判别变量有三个基本假设。
其一是变量之间没有显著的相关。否则将无法估计判别函数,或者虽然能够求解但参数估计的标准误很大,以致于参数估计统计性不显著。
其二是各组案例的协方差矩阵相等。在此条件下,可以使用很简单的公式来计算判别函数和进行显著性检验。
其三是各判别变量之间具有多元正态分布,即每个变量对于所有其它变量的固定值有正态分布。
2.Mtalab 调用
Matlab统计工具箱中提供了classify函数,用来对未知类别的样品进行判别,可以进行距离判别和先验分布为正态分布的贝叶斯判别,其调用格式如下:
- class=classify( sample, training, group)
- class=classify(sample, training, group, type)
- class=classify(sample, training, group, type, prior)
- [class,err]=classify(sample, training, group, type, prior)
其中sample是待判别的样本数据矩阵,training是用于构造判别函数的训练样本数据矩阵,它们的每一行对应一个观察,每一列对应一个变量,sample和training具有相同的列数。
3.案例分析
某地大气样品污染分类表为:
气体 氯 硫化氢 二氧化碳 碳4 环氧氯丙烷 环已烷 污染分类
1 0.056 0.084 0.031 0.038 0.0081 0.022 1
2 0.04 0.055 0.1 0.11 0.022 0.0073 1
3 0.05 0.074 0.041 0.048 0.071 0.02 1
4 0.045 0.05 0.11 0.1 0.025 0.0063 1
5 0.038 0.13 0.079 0.17 0.058 0.043 2
6 0.03 0.11 0.07 0.16 0.05 0.046 2
7 0.034 0.095 0.058 0.16 0.2 0.029 1
8 0.03 0.09 0.068 0.18 0.22 0.039 1
9 0.084 0.066 0.029 0.32 0.012 0.041 2
10 0.085 0.076 0.019 0.3 0.01 0.04 2
11 0.064 0.072 0.02 0.25 0.028 0.038 2
12 0.054 0.065 0.022 0.28 0.021 0.04 2
13 0.048 0.089 0.062 0.26 0.038 0.036 2
14 0.045 0.092 0.072 0.2 0.035 0.032 2
15 0.069 0.087 0.027 0.05 0.089 0.021 1
在此地某大型化工厂的厂区及邻近地区挑选了4个有代表性的大气样本取样点,获得数据如下:
气体 氯 硫化氢 二氧化碳 碳4 环氧氯丙烷 环已烷 污染分类
样品1 0.052 0.084 0.0211 0.037 0.0071 0.022
样品2 0.041 0.055 0.11 0.11 0.021 0.0073
样品3 0.03 0.112 0.072 0.16 0.056 0.021
样品4 0.074 0.083 0.105 0.19 0.02 1
求它们的污染分类。
matlab 代码:
`clc,clear
trainin