CRITIC法之python

目录

1.简介

2.原理解析

2.1 指标正向化及标准化

2.2 计算信息承载量

2.3 计算权重和评分

3.实例分析

3.1 读取数据

3.2 指标正向化及标准化

3.3 计算对比度

3.4 矛盾性

3.5 计算信息载量

3.6 计算权重 

3.7 计算得分

完整代码 


1.简介

        CRITIC是Diakoulaki(1995)提出一种评价指标客观赋权方法。该方法在对指标进行权重计算时围绕两个方面进行:对比度和矛盾(冲突)性。

        它的基本思路是确定指标的客观权数以两个基本概念为基础。一是对比度,它表示同一指标各个评价方案取值差距的大小,以标准差的形式来表现,即标准化差的大小表明了在同一指标内各方案的取值差距的大小,标准差越大各方案的取值差距越大。二是评价指标之间的冲突性,指标之间的冲突性是以指标之间的相关性为基础,如两个指标之间具有较强的正相关,说明两个指标冲突性较低。

2.原理解析

2.1 指标正向化及标准化

        设有m个待评对象,n个评价指标,可以构成数据矩阵X=(xij)m*n,设数据矩阵内元素,经过指标正向化处理过后的元素为xij'

  • 若xj为负向指标(越小越优型指标)

  • 若xj为正向指标(越大越优型指标)

2.2 计算信息承载量

  • 对比性

用标准差表示第项指标的对比性

  • 矛盾性

矛盾性反映的是不同指标之间的相关程度,若呈现显著正相关性,则矛盾性数值越小。设指标𝑗与其余指标矛盾性大小为fj

  rij表示指标与指标之间的相关系数,在此使用的是皮尔逊相关系数,此为线性相关系数。

  • 信息承载量

   设指标𝑗与信息承载量为Cj

2.3 计算权重和评分

计算权重

信息承载量越大可认为权重越大

计算得分

3.实例分析

银行资产收益率费用利润率逾期贷款率资产使用自有资本率
中信0.48313.268204.36465.107
光大0.403513.490939.01313.61515.5005
浦发0.897925.77769.05134.8927.5342
招商0.592716.024513.29354.45296.5913

3.1 读取数据

#导入数据
data=pd.read_excel('D:\桌面\CRITIC.xlsx')
print(data)

返回:

去掉变量名和序号:

label_need=data.keys()[1:]
data1=data[label_need].values
print(data1)

返回:

3.2 指标正向化及标准化

查看行数和列数:

data2 = data1
[m,n]=data2.shape
print(m,n)

返回:

 

本实例中逾期贷款率为负向指标数据

因此负向指标标准化

#负向指标标准化
index=[2] #负向指标位置,注意python是从0开始计数,对应位置也要相应减1
for j in index:d_max=max(data1[:,j])d_min=min(data1[:,j])data2[:,j]=(d_max-data1[:,j])/(d_max-d_min)
print(data2)

返回:

在对剩余数据进行正向指标标准化

# 正向指标标准化
#正向指标位置
index_all=np.arange(n)
index=np.delete(index_all,index) 
for j in index:d_max=max(data1[:,j])d_min=min(data1[:,j])data2[:,j]=(data1[:,j]-d_min)/(d_max-d_min)
print(data2)

返回:

3.3 计算对比度

#对比性
the=np.std(data2,axis=0)
print(the)

返回:

3.4 矛盾性

#矛盾性
data3=list(map(list,zip(*data2))) #矩阵转置
r=np.corrcoef(data3)   #求皮尔逊相关系数
f=np.sum(1-r,axis=1)
print(f)

返回:

3.5 计算信息载量

#信息承载量
c=the*f
print(c)

返回:

3.6 计算权重 

#计算权重
w=c/sum(c)
print(w)

返回:

3.7 计算得分

#计算得分
s=np.dot(data2,w)
Score=100*s/max(s) 
for i in range(0,len(Score)):print(f"{data['银行'][i]}银行百分制评分为:{Score[i]}")  

返回:

完整代码 

