与灰色预测模型一样,比赛不能优先使用,灰色关联往往可以与层次分析结合使用。层次分析用在确定权重上面
【1】确定比较对象(评价对象)(就是数据,并且需要进行规范化处理,就是标准化处理,见下面例题的表格数据)和参考数列(评价标准,一般该列数列都是1,就是最优的的情况)
【2】确定各个指标权重,可用层次分析确定
【3】计算灰色关联系数
这是一个比较复杂的公式,给出的代码可以直接运行出来,可以先不管这个公式。
【4】计算灰色加权关联度,计算公式为:
其中Ri就是第i个指标对理想对象(参考数列,一般该数列都是1,就是最有情况)的加权关联度。就可以认为是评价的结果。
【5】评价分析。
例 1 通过对某健将级女子铅球运动员的跟踪调查,获得其 1982 年至 1986 年每年最好成绩及 16 项专项素质和身体素质的时间序列资料,见下表,试对此铅球运动员的专项成绩进行因素分析。
表 各项成绩数据
|
1982 |
1983 |
1984 |
1985 |
1986 |
铅球专项成绩 |
13.6 |
14.01 |
14.54 |
15.64 |
15.69 |
4kg 前抛 |
11.50 |
13.00 |
15.15 |
15.30 |
15.02 |
4kg 后抛 |
13.76 |
16.36 |
16.90 |
16.56 |
17.30 |
4kg 原地 |
12.41 |
12.70 |
13.96 |
14.04 |
13.46 |
立定跳远 |
2.48 |
2.49 |
2.56 |
2.64 |
2.59 |
高 翻 |
85 |
85 |
90 |
100 |
105 |
抓 举 |
55 |
65 |
75 |
80 |
80 |
卧 推 |
65 |
70 |
75 |
85 |
90 |
3kg 前抛 |
12.80 |
15.30 |
16.24 |
16.40 |
17.05 |
3kg 后抛 |
15.30 |
18.40 |
18.75 |
17.95 |
19.30 |
3kg 原地 |
12.71 |
14.50 |
14.66 |
15.88 |
15.70 |
3kg 滑步 |
14.78 |
15.54 |
16.03 |
16.87 |
17.82 |
立定三级跳 |
7.64 |
7.56 |
7.76 |
7.54 |
7.70 |
全 蹲 |
120 |
125 |
130 |
140 |
140 |
挺 举 |
80 |
85 |
90 |
90 |
95 |
30 米起跑 |
4″2 |
4″25 |
4″1 |
4″06 |
3″99 |
100 米 |
13″1 |
13″42 |
12″85 |
12″72 |
12″56 |
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,2); %求矩阵的列数,即观测时刻的个数
ck=data(1,:); %提出参考数列
bj=data(2:end,:); %提出比较数列
m2=size(bj,1); %求比较数列的个数
for j=1:m2
t(j,:)=bj(j,:)-ck;
end
mn=min(min(abs(t'))); %求最小差
mx=max(max(abs(t'))); %求最大差
rho=0.5; %分辨系数设置
ksi=(mn+rho*mx)./(abs(t)+rho*mx); %求关联系数
r=sum(ksi')/n %求关联度
[rs,rind]=sort(r,'descend') %对关联度进行排序
运行结果的r为各指标和成绩的关联度,rind即为各指标和成绩的关联度大小排序的结果。在使用本程序的时候,只需要把数据换成自己自己的数据,以及把循环次数改一下即可。