Matlab判别分析(根据例子学原理)

本文介绍了Matlab中的判别分析方法,包括基本概念、Matlab调用方式classify函数的使用,以及一个大气污染分类的实际案例分析,通过判别分析确定不同样本的污染类别,并展示了Matlab代码及其计算结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.介绍

判别分析是根据观测到的某些指标对所研究的对象进行分类的一种多元统计分析方法。
判别分析(Discriminant Analysis,简称DA)技术是由费舍(R.A.Fisher)于1936年提出的。
判别分析对判别变量有三个基本假设。
其一是变量之间没有显著的相关。否则将无法估计判别函数,或者虽然能够求解但参数估计的标准误很大,以致于参数估计统计性不显著。
其二是各组案例的协方差矩阵相等。在此条件下,可以使用很简单的公式来计算判别函数和进行显著性检验。
其三是各判别变量之间具有多元正态分布,即每个变量对于所有其它变量的固定值有正态分布。

2.Mtalab 调用

Matlab统计工具箱中提供了classify函数,用来对未知类别的样品进行判别,可以进行距离判别和先验分布为正态分布的贝叶斯判别,其调用格式如下:

  1. class=classify( sample, training, group)
  2. class=classify(sample, training, group, type)
  3. class=classify(sample, training, group, type, prior)
  4. [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
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值