下面的问题 例1通过对某健将级女子铅球运动员的跟踪调査,获得其1982年至1986年每年 最好成绩及16项专项素质和身体素质的时间序列资料,见表2,试对此铅球运动员的 专项成绩进行因素分析。 表2各项成绩数据 1982 铅球专项成绩x0 13.6 14.01 14.54 1564 4kg前抛x 11.50 13.00 15.15 15.30 4kg后抛 16.36 1690 16.56 17.30 4kg原地 13.46 立定跳远x 2.48 2.49 2.56 2.64 2.59 85 x 100 105 推 3kg前抛 12.80 1640 1705 3kg后抛 15.30 18.40 18.75 1795 19.30 3kg原地 12.71 14.66 15.70 3kg滑步 14.78 15.54 1603 定三级跳远x 7.64 56 754 7.70 140 95 0米起跑 4”2 4”25 3”99 100米 13”1 13”42 12”85 12”72 12”56 在利用(1)式及(2)式计算关联度之前,我们需对表2的各个数列做初始化处 理。一般来讲,实际问题中的不同数列往往具有不同的量纲,而我们在计算关联系数时, 要求量纲要相同。因此,需首先对各种数据进行无量纲化。另外,为了易于比较,要求 所有数列有公共的交点。为了解决上述两个问题,我们对给定数列进行变换 定义4给定数列x=(x(1),x(2)…,x(m),称
-420- 下面的问题。 例 1 通过对某健将级女子铅球运动员的跟踪调查,获得其 1982 年至 1986 年每年 最好成绩及 16 项专项素质和身体素质的时间序列资料,见表 2,试对此铅球运动员的 专项成绩进行因素分析。 表 2 各项成绩数据 1982 1983 1984 1985 1986 铅球专项成绩 0 x 13.6 14.01 14.54 15.64 15.69 4kg 前抛 1 x 11.50 13.00 15.15 15.30 15.02 4kg 后抛 2 x 13.76 16.36 16.90 16.56 17.30 4kg 原地 3 x 12.41 12.70 13.96 14.04 13.46 立定跳远 4 x 2.48 2.49 2.56 2.64 2.59 高 翻 5 x 85 85 90 100 105 抓 举 6 x 55 65 75 80 80 卧 推 7 x 65 70 75 85 90 3kg 前抛 8 x 12.80 15.30 16.24 16.40 17.05 3kg 后抛 9 x 15.30 18.40 18.75 17.95 19.30 3kg 原地 10 x 12.71 14.50 14.66 15.88 15.70 3kg 滑步 11 x 14.78 15.54 16.03 16.87 17.82 立定三级跳远 12 x 7.64 7.56 7.76 7.54 7.70 全 蹲 13 x 120 125 130 140 140 挺 举 14 x 80 85 90 90 95 30 米起跑 15 x 4’’2 4’’25 4’’1 4’’06 3’’99 100 米 16 x 13’’1 13’’42 12’’85 12’’72 12’’56 在利用(1)式及(2)式计算关联度之前,我们需对表 2 的各个数列做初始化处 理。一般来讲,实际问题中的不同数列往往具有不同的量纲,而我们在计算关联系数时, 要求量纲要相同。因此,需首先对各种数据进行无量纲化。另外,为了易于比较,要求 所有数列有公共的交点。为了解决上述两个问题,我们对给定数列进行变换。 定义 4 给定数列 x = (x(1), x(2),", x(n)) ,称
n x(1)x(1) 为原始数列X的初始化数列。 这样,我们可对表2中的17个数列进行初始化处理。注意,对于前15个数列, 随着时间的增加,数值的增加意味着运动水平的进步,而对后2个数列来讲,随着时间 的增加,数值(秒数)的减少却意味着运动水平的进步。因此,在对数列xs及x进 行初始化处理时,采取以下公式 =/()x(x()x(① x(2)x1(3)x1(4)x(5) ,i=15,16 依照问题的要求,我们自然选取铅球运动员专项成绩作为参考数列,将表2中的 各个数列的初始化数列代入(1)及(2)式,易算出各数列的关联度如下表(这里 p=0.5)。 表3关联度计算结果 F 0.588 0.663 0.854 0.776 0.502 0.659 0.582 /12 /13 0.696 0.705 0.933 0.847 0.745 0.726 计算的 MATLAB程序如下: clc. clear load x. txt%把原始数据存放在纯文本文件xtxt中 x(i,)=x(n:)/x(i,1),%标准化数据 fori=16:17 x(i,)=x(,1)x(G,),%标准化数据 data=x: n =size(data, 1) ck=data(1, ) mI=size(ck, 1) bj=data(2: n, ) m2=size(bj, 1); for F=l m1 t(, )=bj(, )-ck(i, ):
-421- ⎟ ⎟ ⎠ ⎞ ⎜ ⎜ ⎝ ⎛ = (1) ( ) , , (1) (2) 1, x x n x x x " 为原始数列 X 的初始化数列。 这样,我们可对表 2 中的 17 个数列进行初始化处理。注意,对于前 15 个数列, 随着时间的增加,数值的增加意味着运动水平的进步,而对后 2 个数列来讲,随着时间 的增加,数值(秒数)的减少却意味着运动水平的进步。因此,在对数列 15 x 及 16 x 进 行初始化处理时,采取以下公式 ⎟ ⎟ ⎠ ⎞ ⎜ ⎜ ⎝ ⎛ = (5) (1) , (4) (1) , (3) (1) , (2) (1) 1, i i i i i i i i i x x x x x x x x x ,i = 15,16 依照问题的要求,我们自然选取铅球运动员专项成绩作为参考数列,将表 2 中的 各个数列的初始化数列代入(1)及(2)式,易算出各数列的关联度如下表(这里 ρ = 0.5 )。 表 3 关联度计算结果 1r 2r 3r 4r 5r 6r 7r 8r 0.588 0.663 0.854 0.776 0.855 0.502 0.659 0.582 9r 10 r 11 r 12 r 13 r 14 r 15 r 16 r 0.683 0.696 0.896 0.705 0.933 0.847 0.745 0.726 计算的 MATLAB 程序如下: clc,clear load x.txt %把原始数据存放在纯文本文件 x.txt 中 for i=1:15 x(i,:)=x(i,:)/x(i,1); %标准化数据 end for i=16:17 x(i,:)=x(i,1)./x(i,:); %标准化数据 end data=x; n=size(data,1); ck=data(1,:);m1=size(ck,1); bj=data(2:n,:);m2=size(bj,1); for i=1:m1 for j=1:m2 t(j,:)=bj(j,:)-ck(i,:);
jcl=min(min(abs(t))):jc2=max(max(abs(t)) rho=0.5 ksiFGcl+rho*jc2).( abs(t)+rho"jc2 rt=sum(ksi")size(ksi, 2) [ rs rind]=sor(r; descend')%对关联度进行排序 由表3易看出,影响铅球专项成绩的前八项主要因素依次为全蹲、3kg滑步、高翻 4kg原地、挺举、立定跳远、30米起跳、100米成绩。因此,在训练中应着重考虑安排 这八项指标的练习。这样可减少训练的盲目性,提高训练效果 应该指出的是,公式(1)中的|x0(k)-x,(k)不能区别因素关联是正关联还是负 关联,可采取下述办法解决这个问题。记 -(-,(=12…m 则: (1)当sign(G)=sign(a,),则x和x,为正关联; (2)当sign(a,)=-gn(1),则x和x为负关联 §3优势分析 当参考数列不止一个,被比较的因素也不止一个时,则需进行优势分析 假设有m个参考数列(宜称母因素),记为y1,y2…yn,再假设有个比较数列(亦 称子因素),记为x1,x2,…,x。显然,每一个参考数列对l个比较数列有/个关联度, 设表示比较数列x,对参考数列y的关联度,可构造关联(度)矩阵R=()m。根 据矩阵R的各个元素的大小,可分析判断出哪些因素起主要影响,哪些因素起次要影 响。起主要影响的因素称之为优势因素。再进一步,当某一列元素大于其它列元素时 称此列所对应的子因素为优势子因素;若某一行元素均大于其它行元素时,称此行所对 应的母元素为优势母元素。例如,矩阵R的第3列元素大于其它各列元素, 3>,i=l12,…,m;j≠3
-422- end jc1=min(min(abs(t')));jc2=max(max(abs(t'))); rho=0.5; ksi=(jc1+rho*jc2)./(abs(t)+rho*jc2); rt=sum(ksi')/size(ksi,2); r(i,:)=rt; end r [rs,rind]=sort(r,'descend') %对关联度进行排序 由表 3 易看出,影响铅球专项成绩的前八项主要因素依次为全蹲、3kg 滑步、高翻、 4kg 原地、挺举、立定跳远、30 米起跳、100 米成绩。因此,在训练中应着重考虑安排 这八项指标的练习。这样可减少训练的盲目性,提高训练效果。 应该指出的是,公式(1)中的| ( ) ( ) | 0 x k x k − i 不能区别因素关联是正关联还是负 关联,可采取下述办法解决这个问题。记 ∑ ∑ ∑ = = = = − n k n k i n k i i n k kx k x k 1 1 1 σ ( ) ( ) ,i = 1,2,", n 则: (1)当sign( ) sign( ) σ i = σ j ,则 i x 和 j x 为正关联; (2)当sign( ) sign( ) σ i = − σ j ,则 i x 和 j x 为负关联。 §3 优势分析 当参考数列不止一个,被比较的因素也不止一个时,则需进行优势分析。 假设有 m 个参考数列(宜称母因素),记为 m y , y , , y 1 2 " ,再假设有l 个比较数列(亦 称子因素),记为 l x , x , , x 1 2 " 。显然,每一个参考数列对l 个比较数列有l 个关联度, 设 ij r 表示比较数列 j x 对参考数列 i y 的关联度,可构造关联(度)矩阵 ij m l R r = × ( ) 。根 据矩阵 R 的各个元素的大小,可分析判断出哪些因素起主要影响,哪些因素起次要影 响。起主要影响的因素称之为优势因素。再进一步,当某一列元素大于其它列元素时, 称此列所对应的子因素为优势子因素;若某一行元素均大于其它行元素时,称此行所对 应的母元素为优势母元素。例如,矩阵 R 的第 3 列元素大于其它各列元素, i ij r > r 3 ,i = 1,2,",m; j ≠ 3
则称x3为优势子因素。 如果矩阵R的某个元素达到最大,则该行对应的母因素被认为是所有母因素中影 响最大的。 为简单起见,先来讨论一下“对角线”以上元素为零的关联矩阵,例如 0.800000 0.60.500 00 0 R=0.7070.30 0 040.60.70.900 0.3080.2070.5040 因为第1列元素是满的,故称第1个子元素为潜在优势子因素。第2列元素中有一个元 素为零,故称第2个子因素为次潜在优势子因素。余下类推。 当关联矩阵的“对角线”以下全都是零元素,则称第1个母因素为潜在优势母因 素……,为了分析方便,我们经常把相对较小的元素近似为零,从而使关联矩阵尽量稀 我们参考一个实际问题。 例2某地区有6个母因素y1(i=12,…6),5个子因素x(j=1,2,…5)如 x:固定资产投资 y:国民收入 x2:工业投资 y2:工业收入 x3:农业投资 y3:农业收入 x4:科技投资 y4:商业收入 x5:交通投资 y5:交通收入 y6:建筑业收入 其数据列于表4。 表4投资和收入数据 1979 1980 1981 308.58 310 346 367 1954 1899 187.2 22.7
-423- 则称 3 x 为优势子因素。 如果矩阵 R 的某个元素达到最大,则该行对应的母因素被认为是所有母因素中影 响最大的。 为简单起见,先来讨论一下“对角线”以上元素为零的关联矩阵,例如 ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ = 0.3 0.8 0.2 0.7 0.504 0 0.4 0.6 0.7 0.9 0 0 0.7 0.7 0.3 0 0 0 0.6 0.5 0 0 0 0 0.8 0 0 0 0 0 R 因为第 1 列元素是满的,故称第 1 个子元素为潜在优势子因素。第 2 列元素中有一个元 素为零,故称第 2 个子因素为次潜在优势子因素。余下类推。 当关联矩阵的“对角线”以下全都是零元素,则称第 1 个母因素为潜在优势母因 素……,为了分析方便,我们经常把相对较小的元素近似为零,从而使关联矩阵尽量稀 疏。 我们参考一个实际问题。 例 2 某地区有 6 个母因素 i y (i = 1,2,",6 ),5 个子因素 j x ( j =1,2,",5)如 下: 1 x :固定资产投资 1 y :国民收入 2 x :工业投资 2 y :工业收入 3 x :农业投资 3 y :农业收入 4 x :科技投资 4 y :商业收入 5 x :交通投资 5 y :交通收入 6 y :建筑业收入 其数据列于表 4。 表 4 投资和收入数据 1979 1980 1981 1982 1983 1 x 308.58 310 295 346 367 2 x 195.4 189.9 187.2 205 222.7
24.6 12.2 27655 174 216.4 235.8 57.55 70.74 76.8 80.7 89.85 85.38 9983 103.4 y 11.19 13.28 16.82 22.8 4.34 5.06 5.78 13.7 15.6 13.77 1198 根据表4的数据,利用如下的 MATLAB程序 load data. txt%把原始数据存放在纯文本文件 data. txt中 data(i,)=data(i: )data(i,1);%标准化数据 bj=data( 1: 5, ) m2=size(bj, 1); for =1: m2 -)=bj(,)-ck(1-) jcl=min(min(abs(t))):jc2=max(max(abs(t)); ksi=gcl+rho*jc2)./(abs(t)+rho*jc2); 计算出各个子因素对母因素的关联度(这里取p=0.5),从而得到关联矩阵为 424
-424- 3 x 24.6 21 12.2 15.1 14.57 4 x 20 25.6 23.3 29.2 30 5 x 18.98 19 22.3 23.5 27.655 1 y 170 174 197 216.4 235.8 2 y 57.55 70.74 76.8 80.7 89.85 3 y 88.56 70 85.38 99.83 103.4 4 y 11.19 13.28 16.82 18.9 22.8 5 y 4.03 4.26 4.34 5.06 5.78 6 y 13.7 15.6 13.77 11.98 13.95 根据表 4 的数据,利用如下的 MATLAB 程序 clc,clear load data.txt %把原始数据存放在纯文本文件 data.txt 中 n=size(data,1); for i=1:n data(i,:)=data(i,:)/data(i,1); %标准化数据 end ck=data(6:n,:);m1=size(ck,1); bj=data(1:5,:);m2=size(bj,1); for i=1:m1 for j=1:m2 t(j,:)=bj(j,:)-ck(i,:); end jc1=min(min(abs(t')));jc2=max(max(abs(t'))); rho=0.5; ksi=(jc1+rho*jc2)./(abs(t)+rho*jc2); rt=sum(ksi')/size(ksi,2); r(i,:)=rt; end r 计算出各个子因素对母因素的关联度(这里取 ρ = 0.5 ),从而得到关联矩阵为