当前位置:   article > 正文

Python进行灰色关联度综合评价_灰色关联分析评价模型python

灰色关联分析评价模型python

概念介绍

在运用代码进行综合评价之前,首先对方法的理论进行介绍,具体如下图。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
根据上述步骤,使用Python进行编写,具体如下。

第一步,读取数据,设置城市名称为索引
import pandas as pd #导入pandas工具包
import numpy as np #导入numpy工具包 
data = pd.read_excel("F:\Desktop\Python运行文件.xlsx")
# 设置 地区 为索引
data.set_index(['地区'], inplace=True)

data[:5]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

在这里插入图片描述

第二步,无量纲化指标
# 获取列名称
n = list(data.columns)

# 这里采用均值化法
for i in n:
    data[i] = data[i]/np.average(data[i])
data[:5]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

在这里插入图片描述

第三步,设置参考数列
# 这里以最优值为参考数列
A1 = []
# 获取最优列值
for i in n:
    Max = np.max(data[i])
    A1.append(Max)
    
# 转换形式    
A1 = np.array(A1)
A1
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

在这里插入图片描述

第四步,计算评价对象指标序列与参考序列的差值
m = len(data)
for i in range(m):
    data[i:i+1] = abs(data[i:i+1] - A1)
  • 1
  • 2
  • 3
第五步,获得最大值和最小值
# 最大值
MAX = []
# 每个指标的最大值
for i in n:
    l = max(data[i])
    MAX.append(l)

MAX = max(MAX)

# 最小值
MIN = []
# 每个指标的最小值
for i in n:
    l = min(data[i])
    MIN.append(l)

MIN = min(MIN)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
第六步,计算关联系数
# 这里 rho 为0.5,可自行调整
for i in n:
    data[i] = (MIN + 0.5*MAX)/(data[i] + 0.5*MAX)
    
data[:5]
  • 1
  • 2
  • 3
  • 4
  • 5

在这里插入图片描述

第七步,计算关联序(综合得分)
score = []
for i in range(m):
    s = sum(data[i:i+1].values[0])/len(n)
    score.append(s)

data1 = pd.DataFrame(score, index = data.index, columns = ['综合得分'])
data1.index.name = '地区'
# 排序
data1['排序'] = data1.rank(ascending = False)
data1[:5]
# 保存为excel
data1.to_excel("F:\Desktop\综合得分.xlsx")
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/682135
推荐阅读
相关标签
  

闽ICP备14008679号