#完整代码
#导入相关库
import pandas as pd
import numpy as np
#导入数据
data=pd.read_excel('D:\桌面\CRITIC.xlsx')
label_need=data.keys()[1:]
data1=data[label_need].values
#查看行数和列数
data2 = data1
[m,n]=data2.shape
#负向指标标准化
index=[2] #负向指标位置,注意python是从0开始计数,对应位置也要相应减1
for j in index:d_max=max(data1[:,j])d_min=min(data1[:,j])data2[:,j]=(d_max-data1[:,j])/(d_max-d_min)
# 正向指标标准化
#正向指标位置
index_all=np.arange(n)
index=np.delete(index_all,index) 
for j in index:d_max=max(data1[:,j])d_min=min(data1[:,j])data2[:,j]=(data1[:,j]-d_min)/(d_max-d_min)
#对比性
the=np.std(data2,axis=0)
#矛盾性
data3=list(map(list,zip(*data2))) #矩阵转置
r=np.corrcoef(data3)   #求皮尔逊相关系数
f=np.sum(1-r,axis=1)
#信息承载量
c=the*f
#计算权重
w=c/sum(c)
#计算得分
s=np.dot(data2,w)
Score=100*s/max(s) 
for i in range(0,len(Score)):print(f"{data['银行'][i]}银行百分制评分为:{Score[i]}")  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/564897.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java Integer类详解

Integer 类在对象中包装了一个基本类型 int 的值。Integer 类对象包含一个 int 类型的字段。此外,该类提供了多个方法,能在 int 类型和 String 类型之间互相转换,还提供了处理 int 类型时非常有用的其他一些常量和方法。 Integer 类的构造方…

层次分析法之matlab

目录 1.简介 2.算法解析 3.实例分析 3.1 构造矩阵 3.2 查看行数和列数 3.3 求特征向量 3.4 找到最大特征值和最大特征向量 3.5 计算权重 3.6 一致性检验 3.7 计算评分 完整代码 1.简介 一种主观赋权的方法,在数据集比较小,实在不好比较的时候…

css布局方式_收藏!40 个 CSS 布局技巧

简介:CSS是Web开发中不可或缺的一部分,随着Web技术的不断革新,CSS也变得更加强大。CSS的众多属性你知道了多少?具体开发中该使用什么属性才最适合恰当?如今的一些CSS属性可以让我们节约更多的时间。比如在Web布局中&am…

Java Float类详解

Float 类的构造方法 Float 类中的构造方法有以下 3 个。 Float(double value):构造一个新分配的 Float 对象,它表示转换为 float 类型的参数。Float(float value):构造一个新分配的 Float 对象,它表示基本的 float 参数。Float(S…

层次分析法之python

目录 1.简介 2.算法解析 3.实例分析 3.1 构造矩阵 3.2 查看行数和列数 3.3 求特征向量 3.4 找到最大特征值和最大特征向量 3.5 计算权重 3.6 一致性检验 3.7 计算评分 完整代码 1.简介 一种主观赋权的方法,在数据集比较小,实在不好比较的时候…

c++数字金字塔_“资金管理是投资最大的秘密”(超级干货),一生死记“金字塔加仓减仓法”,最安全稳健的操盘法方式!...

仓位控制不是精确的科学。它是保证资金安全、有效规避风险、长期稳定盈利的有效手段,有仓位控制意识和规则是股市交易者在心理和技术上成熟的表现之一,仓位控制是建立在市场和个股短期具有不可预测的特性、尊重市场、保证资金安全的基础上的。对于看好的…

Java Double类详解

Double 类的构造方法 Double 类中的构造方法有如下两个。 Double(double value):构造一个新分配的 Double 对象,它表示转换为 double 类型的参数。Double(String s):构造一个新分配的 Double 对象,它表示 String 参数所指示的 do…

matlab设置工作路径

目录 暂时修改路径 永久修改路径 暂时修改路径 a)直接在页面的路径框里粘贴想进的路径然后 回车 即可 b) 如果只是想暂时将文件夹加入路径,防止函数名字空间污染的话,可采用本方法:用MATLAB运行目标文件夹下任意一个m文件,MATL…

Java System类详解

