数学建模常用模型(四):灰色关联分析法

news2024/11/25 22:25:35

数学建模常用模型(四):灰色关联分析法

灰色关联分析法(Grey Relational Analysis,GRA)是一种用于多指标决策评价的方法,由灰色系统理论发展而来。它用于分析和评价多个指标之间的相关性和影响程度,帮助决策者进行综合评价和决策。
这是我自己总结的一些代码和资料(本文中的代码以及参考书籍等),放在github上供大家参考:https://github.com/HuaandQi/Mathematical-modeling.git

1.灰色关联分析法的基本步骤如下:

  1. 数据标准化:将原始指标数据进行标准化,使得数据在相同范围内,并消除因量纲不同而引起的影响。

  2. 构建关联度矩阵:根据标准化后的数据,计算各个指标之间的关联度。关联度矩阵反映了各个指标之间的相似程度。

  3. 确定关联度函数:根据问题的特点和需求,选择合适的关联度函数来计算指标之间的关联度。常用的关联度函数包括线性关联度函数、指数关联度函数等。

  4. 计算关联度系数:根据关联度函数,计算出各个指标与目标指标之间的关联度系数。关联度系数越大,表示指标与目标指标之间的关联程度越高。

  5. 综合评价:将各个指标的关联度系数进行加权综合,得到最终的综合评价结果。权重的分配可以根据实际需求和决策者的主观判断来确定。

2.计算公式

计算灰色关联系数:
请添加图片描述
计算灰色加权关联度,计算公式为:
请添加图片描述
其中ri就是第i个指标对理想对象(参考数列,一般该数列都是1,就是最有情况)的加权关联度。就可以认为是评价的结果。

3.程序实例

通过对某健将级女子铅球运动员的跟踪调查,获得其 1982年至1986年每年最好成绩及16项专项素质和身体素质的时间序列资料,试对此铅球运动员的专项成绩进行因素分析。

import pandas as pd
import numpy as np
from factor_analyzer import FactorAnalyzer

# 创建数据框
data = pd.DataFrame({
    'Year': [1982, 1983, 1984, 1985, 1986],
    'Specialty_Score': [80, 85, 78, 90, 87],
    'Quality1': [3.5, 4.2, 3.8, 4.0, 3.9],
    'Quality2': [2.5, 2.8, 3.2, 2.9, 3.1],
    'Quality3': [4.8, 4.5, 4.7, 4.9, 4.6],
    'Physical1': [8, 8.5, 9, 8.2, 8.6],
    'Physical2': [6.5, 6.7, 6.9, 7.2, 7.0],
    'Physical3': [9.5, 9.2, 9.8, 9.4, 9.6]
})

# 提取因素分析所需的数据
factor_data = data.iloc[:, 2:]

# 创建因素分析对象
fa = FactorAnalyzer(n_factors=3, rotation='varimax')

# 执行因素分析
fa.fit(factor_data)

# 获取因子载荷矩阵
loadings = fa.loadings_

# 打印因子载荷矩阵
print("因子载荷矩阵:")
print(loadings)

在这个示例中,我们创建了一个包含专项成绩和素质的数据框。然后,我们使用FactorAnalyzer类创建了一个因素分析对象,并使用fit方法对数据进行因素分析。我们设置了3个因子,并选择了旋转方法为varimax。最后,我们获取并打印因子载荷矩阵,它显示了每个指标与每个因子之间的相关性。

4.运行结果

因子载荷矩阵:
[[ 0.19683026 -0.94019786  0.27004129]
 [ 0.89526287 -0.06774054  0.44116648]
 [-0.45872014  0.57584204  0.51864933]
 [ 0.97239538 -0.09571545  0.00547983]
 [ 0.26233715 -0.14818179  0.95437284]
 [ 0.63675259  0.76214372  0.11820335]]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/724783.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Python】矩阵乘法3种实现方案

结论: 1、 符在numpy里就是矩阵乘法的意思,也是dot()的意思。 2、用这个 运算符可以不用再使用matmult方法 3、一般来说, 比.dot()方法要慢一点点。dot是numpy里的函数,主要用于求向量相乘,矩阵乘法,矩…

vue通过mixins混入实现所有大屏适配,摆脱因适配引起的头痛(模版就是设计稿->全程就是px)

vue通过mixins混入实现所有大屏适配 市场上屏幕种类繁多,自己开发MAC的版本显示器1440900与另一个显示屏的全屏状态下是19201080,如何让自己的web项目,在不同的宽高比下依旧体现出高优越的观感体验。。。。 rem响应式单位:好用但是设计稿不…

ChatLaw:中文法律大模型

论文题目:ChatLaw: Open-Source Legal Large Language Model with Integrated External Knowledge Bases   论文日期:2023/06/28   官网地址:https://www.chatlaw.cloud   论文地址:https://arxiv.org/abs/2306.16092   G…

【Ubuntu】Ubuntu制作Ubuntu Server系统盘

要制作 Ubuntu Server 系统盘,你可以按照以下步骤在 Ubuntu 系统上进行操作: 下载 Ubuntu Server ISO 镜像文件: 访问 Ubuntu 官方网站的下载页面:Get Ubuntu Server | Download | UbuntuGet Ubuntu Server one of three ways; by…

数据库操作

数据库操作作业 1.创建数据库,删除数据库,查询创建数据的语句,使用数据库,查询当前默认的数据库以及使用的编码方式校验规则 创建数据库 CREATE DATABASE 数据库名称 CHARACTER SET 字符集 COLLATE 校验规则; create database…

