2.3 数据变换
2.3.1 数据属性变换
在解决经济问题综合评价时,评价指标通常分为效益型、成本型、适度型等类型。效益型指标值越大越好,成本型指标值越小越好,适度型指标值既不能太大也不能太小为好。
一般来说,对问题进行综合评价,必须统一评价指标的属性,进行指标的无量纲化处理。常见的处理方法有极差变换、线性比例变换、样本标准化变换等方法。
我们将式(2.1.16)表示的样本数据矩阵X的每一列理解为评价指标,共有p个指标,X的每一行理解为不同决策方案关于p项评价指标的指标值,共有n个方案,这样表示第i个方案关于第j项评价指标的指标值为xij(i=1,2,…,n;j=1,2,…,p)。
1.统一趋势与无量纲化
我们用I1、I2、I3分别表示效益型、成本型和适度型指标集合,运用极差变换法建立无量纲的效益型矩阵B与成本型矩阵C,运用线性比例变换法可建立无量纲的效益型矩阵D与成本型矩阵E。
1)效益型矩阵,其变换公式为:
B=(bij)n×p,bij=(xij-min1≤i≤n xij)(max1≤i≤n xij-min1≤i≤n xij)xij∈I1
(max1≤i≤n xij-xij)(max1≤i≤n xij-min1≤i≤n xij)xij∈I2
(max1≤i≤nxij-αj-xij-αj)max1≤i≤nxij-αj-min1≤i≤nxij-αjxij∈I3(2.3.1)
其中αj为第j项指标的适度数值。
显然指标经过极差变换后,均有0≤bij≤1,且各指标下最好结果的属性值bij=1,最坏结果的属性值bij=0。指标变换前后的属性值成线性比例。
2)成本型矩阵,其变换公式为:
C=(cij)n×p,cij=(max1≤i≤n xij-xij)(max1≤i≤n xij-min1≤i≤n xij)xij∈I1
(xij-min1≤i≤nxij)(max1≤i≤n xij-min1≤i≤n xij)xij∈I2
xij-αj-min1≤i≤nxij-αjmax1≤i≤nxij-αj-min1≤i≤nxij-αjxij∈I3(2.3.2)
其中αj为第j项指标的适度数值。
显然指标经过极差变换后,均有0≤cij≤1,且各指标下最坏结果的属性值cij=1,最好结果的属性值cij=0。
3)优属度效益型矩阵,其变换公式为:
D=(dij)n×p,dij=xijmax1≤i≤n xijxij∈I1
min1≤i≤n xijxijxij∈I2
min1≤i≤n xij-αjxij-αjxij∈I3(2.3.3)
其中αj为第j项指标的适度数值。
4)比值成本型矩阵,其变换公式为:
E=(eij)n×p,eij=min1≤i≤n xijxijxij∈I1
xijmax1≤i≤n xijxij∈I2
xij-αjmax1≤i≤nxij-αjxij∈I3(2.3.4)
其中αj为第j项指标的适度数值。显然指标变换前后的属性值成比例。
例2.3.1 表2-8给出了我国1996~2013年农业生产情况统计数据,根据数据建立效益型矩阵B与比值成本型矩阵E。
表2-8 1996~2013年农业生产情况统计数据
年份
粮食产量
(万吨)
受灾面积
(千公顷)
有效灌溉面积
(千公顷)
农用化肥施用折纯量
(万吨)
农村用电量
(亿千瓦小时)
1996
50453.50
46991
50381.60
3827.90
1812.72
1997
49417.10
53427
51238.50
3980.70
1980.10
1998
51229.53
50145
52295.60
4083.69
2042.15
1999
50838.58
49980
53158.41
4124.32
2173.45
2000
46217.52
54688
53820.33
4146.41
2421.30
(续)
年份
粮食产量
(万吨)
受灾面积
(千公顷)
有效灌溉面积
(千公顷)
农用化肥施用折纯量
(万吨)
农村用电量
(亿千瓦小时)
2001
45263.67
52215
54249.39
4253.76
2610.78
2002
45705.75
46946
54354.85
4339.39
2993.40
2003
43069.53
54506
54014.23
4411.56
3432.92
2004
46946.95
37106
54478.42
4636.58
3933.03
2005
48402.19
38818
55029.34
4766.22
4375.70
2006
49804.23
41091
55750.50
4927.69
4895.82
2007
50160.28
48992
56518.34
5107.83
5509.93
2008
52870.92
39990
58471.68
5239.02
5713.15
2009
53082.08
47214
59261.45
5404.35
6104.44
2010
54647.71
37426
60347.70
5561.68
6632.35
2011
57120.85
32471
61681.56
5704.24
7139.62
2012
58957.97
24960
63036.43
5838.85
7508.46
2013
60193.84
31350
63350.60
5911.86
8549.52
资料来源:中华人民共和国国家统计局,http://www.stats.gov.cn/。
解:根据指标的具体含义可知,受灾面积是成本型数据,化肥施用量是适度型数据(取适度数值为4000),其余指标都是效益型数据。编写程序如下。
clear
A=\[50453.50, 46991 ,50381.60, 3827.90, 1812.72;
……
60193.84,31350,63350.60,5911.86,8,549.52\]; %输入原始数据
\[m,n\]=size(A);
%对矩阵A,按列指标的属性,对数据进行变换,建立效益型矩阵B的程序
B1=\[A(:,1)-min(A(:,1)),max(A(:,2))-A(:,2),A(:,3)-min(A(:,3)),max(abs(A(:,4)-4000))- abs(A(:,4)-4000),A(:,5)-min(A(:,5))\];
B2=\[ones(m,1)*range(A)\];
B=B1./\[B2(:,1:3),ones(m,1)*range(max(abs(A(:,4)-4000))- abs(A(:,4)-4000)),B2(:,5)\];
%按A矩阵列指标的属性,对数据进行变换,建立比值成本型矩阵E程序
E1=\[ones(m,1)*min(A(:,\[1,3,5\]))\]./A(:,\[1,3,5\]);
E2=A(:,2)./max(A(:,2));
E3=abs( A(:,4)-4000)./\[max(abs( A(:,4)-4000))\];
E=\[E1(:,1),E2,E1(:,2), E3,E1(:,3)\]
程序运行结果(仅列出了变换后数据的前两行,其余各行省略了):
B=
0.4312 0.2589 0 0.9193 0
0.3707 0.0424 0.0661 1.0000 0.0248
……
E=
0.8536 0.8593 1.0000 0.0900 1.0000
0.8716 0.9769 0.9833 0.0101 0.9155
……
2.压缩变换模糊化
对于实际数据还可以通过如下变换将原始数据压缩到\[0,1\]区间,从而构造出模糊集合。利用MATLAB的模糊数学工具箱,可以直接调用表2-9中函数命令实现数据压缩模糊转换。
表2-9 模糊工具箱隶属度函数
函数名称
函数表达式
命令格式
数据类型
高斯形函数
y=e-(x-c)22s2
y=gaussmf(x,\[s,c\])适度型
钟形函数
y=11+x-ca2b
y=gbellmf(x,\[a,b,c\])
适度型
S形函数
f(x,a,b)=0,x≤a
2x-ab-a2,a≤x≤a+b2
1-2x-ab-a2,a+b2≤x≤b
1,x≥b
y=smf(x,\[a,b\])
效益型
Z形函数
f(x,a,b)=1,x≤a
1-2x-ab-a2,a≤x≤a+b2
2x-ab-a2,a+b2≤x≤b
0,x≥b
y=zmf(x,\[a,b\])
成本型
sigmoid函数
y=11+e-a(x-c)
y=sigmf(x,\[a,c\])
a>0,效益型
a<0,成本型
例2.3.2 对于例2.3.1的粮食产量数据用S形函数建立高产的隶属度函数。
解:编写程序如下。
clear
A=\[50453.5046991 50381.60 3827.90 1812.72
……
60193.843135063350.605911.868,549.52\]; %输入原始数据
a=min(A(:,1));%设置S形函数的参数a
b=max(A(:,1));%设置S形函数的参数b
y=smf(A(:,1),\[a,b\]);%S形函数命令
subplot(211),plot(A(:,1), '-* '),title('粮食产量数据图')
subplot(212),plot(y, '-or '), title('变换后数据图')
从图2-15可以看出,利用S形函数将粮食产量数据压缩到\[0,1\]区间,产量越高数值越接近1;反之,产量越低函数值越接近于零,两个图形的走势完全一致。
图2-15 粮食产量数据图与S形函数图
2.3.2 Box-Cox变换
当时间序列数据在左(或右)边有长尾巴或很不对称时,有时需要对数据进行变换以符合非参数(或参数)统计推断方法的某些条件,其中最常用的一种方法就是Box-Cox变换
y=(xλ-1)/λ,λ≠0
lnx,λ=0(2.3.5)
在MATLAB中,Box-Cox变换命令boxcox的调用格式为:
\[transdat, lambda\]=boxcox(x);
其中x是原始数据,transdat是变换以后的数据,lambda是变换公式中参数λ的数值。
例2.3.3 淮河位于中国东部,介于长江与黄河之间,是中国七大河之一。淮河流域地跨湖北、河南、安徽、江苏、山东5省,1952~1991年因水灾造成的流域成灾面积数据见表2-10,应用Box-Cox变换考查数据的正态分布特性。
表2-10 淮河流域成灾面积
(单位:106公倾2)
年份
1952
1953
1954
1955
1956
1957
1958
1959
成灾面积
1.4963
1.3411
4.082
1.2787
4.1549
3.6359
0.9416
0.2083
年份
1960
1961
1962
1963
1964
1965
1966
1967
成灾面积
1.4567
0.8569
2.7197
6.7494
3.6884
2.5395
0.2596
0.2747
年份
1968
1969
1970
1971
1972
1973
1974
1975
成灾面积
0.5398
0.5804
0.7038
0.9679
1.0219
0.5106
1.3253
1.8438
年份
1976
1977
1978
1979
1980
1981
1982
1983
成灾面积
0.4933
0.3437
0.2856
2.5296
1.6594
0.1615
3.208
1.4698
年份
1984
1985
1986
1987
1988
1989
1990
1991
成灾面积
2.938
1.9233
0.7498
0.7933
0.1276
1.4853
1.386
4.6226
数据来源:自然灾害学报,2005,6。
解:考查正态分布特性,可检验数据是否服从正态分布或考查经验分布函数与正态分布函数的差异。将淮河流域1951~1991年的成灾面积数据作为矩阵X输入,程序如下。
%绘制Q-Q图
clear
X=\[data\]; %输入原始成灾面积数据data
\[b,t\]=boxcox(X');%对数据作Box-Cox变换
normplot(X)%原始数据的Q-Q图
figure(2);normplot(b)%变换数据的Q-Q图
%变换前后数据的经验分布函数图及相应的统计量
sa=sort(X);%原始数据次序统计量
sb=sort(b);%变换数据次序统计量
figure(3);cdfplot(X);%原始数据经验分布
hold on;
plot(sa,normcdf(sa),'-r')%正态分布函数
figure(4);cdfplot(b);%变换数据经验分布
hold on;
plot(sb,normcdf(sb),'-r')%变换数据经验分布与正态分布函数
作出图形如图2-16、图2-17所示,可以看出原始数据与正态分布函数相差甚远,变换后的数据则比较接近。
从图2-16、图2-17可以看出原始数据没有分布在直线上,而变换后的数据基本上落在直线上,因此可认为原始数据不服从正态分布,而变换后的数据服从正态分布。
从经验分布图2-18、图2-19可以看出:原始数据不服从正态分布,而变换数据近似服从正态分布。
图2-16 成灾面积原始数据Q-Q图
图2-17 成灾面积Box-Cox变换数据Q-Q图
图2-18 原始数据经验分布图
图2-19 变换数据经验分布图
2.3.3 基于数据变换的综合评价模型
例2.3.4 为了全面了解10家上市银行的绩效,用X1表示每股净收益,X2表示总资产利润率,X3表示净资产收益率,X4表示净利润增长率,X5表示净资产增长率,X6表示总资产增长率。这些指标的统计数据如表2-11所示,试对上市银行进行综合评价。
表2-11 10家上市银行的统计数据
公司名称
X1
X2
X3
X4
X5
X6
工商银行
0.21
0.33
4.01
0.60
15.59
6.95
农业银行
0.16
0.30
4.33
0.46
12.22
9.37
建设银行
0.27
0.35
4.53
1.14
14.74
9.54
中国银行
0.15
0.29
3.46
1.81
10.29
6.37
交通银行
0.26
0.26
3.44
0.93
13.00
11.73
招商银行
0.73
0.34
4.84
6.45
14.43
10.66
华夏银行
0.41
0.21
3.12
7.36
34.70
15.01
平安银行
0.43
0.23
3.24
8.12
37.21
16.33
兴业银行
0.82
0.29
4.76
6.05
20.73
21.22
浦发银行
0.70
0.27
4.18
24.10
20.65
22.86
数据来源:各银行2016年3月31日财务报告。
解:设原始数据矩阵为
X=x11x12…x1p
x21x22…x2p
xn1xn2…xnp (n=10,p=6)
1)利用变异系数法建立权向量
wj=vj/∑6j=1vj
其中vj=sj/xj,sj与xj分别为第j项指标的标准差和均值。
2)建立理想方案
u=u01,u02,…,u06
其中u0j=max1≤i≤10{xij}(j=1,2,…,6)。
3)建立相对偏差模糊矩阵R
R=r11r12…r1p
x21x22…r2p
rn1rn2…rnp (n=10,p=6), 其中rij=xij-u0jmax1≤i≤10{xij}-min1≤i≤10{xij}
4)建立综合评价模型
Di=∑6j=1rijwj (i=1,2,…,10)
评价准则为:若Di<Dj,则第i家上市公司的业绩优于第j家上市公司的业绩。
MATLAB程序如下:
clear
X=\[0.21,0.33,4.01,0.60,15.59,6.95;
0.16,0.30,4.33,0.46,12.22,9.37;
0.27,0.35,4.53,1.14,14.74,9.54;
0.15,0.29,3.46,1.81,10.29,6.37;
0.26,0.26,3.44,0.93,13.00,11.73;
0.73,0.34,4.84,6.45,14.43,10.66;
0.41,0.21,3.12,7.36,34.70,15.01;
0.43,0.23,3.24,8.12,37.21,16.33;
0.82,0.29,4.76,6.05,20.73,21.22;
0.70,0.27,4.18,24.10,20.65,22.86\]; %输入原始数据
m=mean(X);%计算各指标均值
s=std(X);%计算各指标标准差
v=s./abs(m);%计算各指标变异系数
w=v/sum(v);%计算各指标权重
R=abs(X-ones(10,1)*max(X))./\[ones(10,1)*range(X)\];%相对偏差矩阵
D=R*w';%计算综合评价值
\[F1,t1\]=sort(D);%综合评价值排序
\[F2,t2\]=sort(t1)%t2为输出上市公司的排名
程序运行结果:
D1=0.8735,D2=0.8908,D3=0.8066,D4=0.9373,D5=0.8702,
D6=0.5683,D7=0.5906,D8=0.5350,D9=0.4426,D10=0.1803
根据评价准则可得各公司排名见表2-12。
表2-12 10家上市银行的综合排名
银行
工商
农业
建设
中国
交通
招商
华夏
平安
兴业
浦发
排名
8
9
6
10
7
4
5
3
2
1
说明:如果采取不同的方法建立权向量,或者根据不同的方法得到相对优属度矩阵,评价的结果会有所不同。
习 题 2
1.已知样本数据为
1,3,4,2,9,6,7,8,11,2.5,3,10
1)求该数据的中位数;2)该数据的次序统计量;3)写出上述计算的MATLAB实现程序。
2.设数据(x1,x2,…,xn),用MATLAB编写3种不同程序,均能实现计算∑ni=1(xi-x)2。
3.设矩阵A表示某球队参加5场比赛的技术统计数据
A=a1a2,…,a6=a11a12…a16
a21a22…a26
a51a52…a56
其中a1表示投篮命中率,a2表示罚球命中率,a3表示后场篮板球,a4表示失误次数,a5表示抢断次数,a6表示盖帽次数。1)指标ai中哪些是效益型指标,哪些是成本型指标,写出统一趋势化的计算公式。2)写出MATLAB中的计算程序。
4.利用MATLAB软件生成均值向量为(3,2)、协方差矩阵为11.5
1.54的二元正态分布的随机数,并给出作散点图以及密度函数曲面图的程序。
5.考查鸢尾属植物中两个不同品种的花的如下四个形状指标:X1为萼片长度;X2为萼片宽度;X3为花瓣长度;X4为花瓣宽度;从这两个品种(记为1、2)中各选取50株,测得上述指标的取值见表2-13,求解以下问题:1)计算各指标的均值、方差、标准差、变异系数以及相关系数矩阵;2)计算各指标的偏度、峰度、三均值以及极差;3)作出各指标数据直方图并检验该数据是否服从正态分布;4)检验两个品种是否来自正态总体。
表2-13 鸢尾属植物两个不同品种的花的形状数据
编号
品种
x1
x2
x3
x4编号
品种
x1
x2
x3
x4
1165284615
2162224515
3159324818
4161304614
5160275116
6156253911
7157284513
8163334716
9170324714
10164324515
11161284013
12155243811
13154304515
14158264012
15155264412
16150233310
17167314414
18156304515
19158274110
20160294515
21157263510
22157194213
23149243310
24156274213
25157304212
26166294613
27152273914
28160344516
29150203510
30155243710
(续)
编号
品种
x1
x2
x3
x4编号
品种
x1
x2
x3
x4
31158273912
32162294313
33159304215
34160224010
35167314715
36163234413
37156304113
38163254915
39161284712
40164294313
41151253011
42157284113
43161294714
44156293613
45169314915
46155254013
47155234013
48166304414
49168284814
50167305017
51264285622
52267315624
53263285115
54269315123
55265305220
56265305518
57258275119
58268325923
59262345423
60277386722
61267335725
62276306621
63249254517
64267305223
65259305118
66263255019
67264325323
68279386420
69267335721
70277286720
71263274918
72272326018
73261304918
74261265614
75264285621
76262284818
77277306123
78263345624
79258275119
80272305816
81271305921
82264315518
83260304818
84263295618
85277266923
86260225015
87269325723
88274286119
89256284920
90273296318
91267255818
92265305822
93269315421
94272366125
95265325120
96264275319
97268305521
98257255020
99258285124
100263336025
数据来源:梅长林,范金城,数据分析方法,高等教育出版社。
6.利用压缩变换对蠓虫分类问题建立模糊集合,并作出相应图形进行分析。
实验1 数据统计量及其分布检验
实验目的
1.熟练掌握利用MATLAB软件计算均值、方差、协方差、相关系数、标准差与变异系数、偏度与峰度、中位数、分位数、三均值、四分位极差与极差。
2.熟练掌握jbtest与lillietest关于一维数据的正态性检验。
3.掌握统计作图方法。
4.掌握多维数据的数字特征与相关矩阵的处理方法。
实验数据与内容
实验一
1949年到1990年,我国洪涝灾害统计数据如表2-14所列,解决以下问题:1)计算各项指标的平均值、标准差、变异系数、三均值、偏度与峰度;2)各项指标是否服从正态分布?若服从正态分布,计算概率为1%时的受灾面积、受灾人口及直接经济损失;若不服从正态分布,利用Box-Cox变换将数据进行变换,对变换后的数据进行相应的分析。
表2-14 我国洪涝灾害统计数据
年份
受灾面积
受灾人口
直接经济损失
1949928.22006190300
1950656192812028.87
195141760112614.71
1952279.4105923339.56
195374181210897.38
195416133937209300
195552540713061.56
195614382576326801.7
1957808.2787045708.41
1958428113214692
195948184525746
1960101668258179.59
1961887186726172.85
1962981150153865.8
196314072757629755.2
19641493156131458.73
196555968323751.14
1966251107968286.03
1967170.8957514286.03
1968224.343728232.32
1969463.18125223293.55
197031330517424.71
(续)
年份
受灾面积
受灾人口
直接经济损失
197139961815312.09
1972408160821804
1973624174614378.77
1974640198835974.6
197568212081000000
1976420258926163.63
1977910187260604.77
1978285213026155.93
1979676219154798.1
1980915410690339.39
19818624560335319.3
19828364499120239.5
198312165294221760.3
19841069nan1530
19851419.731294470282
1986915.53321703600
1987868.62105246253.3
19881194.933522803387.8
19891132.8nan233000
19901180.476111591968
注:表中nan表示数据缺失。
实验二
登录“国家外汇管理局”网站(http://www.safe.gov.cn/),在主页面“统计数据”栏查找“人民币汇率中间价”统计表,下载“2016年1月1日~2016年7月20日人民币每日汇率中间价数据”,分析人民币对美元、欧元、日元、英镑汇率的数据分布特征。