MATLAB程序在对污染物主成分分析及预测中的应用
2012-11-16郑媛媛
郑媛媛
(深圳市环境科学研究院,广东 深圳518006)
1 引言
在近几年中,城市进行了大量的旧房拆迁及扩建工程,使降尘量增大,可吸入颗粒物也不断逐步向上发展,造成了浓度的增加。所以,利用2001~2006年的主要污染物浓度和MATLAB技术来分析和预测大气环境主要污染物的变化趋势,基础数据见表1。

表1 2001~2006年空气主要污染物浓度
2 主成份分析的MATLAB的实现
2.1 使用协方差矩阵进行主成分分析
[PC,LATENT,EXPLAINED]=pcacov(X)
式中,X为原始指标矩阵的协方关矩阵;PC为主成分(按列放置);LATENT为协方差矩阵的特征值;EXPLAINED为每个主成分解释的方差量占总方差量的百分比。
2.2 直接利用原始为进行主成分分析
以下式中,X为原始数据矩阵(每一行代表一个样本,每一列代表一个指标);返回SCORE为Z分数;返回TSQUARE为Hotelling的T2统计量;Z分数是通过将原始数据转换到主成分空间中得到的数据,LATENT向量的值为SCORE的列数据的方差;Hotelling的T2统计量为来自数据集合中心的每一个观测量的多变量距离的度量。
具体分析的编程如下:
%c9fun9_1
clear all;clc
%将原始数据样本矩阵赋值给X;

covX=cov(X);%得到原始数据矩阵的协方差矩阵
[PC,LATENT,EXPLAINED] = pcacov(covX);%主成分分析
disp('综合因子');PC
disp('特征值');LATENT
disp('某一综合因子解释方差占总方差的百分比%');EXPLAINED
[n,m]=size(X);%n为样本数;m为指标数
Y=X×PC%n个样本的m个综合因子(PC)得分
Y1=X(:,:)×PC(:,1)%n个样本的第1个综合因子(PC)得分
Y2=X(:,:)×PC(:,2)%n个样本的第2个综合因子(PC)得分
plot(Y1,Y2,'.');xlabel('第一主成分');ylabel('第二主成分');title('样本分类图');
for ii=1∶1∶n;text(Y1(ii),Y2(ii),['s',num2str(ii)]);end
综合因子

特征值

某一综合因子解释方差占总方差的百分比%


从主成分分析图1中可看出:S2(二氧化氮)、S7(硫酸盐化速率)、S5(空气污染指数)、S8(pH值)占主要成份,是这几年对大同市环境污染的主要因素。……