操作系统实战45讲|01程序的运行过程、02几行汇编几行C

配置环境遇到的问题 virtualBox实现windows和Ubuntu之间的复制粘贴 1.修改设置,设置共享粘贴板为双向 或者在运行的虚拟机的窗口中进行设置 2.安装virtualbox增强功能 (1)直接联网安装 设备----安装增强功能 3.补充 windows中终端和文档复制的快捷键为ctrlc&…

flashplayer timeout 15s

Error: Error #1502: 脚本的执行时间已经超过了 15 秒的默认超时设置。at mx.core::Container/http://www.adobe.com/2006/flex/mx/internal::getScrollableRect()[C:\autobuild\3.2.0\frameworks\projects\framework\src\mx\core\Container.as:4209]at mx.core::Container/cre…

自然语言处理:了解循环神经网络RNN及其变种长短期记忆网络(LSTM)、门控循环单元(GRU)、双向RNN

文章目录 一、RNN二、GRU三、LSTM四、GRU vs LSTM五、双向RNN 一、RNN 递归神经网络(Recurrent Neural Network,RNN)是一种具有时间序列依赖性的人工神经网络结构。其主要原理是在传统神经网络的基础上引入了循环连接,允许信息在…

基于51单片机温湿度-烟雾-一氧化碳-蓝牙-风扇的设计与实现

功能介绍 以51单片机作为主控系统;LCD1602液晶显示屏来显示显示测得的值;一氧化碳感应一氧化碳的数值;通过烟雾传感器获取前的烟雾值;通过DHT11温湿度传感器来获取当前的温湿度;当温度或烟雾高于阈值打开风扇&#xff…

折叠屏手机再添新功能?OPPOColorOS14发布,打通 App 和终端互联

近年来,多终端互联互通已经成为数码产品的发展趋势,各家手机品牌也在不断提升相关功能。 根据数码博主 数码闲聊站的爆料,OPPO即将发布ColorOS 14,并特别提供了针对折叠屏手机的Fold系统。该系统在横屏模式下对自带应用进行了更好…

工程项目综合管理系统拥有哪些功能,你真的了解吗?

在建筑工程行业中,项目的管理是一项复杂而又关键的任务。为了提高项目管理的效率和准确性,许多企业开始采用信息化系统进行精细化管理。因此,建立一套完善的工程项目管理系统,成为了建筑工程管理的必要条件之一。这种系统结合了工…

pytest+yaml实现接口自动化框架

目录 前言 项目结构设计 yaml格式的用例 运行用例 总结: 前言 httprunner 用 yaml 文件实现接口自动化框架很好用,最近在看 pytest 框架,于是参考 httprunner的用例格式,写了一个差不多的 pytest 版的简易框架 项目结构设计…

【PowerDesigner】数据库建模工具记录

导入格式 最终效果 执行语句 工具(tool) -> 其他记录 执行脚本 快捷键:CtrlShiftX 工具(tool) -》Execute Commands -》 Edit/Run Script 导入脚本 快捷键:Ctrl R 数据库-》Update Model from Database 显示首选项 ODBC 数据源管理程序 Powerd…

Istio 流量管理 serviceEntry 出口流量管理

无论是vs还是dr这些都是入口的流量。对于pod来说也会有出去的流量的。 除了对进来的流量做有效的控制之外,其实也可以控制出去的流量。istio-egress是出口网关,pod出去的时候要经过egress-gateway到达外界的某个终端。 hosts: - www.baidu.com 这个是p…

腾讯云对象存储联合DataBend云数仓打通数据湖和数据仓库

随着数字化进程不断深入,数据呈大规模、多样性的爆发式增长。为满足更多样、更复杂的业务数据处理分析的诉求,湖仓一体应运而生。在Gartner发布的《Hype Cycle for Data Management 2021》中,湖仓一体(Lake house)首次…

Linux之CentOS_7.9卸载MySQL_5.7全过程实操手册

前言:接以上,前面记录了Windows和Linux环境的MySQL部署,那我们既然都部署完成验证测试那就来个卸载记录吧,便于闭环收尾。 环境: 1、CentOS-7.9-x86_64-DVD-2009.iso 2、MySQL-5.7.42-linux-glibc2.12-x86_641、关闭…

软件测试工程师生存手册

以前做传统行业时,从来没担忧过自己会因为什么事被干掉,因为觉得自己工资低。培训转行跳到IT互联网公司后,这种担忧从未消失过。 互联网公司发展迭代非常迅速。今天通过切身的感受来聊一聊,作为一名测试工程师,如何才能…

OutOfMemoryError: unable to create new native thread.

在java应用中,有时候会出现这样的错误:OutOfMemoryError: unable to create new native thread.现象1. 这种怪事是因为JVM已经被系统分配了大量的内存(比如1.5G),并且它至少要占用可用内存的一半;2. 在线程个数很多的情况下&#…

电脑便签怎么嵌入桌面使其不可移动呢?

很多人在使用电脑便签的时候,为了更方便地查看和记录事情,经常会有一种需求:将电脑便签固定在桌面底层,也就是嵌入桌面,并且让他不可移动。要想实现这种效果的话,应该如何设置才可以呢?以Window…

kettle/spoon工具的表输入/输出组件更新数据很慢

看了很多关于表输出速度慢的博客感觉有两条对我有作用。 我的问题是表输出(insert)速度很快,但是插入/更新组件的速度特别忙。 表输出速度慢 mysql表输出的时候出现减速的原因可能是因为网络链接的属性设置 在数据库连接里添加参数&#xf…