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

数学建模(灰色关联度 python代码 案例)

目录

介绍:

模板:

案例:哪些原因影响结婚率

 数据标准化:

灰色关联度系数:

完整代码:

结果: 

介绍:

灰色关联度是一种多指标综合评价方法,用于分析和评价不同指标之间的关联程度。它可以用于确定多个因素之间的相关性,以及它们对某个问题或现象的影响程度。

灰色关联度根据数据的相对大小和发展趋势,将指标划分为灰色数列,然后通过计算各指标之间的相对关联度来确定其关联程度。

灰色关联度的计算过程包括以下几个步骤:
1. 数据标准化:将各指标的原始数据进行标准化处理,将其转化为无量纲的数据。
2. 累积生成:将各指标数据按照一定顺序进行累积生成,得到灰色数列。
3. 关联系数计算:计算各指标与问题或现象之间的关联度,得到关联系数。
4. 排序和评价:根据关联系数对指标进行排序,评价其对问题或现象的影响程度。

通过灰色关联度分析,可以帮助人们理解指标之间的关系,并进一步确定影响问题或现象的主要因素。这种方法常用于战略决策、经济发展、工程管理等领域,具有较高的应用价值。

模板:

import numpy as npdef gray_relation_coefficient(x, y):'''计算两个序列的灰色关联度参数:x: 序列x(一维数组)y: 序列y(一维数组)返回值:关联度值(float)'''n = len(x)# 数据标准化x_mean = np.mean(x)y_mean = np.mean(y)x_std = np.std(x)y_std = np.std(y)x_normalized = (x - x_mean) / x_stdy_normalized = (y - y_mean) / y_std# 构造灰色数列x_cumulative = np.cumsum(x_normalized)y_cumulative = np.cumsum(y_normalized)# 计算关联系数d = np.abs(x_cumulative - y_cumulative)delta = np.max(d)rho = 0.5relation_coefficient = (rho * delta + 1) / (d + rho * delta + 1)return relation_coefficient# 测试示例
x = np.array([1, 2, 3, 4, 5])
y = np.array([2, 5, 7, 9, 11])relation_coefficient = gray_relation_coefficient(x, y)
print("关联度值:", relation_coefficient)

案例:哪些原因影响结婚率

 数据标准化:

def normalization(data1):[m, n] = data1.shape  # 得到行数和列数data2 = data1.astype('float')data3 = data2ymin = 0.001ymax = 1for j in range(0, n):d_max = max(data2[:, j])d_min = min(data2[:, j])data3[:, j] = (ymax - ymin) * (data2[:, j] - d_min) / (d_max - d_min) + ymin#print(data3)return data3

灰色关联度系数:

 

 

def Score(data):# 得到其他列和参考列相等的绝对值data3=data[n, m] = data3.shape#print(n)for i in range(1, m):data3[:, i] = np.abs(data3[:, i] - data3[:, 0])# 得到绝对值矩阵的全局最大值和最小值data4 = data3[:, 1:m]d_max = np.max(data4)d_min = np.min(data4)a = 0.5  # 定义分辨系数# 计算灰色关联矩阵data4 = (d_min + a * d_max) / (data4 + a * d_max)score = np.mean(data4, axis=0)return score

 完整代码:

# coding=gbk
import pandas as pd
import numpy as np
def normalization(data1):[m, n] = data1.shape  # 得到行数和列数data2 = data1.astype('float')data3 = data2ymin = 0ymax = 1for j in range(0, n):d_max = max(data2[:, j])d_min = min(data2[:, j])data3[:, j] = (ymax - ymin) * (data2[:, j] - d_min) / (d_max - d_min) + ymin#print(data3)return data3def Score(data):# 得到其他列和参考列相等的绝对值data3=data[n, m] = data3.shape#print(n)for i in range(1, m):data3[:, i] = np.abs(data3[:, i] - data3[:, 0])# 得到绝对值矩阵的全局最大值和最小值data4 = data3[:, 1:m]d_max = np.max(data4)d_min = np.min(data4)a = 0.5  # 定义分辨系数# 计算灰色关联矩阵data4 = (d_min + a * d_max) / (data4 + a * d_max)print("灰色关联矩阵:")print(data4)score = np.mean(data4, axis=0)return scoreif __name__ == '__main__':# 导入数据data = pd.read_excel('D:\\桌面\\建模\\6\\代码\\marry.xlsx')# print(data)# 提取变量名label_need = data.keys()[1:]# print(label_need)# 提取上面变量名下的数据data1 = data[label_need].values#print(data1)data3=normalization(data1)#标准化scores=Score(data3)#算灰色关联度[m, n] = data1.shape  # 得到行数和列数#print(data)print()for i in range(1, n):print(label_need[0], "与", label_need[i], "的灰色关联度", scores[i - 1])

结果: 

相关文章:

数学建模(灰色关联度 python代码 案例)

目录 介绍: 模板: 案例:哪些原因影响结婚率 数据标准化: 灰色关联度系数: 完整代码: 结果: 介绍: 灰色关联度是一种多指标综合评价方法,用于分析和评价不同指标之…...

