当前位置: 首页 > news >正文

数学建模—灰色关联分析

1、灰色关联分析概述

对于多因素共同决定的抽象系统,人们往往希望知道,哪些是主要因素,哪些是次要因素;哪些因素对系统的发展影响较大,哪些因素对系统的影响较小。从而需要对系统进行分析。

数理统计中常用的回归分析,主成分分析,分差分析存在不足之处:

(1)要求有大量的数据,数据量少就难以找到规律。

(2)要求样本服从典型的概率分布,要求各因素与系统特征数据之间呈线性关系,这种要求往往难以满足。

(3)可能出现量化结果和定性分析不相符的情况。

灰色关联分析的基本思想:根据序列曲线几何形状的相似程度来判断其联系是否紧密。曲线形状越接近,相应序列之间的关联度就越大,反之就越小。

具体应用:分析产业对GDP的影响程度

下表为某地区国内生产总值的统计数据(以百万元计),问该地区从2000年到2005年之间哪一种产业对GDP总量影响最大。

年份

国内生产总值

第一产业

第二产业

第三产业

2000

1988

386

839

763

2001

2061

408

846

808

2002

2335

422

960

953

2003

2750

482

1258

1010

2004

3356

511

1577

1268

2005

3806

561

1893

1352

第一步:对以上变量进行统计分析

 分析:

(1)四个产业均呈上升趋势;(2)第二产业增幅明显;(3)第二产业和第三产业后两年差距拉大;(4)第一产业平稳增长。

第二步:确定分析数列

(1)母系列(又称参考系列、母指标):能反映系统行为特征的数据系列(类似于因变量Y,此处记为X0)。

(2)子序列(又称为比较序列,子指标):影响系统行为的因素组成的数据系列(类似于自变量X)。

在本例中,国内生产总值是母序列,其他产业是子序列。

第三步:对变量进行预处理(两个目的:去量纲,缩小变量范围简化计算)

对母序列和子序列中的每个指标进行预处理:先求出每个指标的均值,再用该指标中的每个元素除以该均值。

 第四步:计算各指标与母序列的关联系数

