Python综合评价模型(三)秩和比法

秩和比法(Rank Sum Ratio)是基于评价指标矩阵的秩和比(RSR)统计量对评价对象进行综合评价的方法

秩(Rank)是指将一组数据按照大小顺序排列后,每个数据所在的位置

第一步 导入第三方库和案例数据

import numpy as np
import pandas as pd
#按指定路径导入数据,以“地区”为索引(文件路径需按实际情况更换)
data = pd.read_excel(r'C:/Users/AROUS/Desktop/综合评价数据.xlsx', index_col = '地区')
data

第二步 标准化数据

#定义z-score标准化函数
def z_score(x): 
    return (x - x.mean()) / x.std()
#使用z-score标准化函数标准化数据
data_z = data.apply(z_score, 0)
data_z

第三步 编秩

参数method可选’average’、‘min’、‘max’、‘first’、‘dense’,默认为’average’
参数ascending可选’True’(从小到大排序)、‘False’(从大到小排序),默认为’True’

如对50、30、30、20、10从小到大排序:

  • 使用’average’的排名结果为5、3.5、3.5、2、1
  • 使用’min’的排名结果为5、3、3、2、1
  • 使用’max’的排名结果为5、4、4、2、1
  • 使用’first’的排名结果为5、3、4、2、1
  • 使用’dense’的排名结果为4、3、3、2、1
rank = data_z.rank(method = 'average')
rank

第四步 计算秩和比

方式1 计算秩的简单平均(评价指标权重相等)
data['秩和比法得分1'] = rank.mean(axis = 1) / rank.shape[0]
data['秩和比法排名1'] = data.秩和比法得分1.rank(ascending = False).astype(int)
data

方式2 计算秩的加权平均(评价指标权重不等)
#导入评价指标权重
w_list = [0.2, 0.15, 0.15, 0.1, 0.1, 0.1, 0.1, 0.1]
w = pd.DataFrame(w_list, columns=['评价指标权重'])
w
#计算灰色关联系数的加权平均
data['秩和比法得分2'] = rank.values.dot(w.values) / rank.shape[0]
data['秩和比法排名2'] = data.秩和比法得分2.rank(ascending = False).astype(int)
data

第五步 导出综合评价结果

data.to_excel('秩和比法综合评价结果.xlsx', index = True)

下期预告: P y t h o n 综合评价模型(四)主成分分析法 \textcolor{RoyalBlue}{下期预告 : Python综合评价模型(四)主成分分析法} 下期预告:Python综合评价模型(四)主成分分析法

关注公众号“ T r i H u b 数研社”发送“ 230226 ”获取案例数据和代码 \textcolor{RoyalBlue}{关注公众号“TriHub数研社”发送“230226”获取案例数据和代码} 关注公众号TriHub数研社发送“230226”获取案例数据和代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值