System 类位于 java.lang 包,代表当前 Java 程序的运行平台,系统级的很多属性和控制方法都放置在该类的内部。由于该类的构造方法是 private 的,所以无法创建该类的对象,也就是无法实例化该类。 System 类提供了一些类变量和类方…

linux入门_linux入门-常用命令的使用

linux入门-常用命令的使用对于命令行的接触,最开始是window下的cmd,比如查看电脑ip地址、进入某一个文件夹、下载npm模块等等window cmdwindow ipconfig对于习惯了window桌面操作系统的用户来说,其实是比较少接触到命令行的,而在l…

MATLAB遇到问题:错误使用eval,未定义与‘struct‘类型的输入参数相对应的函数‘workspacefunc‘

安装好什么也没干,就开始报错,命令行窗口输入什么都是错误 错误使用eval 未定义与’struct’类型的输入参数相对应的函数’workspacefunc’ 解决方法: 在命令行窗口分别输入下面语句,箭头可不是哦,只有加粗部分是 &…

广西壮族自治区直流充电桩说明书下载_鄂州便携式直流充电桩

安徽能通新能源科技有限公司坐落在一座美丽宜居的城市中。在我国东部地区、长江下游、巢湖之滨,横贯连接京台高速、沪蓉高速、沪陕高速、合徐高速、京合高铁、合宁高铁、合福高铁、合武高铁、京九铁路、宁西铁路并与世界有名的自然和文化遗产—黄山风景区毗邻&#…

三大相关性分析之matlab

目录 1.简介 2.Pearson相关系数 算法详解 程序实现 3.Kendall相关系数 算法详解 程序实现 4.Spearman相关系数 算法详解 程序实现 1.简介 相关性分析是指对两个或多个具备相关性的变量元素进行分析,从而衡量两个变量因素的相关密切程度。相关性的元素之…

java反编译工具_Java开发必会的反编译知识(附支持对Lambda进行反编译的工具)...

我之前推送过Java代码的编译与反编译,其中简单的介绍了Java编译与反编译相关的知识,最近给GitChat写《深入分析Java语法糖》的时候,又用到了很多反编译相关的知识,遂发现哪篇文章已有些过时。于是,这篇文章就这样呈现在…

Java不规则数组

多维数组被解释为是数组的数组,所以因此会衍生出一种不规则数组。 规则的 43 二维数组有 12 个元素,而不规则数组就不一定了。如下代码静态初始化了一个不规则数组。 int intArray[][] {{1,2}, {11}, {21,22,23}, {31,32,33}};**高维数组(…

三大相关性分析之python

目录 1.简介 2.Pearson相关系数 算法详解 程序实现 3.Kendall相关系数 算法详解 程序实现 4.Spearman相关系数 算法详解 程序实现 1.简介 相关性分析是指对两个或多个具备相关性的变量元素进行分析,从而衡量两个变量因素的相关密切程度。相关性的元素之…

c语言实现http服务器_基于postman实现http接口测试过程解析_服务器其它

这篇文章主要介绍了基于postman实现http接口测试过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通…

组合赋权法之matlab

目录 1.简介 2.算法原理 2.1 指标正向化 2.2 数据标准化 2.3 计算主观权重 2.4 计算客观权重 2.5 计算组合权重 2.6 计算的得分 3.实例分析 3.1 读取数据 3.2 指标正向化 3.3 数据范围标准化 3.4 计算主观权重 3.5 计算客观权重 3.6 计算组合权重 3.7 计算得分 …

组合赋权法之python

目录 1.简介 2.算法原理 2.1 指标正向化 2.2 数据标准化 2.3 计算主观权重 2.4 计算客观权重 2.5 计算组合权重 2.6 计算的得分 3.实例分析 3.1 读取数据 3.2 指标正向化 3.3 数据范围标准化 3.4 计算主观权重 3.5 计算客观权重 3.6 计算组合权重 3.7 计算得分…

蒙特卡罗模拟法 —— matlab

目录 1.简介 2.实例分析 2.1 模拟求近似圆周率 2.2 估算定积分 2.3 求解整数规划 1.简介 蒙特卡洛又称随机抽样或统计试验,就是产生随机变量,带入模型算的结果,寻优方面,只要模拟次数够多,最终是可以找到最优解或…