Python-006-灰色关联分析法
Python-006-灰色关联分析法-2020-7-14
参考
https://blog.csdn.net/starter_____/article/details/82085040
https://blog.csdn.net/weixin_43725886/article/details/102321646
https://blog.csdn.net/FontThrone/article/details/80607794
因为没解释,所以有些人可能不懂
目录
- 一、效果
- 二、代码
- 三、分析、解释结果
- 四、拓展(通过文件导入数据)
一、效果
二、代码
import pandas as pd
x = pd.DataFrame([[1988,2061,2335,2750,3356,3806],[386,408,422,482,511,561], [839,846,960,1258,1577,1893], [763,808,953,1010,1268,1352]])# 1、数据均值化处理
x_mean=x.mean(axis=1)
for i in range(x.index.size):x.iloc[i,:] = x.iloc[i,:]/x_mean[i]
print(x)
# 2、提取参考队列和比较队列
ck=x.iloc[0,:]
cp=x.iloc[1:,:]
print(cp)
# 比较队列与参考队列相减
t=pd.DataFrame()
for j in range(cp.index.size):temp=pd.Series(cp.iloc[j,:]-ck)t=t.append(temp,ignore_index=True)#求最大差和最小差
mmax=t.abs().max().max()
mmin=t.abs().min().min()
print('mmax',mmax)
print('mmin',mmin)
rho=0.5
#3、求关联系数
ksi=((mmin+rho*mmax)/(abs(t)+rho*mmax))
print(ksi)#4、求关联度
r=ksi.sum(axis=1)/ksi.columns.size#5、关联度排序,得到结果r3>r2>r1
result=r.sort_values(ascending=False)
print('result')
print(result)
三、分析、解释结果
①题目可以去看https://blog.csdn.net/starter_____/article/details/82085040
②根据原博客实例结果
来自https://blog.csdn.net/starter_____/article/details/82085040
可以看到
r1是第一产业0.5088
r2是第二产业0.6248
r3是第三产业0.7577
和我们结果
,之间的差异在于精度确度的原因。
③原因:
上面是原博客实例中步骤三的计算结果
我们对比看看python计算结果
横竖摆放颠倒了一下,我们可以发现精确度高了两位所以。
四、拓展(通过文件导入数据)
import pandas as pd
import numpy as np
x=pd.read_excel('e:\\桌面\\2020数学建模校赛赛题\\huise.xlsx')
print(x)
# 1、数据均值化处理
x_mean=x.mean(axis=1)
for i in range(x.index.size):x.iloc[i,:] = x.iloc[i,:]/x_mean[i]# x.iloc[i,:] = x.iloc[i,:]/x_mean[i]# 2、提取参考队列和比较队列
ck=x.iloc[0,:]
cp=x.iloc[1:,:]# 比较队列与参考队列相减
t=pd.DataFrame()
for j in range(cp.index.size):temp=pd.Series(cp.iloc[j,:]-ck)t=t.append(temp,ignore_index=True)#求最大差和最小差
mmax=t.abs().max().max()
mmin=t.abs().min().min()
rho=0.5#3、求关联系数
ksi=((mmin+rho*mmax)/(abs(t)+rho*mmax))#4、求关联度
r=ksi.sum(axis=1)/ksi.columns.size#5、关联度排序,得到结果r3>r2>r1
result=r.sort_values(ascending=False)
print(result)
huise.xlsx下载地址:https://duolc.lanzous.com/iwNFneltwne
第一行空着
第二行是母序列
第三行、下面几行都是子序列
结果:
Python-006-灰色关联分析法相关推荐
- 灰色关联分析法详解及python实践
1. 关于灰色关联分析 1.1. 什么是灰色关联分析 灰色关联分析是指对一个系统发展变化态势的定量描述和比较的方法,其基本思想是通过确定参考数据列和若干个比较数据列的几何形状相似程度来判断其联系是否紧 ...
- python 灰色关联分析法(GRA)求权重
我遇到的问题: 假设现在有p个指标,g个参评单位.已经告诉你这g个参评单位在p个指标上的得分分别为多少,那么如何确定这p个指标的权重应该为多少? 原理 1.构成矩阵如下: 2.首先对矩阵做行均值化处理 ...
- Python实现 灰色关联分析 与结果可视化
之前在比赛的时候需要用Python实现灰色关联分析,从网上搜了下只有实现两个列之间的,于是我把它改写成了直接像Pandas中的计算工具直接计算person系数那样的形式,可以对整个矩阵进行运算,并给出 ...
- 灰色关联分析法 (附代码)
可参考司守奎<数学建模算法与应用>P384,概念+例题+代码 ------------------------------ 文章目录 1.概述 2.代码复现 3.Python实现+可视化 ...
- 数学建模常用模型04:灰色关联分析法
数学建模常用模型04:灰色关联分析法 灰色关联分析法 本文所用的资料参考来源:美赛资料网:美赛资料网 与灰色预测模型一样,比赛不能优先使用,灰色关联往往可以与层次分析结合使用.层次分析用在确定权重上面 ...
- R语言灰色关联分析法
R语言灰色关联分析法 输入数据 数据的标准化/归一化 求灰色系数 求差序列和最大值最小值 求关联系数 计算关联度并排序 所有代码 灰色关联度分析(Grey Relation Analysis,GRA) ...
- 灰色关联分析法(GRA)-C++实现
目录 1. 前言 2. 理论基础 3. 代码 1. 前言 最近小白在跟进一个项目,其中运用到了灰色关联分析法用来分析样本数据.同时在阅读了一些原理资料后,设计了一个模块化的C++程序(其实也不算模块化 ...
- 数学建模常用算法—灰色关联分析法(GRA)
解决问题 灰色关联分析的基本思想是根据序列曲线几何形状的相似程度来判断其联系是否紧密.曲线越接近,相应序列之间的关联度就越大,反之就越小. 一般的抽象系统,如社会系统.经济系统.农业系统.生态系统.教 ...
- 如何利用python实现灰色关联分析?
1.灰色关联分析简介 灰色系统这个概念是相对于白色系统和黑色系统而言的.从控制论的知识里,颜色一般代表对于一个系统我们已知信息的多少,白色代表信息量充足,黑色代表我们其中的构造并不清楚的系统,而灰色介 ...
- 数学建模:评价性模型学习——灰色关联分析法(GRA模型)
目录 前言 一.灰色关联分析 1.什么是灰色关联分析? 2.流程介绍 二.综合评价 1.数据无量纲化处理 2.确定参考序列 3.确定权重 4.计算灰色关联系数 5.计算灰色加权关联度 6.代码 总结 ...
最新文章
- 服务器产品选型与性价比图解
- Oracle使用技巧----sqlplus Set常用设置
- Linux数据报文接收发送总结3
- 操作系统(十六)调度算法(一)
- 计算机网络全部实验,计算机网络综合实验
- 请描述定时器初值的计算方式_单片机C语言编程中定时器初值计算的两种方法...
- c 用户控件 多语言,多语言文本控件重叠解决方案
- CentOS部署Harbor镜像仓库(1),java技术栈自我理解面试题通俗解说
- C语言 pthread_exit
- HTML与css语法笔记
- Mybatis分页插件PageHelper查询ORACLE数据库示例
- Python编程从入门到实践(第二版)day1
- 抖音开屏广告和信息流广告相比较哪一种效果更好?
- 简单的动漫网页成品 HTML+CSS静态网页作业 DW动漫网页设计与制作素材成品代做 海贼王主题网页设计制作6个页面
- [CF850E]Random Elections
- Windows Snapshot Grabber 2020中文版
- vscode win10笔记本 蓝屏_win10蓝屏错误代码大全详解
- 使用Audacity对清浊音进行频谱分析
- 【Linux | 系统编程】Linux系统编程(文件、进程线程、进程间通信)
- ZeroC Ice 暂记