【DP】第十四届蓝桥杯省赛C++ B组《接龙数列》(C++)

【题目描述】 对于一个长度为 K 的整数数列:A1,A2,...,AK,我们称之为接龙数列当且仅当 的首位数字恰好等于 的末位数字 (2≤i≤K)。 例如 12,23,35,56,61,11 是接龙数列;12,23,34,56 不是接龙数列,因为 56 的首位数字不等于 3…...

文件包含漏洞(input、filter、zip)

一、PHP://INPUT php://input可以访问请求的原始数据的只读流,将post请求的数据当作php代码执行。当传入的参数作为文件名打开时,可以将参数设为php://input,同时post想设置的文件内容,php执行时会将post内容当作文件内容。从而导致任意代码…...

使用iconv解决Linux/Ubuntu/Debian中gb2312中文文档乱码问题

你可以使用 iconv 命令行工具将文件中的文本从 GB2312 转换为 UTF-8。 你可以这样做: iconv -f GB2312 -t UTF-8 input.txt > output.txt将 input.txt 替换为以 GB2312 编码的输入文件的名称,将 output.txt 替换为你想要的 UTF-8 格式转换文件的名称。…...

图论中的最小生成树:Kruskal与Prim算法深入解析

🎬慕斯主页:修仙—别有洞天 ♈️今日夜电波:アンビバレント—Uru 0:24━━━━━━️💟──────── 4:02 🔄 ◀️ ⏸ ▶️ ☰ …...

uniapp 之 实现商品详情的锚点跳转(类似京东商品详情-点击顶部按钮跳转的对应的页面的内容区域)

