python画图灰白_python实现灰色关联

灰色关联分析(Grey Relational Analysis, GRA)

通常可以运用此方法来分析各个因素对于结果的影响程度,也可以运用此方法解决随时间变化的综合评价类问题,其核心是按照一定规则确立随时间变化的母序列,把各个评估对象随时间的变化作为子序列,求各个子序列与母序列的相关程度,依照相关性大小得出结论。

此方法通过对动态过程发展态势的量化分析,完成对系统内时间序列有关统计数据几何关系的比较,求出参考数列与各比较数列之间的灰色关联度。与参考数列关联度越大的比较数列,其发展方向和速率与参考数列越接近,与参考数列的关系越紧密。

灰色关联分析方法要求样本容量可以少到4个,对数据无规律同样适用,不会出现量化结果与定性分析结果不符的情况。其基本思想是将评价指标原始观测数进行无量纲化处理,计算关联系数、关联度以及根据关联度的大小对待评指标进行排序。

灰色关联度的应用涉及社会科学和自然科学的各个领域,尤其在社会经济领域,如国民经济各部门投资收益、区域经济优势分析、产业结构调整等方面,都取得较好的应用效果。

(1)原始数据见下图。

7f9325551348

Paste_Image.png

(2)python处理代码。

# -*- coding: utf-8 -*-

import pandas as pd

from numpy import *

gray=pd.read_excel("d:/Gray2.xlsx")

#读取为df格式

gray=(gray - gray.min()) / (gray.max() - gray.min())

#标准化

std=gray.iloc[:,0]#为标准要素

ce=gray.iloc[:,1:]#为比较要素

n=ce.shape[0]

m=ce.shape[1]#计算行列

#与标准要素比较,相减

a=zeros([m,n])

for i in range(m):

for j in range(n):

a[i,j]=abs(ce.iloc[j,i]-std[j])

#取出矩阵中最大值与最小值

c=amax(a)

d=amin(a)

#计算值

result=zeros([m,n])

for i in range(m):

for j in range(n):

result[i,j]=(d+0.5*c)/(a[i,j]+0.5*c)

#求均值,得到灰色关联值

result2=zeros(m)

for i in range(m):

result2[i]=mean(result[i,:])

RT=pd.DataFrame(result2)

RT.to_csv("D:/2.csv")

(3)输出结果到csv。

7f9325551348

Paste_Image.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值