记:x0=(0.7320, 0.7588, 0.8597......1.4013);x1=(0.8361, 0.8838, ......., 1.2152);x2=(......);x3=(......);记两级最小差:a = min(min(xi(k)-x0(k))),记两极最大差:b=max(max(xi(k)-x0(k)));

 定义:y(x_{0}(k),x_{i}(k))=\frac{a+\rho b}{\left | x_{0}(k)-x_{i}(k\right |+\rho b}\rho为分辨系数一般去0.5

 第五步:对得到的y进行求平均就得到了灰色关联度。

第六步:通过比较三个子序列和母序列的关联度可以得出:该地区在2000年-2005年间的国内生产总值受到第三产业的影响最大(因为其灰色关联度最大)。

讨论:(1)什么时候用标准化回归,什么时候用灰色关联分析?

当样本个数比较大的时候用标准化回归,当样本个数比较小的时候用灰色关联分析。

(2)如果母序列中有多个指标,应该怎么分析?

例如:y1, y2是母序列,x1,x2.....xn是子序列

那么我们首先计算y1和x1,x2.....xn灰色关联分析,再求y1和x1,x2.....xn灰色关联分析

对应代码:

%%灰色关联分析
clear;clc
load gdp.mat %导入数据矩阵
Mean = mean(gdp); % 求出每一列的均值以供后续数据预处理
gdp = gdp./repmat(Mean,size(gdp,1),1); % size(gdp,1)=6,计算gdp矩阵的行数
% repmat(Mean,6,1),可以将函数进行扩展,扩展与gdp同型的矩阵,然后进行点除
disp("预处理后的矩阵为:");
disp(gdp)
y = gdp(:,1); %母序列
x = gdp(:,2:end); %子序列
absx0_xi = abs(x - repmat(y,1,size(x,2)))  % 计算|X0-Xi|矩阵(在这里我们把X0定义为了Y)
a = min(min(absx0_xi)); %计算两级最小差
b = max(max(absx0_xi)); %计算两级最大差
rho = 0.5;
gmma = (a + rho*b)./(absx0_xi + rho*b) %计算子序列各个指标和母序列的灰色关联系数
disp("子序列与母指标的各个关联系数为:")
disp(mean(gmma))

相关文章:

  • zabbix 监控--报警平台与分布式
  • CDR插件开发之Addon插件004 - VS2022开发环境简介及个性化配置
  • Jackson 电印迹-蛋白质转移丨膜的类型WB转移步骤要素
  • MomentJs 常用api
  • 氨基/羧基/醛基/苯肼基/磺酸基/醛基化改性交联修饰聚苯乙烯微球的研究
  • js坑之数字型字符串比对只比较第一位数字
  • 开发平台模块化重构之实现
  • Windows Linux常见编译器 msvc gcc clang
  • MySQL 教程(一)概述
  • 因果系列文章(5)——干预
  • java计算机毕业设计社区卫生预约挂号系统源码+系统+数据库+lw文档+mybatis+运行部署
  • [2017][note]基于空间交叉相位调制的两个连续波在few layer铋Bi中的全光switch——
  • docker安装成功启动失败
  • 使用百度EasyDL实现商品消费预测
  • eclipse配置maven,安装lombok,导入和创建springboot项目
  • Apache Spark Streaming 使用实例
  • Computed property XXX was assigned to but it has no setter
  • EOS是什么
  • Java IO学习笔记一
  • JS基础篇--通过JS生成由字母与数字组合的随机字符串
  • KMP算法及优化
  • Netty 4.1 源代码学习:线程模型
  • PHP面试之三:MySQL数据库
  • redis学习笔记(三):列表、集合、有序集合
  • 创建一种深思熟虑的文化
  • 高程读书笔记 第六章 面向对象程序设计
  • 高度不固定时垂直居中
  • 给Prometheus造假数据的方法
  • 规范化安全开发 KOA 手脚架
  • 前端临床手札——文件上传
  • 如何解决微信端直接跳WAP端
  • 一个项目push到多个远程Git仓库
  • 用Python写一份独特的元宵节祝福
  • 这几个编码小技巧将令你 PHP 代码更加简洁
  • puppet连载22:define用法
  • SAP CRM里Lead通过工作流自动创建Opportunity的原理讲解 ...
  • 大数据全解:定义、价值及挑战
  • 资深实践篇 | 基于Kubernetes 1.61的Kubernetes Scheduler 调度详解 ...
  • ​3ds Max插件CG MAGIC图形板块为您提升线条效率!
  • #QT项目实战(天气预报)
  • #基础#使用Jupyter进行Notebook的转换 .ipynb文件导出为.md文件
  • (2024,RWKV-5/6,RNN,矩阵值注意力状态,数据依赖线性插值,LoRA,多语言分词器)Eagle 和 Finch
  • (3)nginx 配置(nginx.conf)
  • (4)事件处理——(2)在页面加载的时候执行任务(Performing tasks on page load)...
  • (Redis使用系列) Springboot 在redis中使用BloomFilter布隆过滤器机制 六
  • (超简单)构建高可用网络应用:使用Nginx进行负载均衡与健康检查
  • (第8天)保姆级 PL/SQL Developer 安装与配置
  • (二)【Jmeter】专栏实战项目靶场drupal部署
  • (二)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (二刷)代码随想录第16天|104.二叉树的最大深度 559.n叉树的最大深度● 111.二叉树的最小深度● 222.完全二叉树的节点个数
  • (力扣)循环队列的实现与详解(C语言)
  • (五)IO流之ByteArrayInput/OutputStream
  • (原創) 如何安裝Linux版本的Quartus II? (SOC) (Quartus II) (Linux) (RedHat) (VirtualBox)
  • (转)【Hibernate总结系列】使用举例
  • (转)清华学霸演讲稿:永远不要说你已经尽力了