文章目录
- 前言
- 一、灰色关联分析是什么?
- 二、使用步骤
- 1.画出统计图
- 2.确定分析序列
- 3.对变量进行预处理
- 4.计算子序列各个指标的关联系数
- 5.定义灰色关联度
- 总结
前言
系统分析时,常使用数理统计:回归分析(标准化回归)、方差分析(使用较少)、主成分分析(用于降维),但总有不足:
1.需要有大量数据;数据个数大于条件个数
2.样本需要服从典型概率分布
3.可能出现量化结果与定性分析结果不服的现象
(多重共线性)
以matlab程序为例
一、灰色关联分析是什么?
根据序列曲线几何形状的相似程度来判断联系是否紧密。曲线越接近,相应序列之间的关联度就越大,反之就越小、
灰色关联分析方法计算量较小,对样本量大小与有无规律同样适用
二、使用步骤
进行系统分析:
1.画出统计图
Excel绘制
2.确定分析序列
1.母序列(参考序列、母指标):能反映系统行为特征的数据序列,因变量(记为X)
2.子序列(比较序列、子指标):影响系统行为因素组成的数据序列,自变量(X1…Xn)
3.对变量进行预处理
去量纲,缩小变量范围简化计算
- 求出每个变量的均值
average函数
clear;clc
load gdp.mat
Mean = mean(gdp);
- 用该指标的每个元素除以均值
表格中fn+f4锁定
gdp = gdp ./ repmat(Mean,size(gdp,1),1);
disp('预处理后的矩阵为:');
disp(gdp)
4.计算子序列各个指标的关联系数
两级最小差:a = min min|x0(k)-xi(k)|
两级最大差:b = max max|x0(k)-xi(k)|
Y = gdp(:,1); % 母序列
X = gdp(:,2:end); % 子序列
absX0_Xi = abs(X - repmat(Y,1,size(X,2)))
a = min(min(absX0_Xi))
b = max(max(absX0_Xi))
rho = 0.5;
gamma = (a+rho*b) ./ (absX0_Xi + rho*b)
5.定义灰色关联度
每列求平局值,得到该因素的关联度
disp('子序列中各个指标的灰色关联度分别为:')
disp(mean(gamma))
总结
当样本个数较⼤时, ⼀般使⽤标准化 回归 ;
当样本个数较少时,才使⽤灰⾊关联分析
多个指标则单独分别计算
美赛不建议用!!中国算法