类似京东商品详情-点击顶部详情跳转到页面对应的详情区域,点击评价跳转到页面对应的评价区域等。 照例,先封装方法: 封装方法 util.js /*** 锚点跳转(如:商品详情页面跳转)* param {string} targetId 目…...

PPT好看配色

放几个链接!画图时候可以参考!转自知乎 Color Hunt ColorDrop 中国色 Flat UI Colors Coolors...

微信小程序执行环境(微信端)与浏览器环境有何不同

微信小程序执行环境与浏览器环境有很多不同之处,以下是一些例子: 全局对象: 浏览器环境中的 JavaScript 有一个全局对象 window,而微信小程序中的 JavaScript 没有 window 对象,取而代之的是 wx 对象,wx …...

Java小项目--满汉楼

Java小项目–满汉楼 项目需求 项目实现 1.实现对工具包的编写 先创建libs包完成对jar包的拷贝和添加入库 德鲁伊工具包 package com.wantian.mhl.utils;import com.alibaba.druid.pool.DruidDataSourceFactory;import javax.sql.DataSource; import java.io.FileInputStream…...

微信怎样群发更高效?

群发是指通过微信平台对特定受众进行大规模信息发布的过程,如节日祝福、活动促销等。随着科技的不断发展,群发的定义已不再仅限于手机信息群发或短信群发。如今,微信内置的群发功能也被广泛应用。 一、微信群发的操作步骤 1. 进入微信&…...

javaSwing愤怒的小鸟

一、简介 游戏名称是“愤怒的小鸟”,英文称为“AngryBird”。 “愤怒的小鸟”是著名游戏公司Rovio偶然间开发出来的益智游戏,从2009年12月上市到iOS。,讲述了鸟类和猪因为猪偷鸟蛋反生的一系列故事。游戏的类型版本是横向版本的水平视角&…...

10 开源鸿蒙中芯片与开发板对应的源码(硬件相关的部分)

开源鸿蒙中芯片与开发板对应的源码(硬件相关的部分) 作者将狼才鲸日期2024-03-20 开源鸿蒙通过芯片仓存放指定芯片和指定开发板的代码,硬件相关的代码和纯逻辑代码是分开存放的 源码模块的组织结构在manifest这个Git仓库,这也是拉…...

qt5-入门-标签页部件QTabWidget-1

参考: C GUI Programming with Qt 4, Second Edition 本地环境: win10专业版,64位,Qt5.12 目录 效果实现Qt Designer操作代码addStretch()解释 效果 首页有三个按钮和最近文件列表。 拖动窗口,按钮和文件列表仍然处…...

GOPS全球运维大会2024深圳站亮点抢先看!

2024年4月25-26日,博睿数据将受邀出席第二十二届 GOPS 全球运维大会深圳站。本次大会上,博睿数据AIOps首席专家兼产品总监贺安辉将亮相AIOps最佳实践及解决方案专场,分享《一体化智能可观测平台的两翼:数据模型AI算法》的主题演讲…...

给wordpress添加自定义字段的分类筛选功能

要为WordPress添加自定义字段的筛选功能,你需要使用WordPress的查询参数(query parameters)和WP_Query类来构建自定义查询。以下是一个详细的示例代码,展示了如何添加自定义字段的筛选功能。 首先,你需要在你的主题或插件的functions.php文件…...

Android 系统的启动过程

Android 系统的启动流程: RomBoot(只读存储器引导程序):这是设备上电时运行的初始软件。RomBoot执行基本的硬件初始化,确保硬件处于可以运行后续启动阶段的状态。这一阶段非常重要,因为它为整个启动过程奠定…...

jenkins配置源码管理的git地址时,怎么使用不了 credential凭证信息

前提 Jenkins使用docker部署 问题 (在jenlins中设置凭证的方式)在Jenkins的任务重配置Git地址,并且设置了git凭证,但是验证不通过,报错; 无法连接仓库:Command "git ls-remote -h -- http://192.1XX.0.98:X02/…...

Emotion Prompt-LLM能够理解并能通过情感刺激得以增强

Large Language Models Understand and Can be Enhanced by Emotional Stimuli 情感智能对我们的日常行为和互动产生了显著的影响。尽管大型语言模型(LLMs)被视为向人工通用智能迈进的一大步,在许多任务中表现出色,但目前尚不清楚…...

流畅的 Python 第二版(GPT 重译)(十三)

第二十四章:类元编程 每个人都知道调试比一开始编写程序要困难两倍。所以如果你在编写时尽可能聪明,那么你将如何调试呢? Brian W. Kernighan 和 P. J. Plauger,《编程风格的要素》 类元编程是在运行时创建或自定义类的艺术。在 P…...

C/C++炸弹人游戏

参考书籍《啊哈,算法》,很有意思的一本算法书,小白也可以看懂,详细见书,这里只提供代码和运行结果。 这里用到的是枚举思想,还有更好地搜索做法。 如果大家有看不懂的地方或提出建议,欢迎评论区…...

进程地址空间(比特课总结)

一、进程地址空间 1. 环境变量 1 )⽤户级环境变量与系统级环境变量 全局属性:环境变量具有全局属性,会被⼦进程继承。例如当bash启动⼦进程时,环 境变量会⾃动传递给⼦进程。 本地变量限制:本地变量只在当前进程(ba…...

【第二十一章 SDIO接口(SDIO)】

第二十一章 SDIO接口 目录 第二十一章 SDIO接口(SDIO) 1 SDIO 主要功能 2 SDIO 总线拓扑 3 SDIO 功能描述 3.1 SDIO 适配器 3.2 SDIOAHB 接口 4 卡功能描述 4.1 卡识别模式 4.2 卡复位 4.3 操作电压范围确认 4.4 卡识别过程 4.5 写数据块 4.6 读数据块 4.7 数据流…...

SpringBoot+uniapp 的 Champion 俱乐部微信小程序设计与实现,论文初版实现

摘要 本论文旨在设计并实现基于 SpringBoot 和 uniapp 的 Champion 俱乐部微信小程序,以满足俱乐部线上活动推广、会员管理、社交互动等需求。通过 SpringBoot 搭建后端服务,提供稳定高效的数据处理与业务逻辑支持;利用 uniapp 实现跨平台前…...

Typeerror: cannot read properties of undefined (reading ‘XXX‘)

最近需要在离线机器上运行软件,所以得把软件用docker打包起来,大部分功能都没问题,出了一个奇怪的事情。同样的代码,在本机上用vscode可以运行起来,但是打包之后在docker里出现了问题。使用的是dialog组件,…...

pikachu靶场通关笔记19 SQL注入02-字符型注入(GET)

目录 一、SQL注入 二、字符型SQL注入 三、字符型注入与数字型注入 四、源码分析 五、渗透实战 1、渗透准备 2、SQL注入探测 (1)输入单引号 (2)万能注入语句 3、获取回显列orderby 4、获取数据库名database 5、获取表名…...

抽象类和接口(全)

一、抽象类 1.概念:如果⼀个类中没有包含⾜够的信息来描绘⼀个具体的对象,这样的类就是抽象类。 像是没有实际⼯作的⽅法,我们可以把它设计成⼀个抽象⽅法,包含抽象⽅法的类我们称为抽象类。 2.语法 在Java中,⼀个类如果被 abs…...

沙箱虚拟化技术虚拟机容器之间的关系详解

问题 沙箱、虚拟化、容器三者分开一一介绍的话我知道他们各自都是什么东西,但是如果把三者放在一起,它们之间到底什么关系?又有什么联系呢?我不是很明白!!! 就比如说: 沙箱&#…...

从零开始了解数据采集(二十八)——制造业数字孪生

近年来,我国的工业领域正经历一场前所未有的数字化变革,从“双碳目标”到工业互联网平台的推广,国家政策和市场需求共同推动了制造业的升级。在这场变革中,数字孪生技术成为备受关注的关键工具,它不仅让企业“看见”设…...

游戏开发中常见的战斗数值英文缩写对照表

游戏开发中常见的战斗数值英文缩写对照表 基础属性(Basic Attributes) 缩写英文全称中文释义常见使用场景HPHit Points / Health Points生命值角色生存状态MPMana Points / Magic Points魔法值技能释放资源SPStamina Points体力值动作消耗资源APAction…...

【阅读笔记】MemOS: 大语言模型内存增强生成操作系统

核心速览 研究背景 ​​研究问题​​:这篇文章要解决的问题是当前大型语言模型(LLMs)在处理内存方面的局限性。LLMs虽然在语言感知和生成方面表现出色,但缺乏统一的、结构化的内存架构。现有的方法如检索增强生成(RA…...