数据的无量纲处理方法及示例
在对实际问题建模过程中,特别是在建立指标评价体系时,常常会面临不同类型的数据处理及融合。而各个指标之间由于计量单位和数量级的不尽相同,从而使得各指标间不具有可比性。在数据分析之前,通常需要先将数据规范化,利用规范化后的数据进行分析。数据规范化处理主要包括同趋化处理和无量纲化处理两个方面。数据的同趋化处理主要解决不同性质的数据问题,对不同性质指标直接累加不能正确反应不同作用力的综合结果,须先考虑改变逆指标数据性质,使所有指标对评价体系的作用力同趋化。数据无量纲化主要解决数据的不可比性,在此处主要介绍几种数据的无量纲化的处理方式。
(1)极值化方法
可以选择如下的三种方式:
(A)xi='xix=i
max-minR即每一个变量除以该变量取值的全距,规范化后的每个变量的取值范围限于[-1,1]。 (B)xi='xi-minx-min =imax-minR即每一个变量与变量最小值之差除以该变量取值的全距,规范化后各变量的取值范围限于[0,1]。
(C) xi=值为1。
采用极值化方法对变量数据无量纲化是通过变量取值的最大值和最小值将原始数据转换为界于某一特定范围的数据,从而消除量纲和数量级的影响。由于极值化方法对变量无量纲化过程中仅仅对该变量的最大值和最小值这两个极端值有关,而与其他取值无关,这使得该方法在改变各变量权重时过分依赖两个极端取值。
(2)规范化方法 利用xi=''xi,即每一个变量值除以该变量取值的最大值,规范化后使变量的最大取maxxi-x来计算,即每一个变量值与其平均值之差除以该变量的规范差,无量s纲化后各变量的平均值为0,规范差为1,从而消除量纲和数量级的影响。虽然该方法在无量纲化过程中利用了所有的数据信息,但是该方法在无量纲化后不仅使得转换后的各变量均值相同,且规范差也相同,即无量纲化的同时还消除了各变量在变异程度上的差异。
(3)均值化方法 计算公式为:xi=异程度上的信息。
(4)规范差化方法 计算公式为:xi=''xi,该方法在消除量纲和数量级影响的同时,保留了各变量取值差xixi。该方法是规范化方法的基础上的一种变形,两者的差别仅在无s量纲化后各变量的均值上,规范化方法处理后各变量的均值为0,而规范差化方法处理后各变量均值为原始变量均值与规范差的比值。
综上所述,针对不同类型的数据,可以选择相应的无量纲化方法。如下的示例就是一个典型的评价体系中无量纲化的范例。
示例:近年来我国淡水湖水质富营养化的污染日益严重,如何对湖泊水质的富营养化进行综合评价与治理是摆在我们面前的任务,下面两个表格分别为我国5个湖泊的实测数据和湖泊水质评价规范。
表2-2 全国五个主要湖泊评价参数的实测数据
杭州西湖 武汉东湖 青海湖 巢湖 滇池
表2-3 湖泊水质评价规范
评价参数 极贫营养 总磷 耗氧量 透明度 <1 < >37 贫营养 4 12 中营养 富营养 极富营养 23 110 >660 > < 总磷(mg/L) 130 105 20 30 20 耗氧量(mg/L) 透明度(m) 总氨(mg/L) 总氨
< > 要求:(1)试用以上数据,分析总磷,耗氧量,透明度,总氨这4个指标对湖泊水质评价富营养化的作用。
(2)对这5个湖泊的水质综合评价,确定水质等级。
在进行综合评价之前,首先要对评价的指标进行分析。通常评价指标分成效益型,成本型和固定型指标。效益型指标是指那些数值越大影响力越大的统计指标(也称正向型指标);成本型指标是指数值越小越好的指标(也称逆向型指标);而固定型指标是指数值越接近于某个常数越好的指标(也称适度型指标)。如果每个评价指标的属性不一样,则在综合评价时就容易发生偏差,必须先对各评价指标统一属性。
建模步骤
(ⅰ)建立无量纲化实测数据矩阵和评价规范矩阵,其中实测数据矩阵和等级规范矩阵如下,
轾130犏犏105犏X=犏20犏犏30犏犏20犏臌10.30.352.7610.71.40.44.56.260.2510.130.5轾1423110660犏2.0犏0.090.361.87.1027.1, 0.22,Y=犏犏37122.40.550.17犏1.67犏0.020.060.311.24.6臌0.23然后建立无量纲化实测数据矩阵A和无量纲化等级规范矩阵B,其中
ìxij/maxxij??jaij=?í?minxij/xij???j得到
ìykt/maxykt??kbkt=?í?j=3minykt/ykt???kj13k13k=3
轾1.0000犏犏0.8077犏A=犏0.1538犏犏0.2308犏犏0.1538犏臌0.96260.71431.00001.00000.62500.72460.13080.05560.0797, 0.58501.00000.60510.94670.50000.0833轾0.0015犏犏0.0033B=犏犏0.0046犏犏0.0043臌(ⅱ)计算各评价指标的权重
0.00610.03480.16671.00000.01330.06640.26201.00000.01420.07080.30911.00000.01300.06740.26091.0000。
计算矩阵B的各行向量的均值和规范差,
15mi=?bij,si=5j=1然后计算变异系数
?5(bij-mi)24,i=1,2,3,4
j=1wi=si/mi,
最后对变异系数归一化得到各指标的权重为
w=[0.27670.24440.23470.2442]
(ⅲ)建立各湖泊水质的综合评价模型
通常可以利用向量之间的距离来衡量两个向量之间的接近程度,在Matlab中,有以下的函数命令来计算向量之间的距离;
dist(w,p): 计算w中的每个行向量和p中每个列向量之间的欧式距离; mandist(w,p):绝对值距离。
计算A中各行向量到B中各列向量之间的欧氏距离,
dij=?(a-k=1ik4bik) 2若dik=min{dij},则第i个湖泊属于第k级。
1#j5轾1.8472犏犏1.5959犏犏d=犏0.2185犏犏1.3201犏犏犏1.0793臌1.83121.57980.20451.30381.06501.73741.48590.13671.20820.98671.37691.12710.33830.83920.73280.28810.50341.7917 0.95911.3450这说明杭州西湖,武汉东湖都属于极富营养水质,青海湖属于中营养水质,而巢湖和滇池属于富营养水质。
同时也可以计算A中各行向量到B中各列向量之间的绝对值距离
Dij=?4|aik-bik|,
i=1若Dik=min{Dij},则第i个湖泊属于第k级。
1#j5轾3.6631犏犏3.1436犏犏D=犏0.4062犏犏2.4071犏犏犏1.6701臌3.63033.11080.37342.37431.63743.43742.91780.21102.18141.44442.67832.15870.57871.42231.06600.32310.84273.5800 1.57912.3161其评价结果与利用欧氏距离得到的评价结果完全一样。
所以,从上面的计算可以看出,尽管欧氏距离和绝对值距离的意义完全不一样,但对湖泊水质的评价等级是一样的,这表明了方法的稳定性。 程序:
X=[130 。 105 2。 20 30 。 20 ]。
Y=[1 4 23 100 660。 。 37 12 。 ]。 B1=Y(1,:)./660。 B2=Y(2,:)./。 B3=./Y(3,:)。
B4=Y(4,:)./。
B=[B1。B2。B3。B4]。 A1=X(:,1)./130。 A2=X(:,1)./。 A3=./X(:,3)。 A4=X(:,4)./。 A=[A1 A2 A3 A4]。 B=B’。
t=std(b)./mean(b)。 w=t/sum(t)。 jd=dist(A,B)。 mjd=mandist(A,B)