评价模型:CRITIC客观赋权法

news2024/11/25 6:42:09

目录

    • 1.算法原理介绍
    • 2.算法步骤
      • 2.1 数据标准化
      • 2.2 计算信息承载量
      • 2.3 计算权重和得分
    • 3.案例分析


1.算法原理介绍

  CRITIC方法是一种客观权重赋权法,其基本思路是确定指标的客观权数以两个基本概念为基础。一是对比强度,它表示同一指标各个评价方案取值差距的大小,以标准差的形式来表现。二是评价指标之间的冲突性,指标之间的冲突性是以指标之间的相关性为基础,如两个指标之间具有较强的正相关,说明两个指标冲突性较低。
  CRITIC方法的主要原理是通过对比强度和指标之间的冲突性来确定指标的客观权数,从而实现对评价方案的客观权重赋值。该方法适用于判断数据稳定性,并且适合分析指标或因素之间有着一定的关联的数据。

2.算法步骤

2.1 数据标准化

  设有 m m m个待评对象, n n n个评价指标,可以构成数据矩阵 X = ( x i j ) m × n X=(x_{ij})_{m\times n} X=(xij)m×n,设数据矩阵内元素经过标准化处理过后的元素为 x i j ′ x^{'}_{ij} xij

  • 对于正向指标: x i j ′ = x i j − min ⁡ ( x j ) max ⁡ ( x j ) − min ⁡ ( x j ) x_{i j}^{\prime}=\frac{x_{i j}-\min \left(x_{j}\right)}{\max \left(x_{j}\right)-\min \left(x_{j}\right)} xij=max(xj)min(xj)xijmin(xj)
  • 对于负向指标: x i j ′ = max ⁡ ( x j ) − x i j max ⁡ ( x j ) − min ⁡ ( x j ) x_{i j}^{\prime}=\frac{\max \left(x_{j}\right)-x_{i j}}{\max \left(x_{j}\right)-\min \left(x_{j}\right)} xij=max(xj)min(xj)max(xj)xij

2.2 计算信息承载量

  • 首先计算第 j j j项指标的对比强度: σ j = ∑ i = 1 m ( x i j ′ − x ˉ j ′ ) m − 1 \sigma_{j}=\sqrt{\frac{\sum_{i=1}^{m}\left(x_{i j}^{\prime}-\bar{x}_{j}^{\prime}\right)}{m-1}} σj=m1i=1m(xijxˉj)

  • 然后计算评价指标之间的冲突性
    冲突性反映的是不同指标之间的相关程度,若呈现显著正相关性,则冲突性数值越小。设指标𝑗与其余指标矛盾性大小为 f j f_j fj,则 f j = ∑ i = 1 m ( 1 − r i j ) f_{j}=\sum_{i=1}^{m}\left(1-r_{i j}\right) fj=i=1m(1rij)
    其中 r i j r_{ij} rij表示指标 i i i与指标 j j j之间的相关系数,这里使用的是皮尔逊相关系数。

  • 最后计算信息承载量 C j = σ j f j C_{j}=\sigma_{j} f_{j} Cj=σjfj

    2.3 计算权重和得分

    计算权重: w j = C j ∑ j = 1 n C j w_{j}=\frac{C_{j}}{\sum_{j=1}^{n} C_{j}} wj=j=1nCjCj
    可见信息承载量越大权重越大。
    计算得分: S i = ∑ j = 1 n w j x i j ′ S_{i}=\sum_{j=1}^{n} w_{j} x_{i j}^{\prime} Si=j=1nwjxij

    3.案例分析

    假设你想购买一台新电视,考虑了以下指标:

  • 屏幕尺寸(英寸)——正向指标:尺寸越大,观看体验可能越好。

  • 价格(美元)——负向指标:价格越高,对于购买者来说可能越不吸引人。

  • 电视的能源效率(每年的电量消耗,以kWh为单位)—— 负向指标:消耗的电量越多,运行成本越高。

  • 用户评分(5星制中的星数) ——正向指标:评分越高,产品质量可能越好。
    具体数据如下表所示:

屏幕尺寸价格能源效率用户评分
电视A50500754.5
电视B55650804.8
电视C658001204.2
电视D45450654.0
电视E60700904.6

首先对数据进行标准化处理:

% 电视决策矩阵
decision_matrix = [
    50, 500, 75, 4.5;  % 电视A
    55, 650, 80, 4.8;  % 电视B
    65, 800, 120, 4.2; % 电视C
    45, 450, 65, 4.0;  % 电视D
    60, 700, 90, 4.6;  % 电视E
];
%数据标准化处理
for i=2:3
    decision_matrix(:, i) = (max(decision_matrix(:, i)) - decision_matrix(:, i))/(max(decision_matrix(:, i)) - min(decision_matrix(:, i)))
end
for i=[1,4]
    decision_matrix(:, i) = (decision_matrix(:, i)-min(decision_matrix(:, i)))/(max(decision_matrix(:, i)) - min(decision_matrix(:, i)))
end
% 数据标准化
norm_matrix = zscore(decision_matrix)

或者:

% 电视决策矩阵
decision_matrix = [
    50, 500, 75, 4.5;  % 电视A
    55, 650, 80, 4.8;  % 电视B
    65, 800, 120, 4.2; % 电视C
    45, 450, 65, 4.0;  % 电视D
    60, 700, 90, 4.6;  % 电视E
];
% 对负向指标进行处理,将其转换为正向指标
decision_matrix(:, 2) = max(decision_matrix(:, 2)) + 1 - decision_matrix(:, 2)
decision_matrix(:, 3) = max(decision_matrix(:, 3)) + 1 - decision_matrix(:, 3)
% 数据标准化
norm_matrix = zscore(decision_matrix)

标准化结果:
在这里插入图片描述然后再根据算法步骤计算权重:

% 计算标准间的相关系数
R = corrcoef(norm_matrix);

% 确定冲突度和信息量
n = size(norm_matrix, 2); % 标准的数量
conflict = zeros(1, n);
for i = 1:n
    conflict(i) = std(norm_matrix(:, i)) * (1 - sum(R(i, :)) / (n - 1));
end

% 计算权重
weights = conflict / sum(conflict);

% 显示结果
disp('指标的权重:');
disp(weights);

计算结果:
在这里插入图片描述最后计算每个电视的得分:
在这里插入图片描述完整代码:

% 电视决策矩阵
decision_matrix = [
    50, 500, 75, 4.5;  % 电视A
    55, 650, 80, 4.8;  % 电视B
    65, 800, 120, 4.2; % 电视C
    45, 450, 65, 4.0;  % 电视D
    60, 700, 90, 4.6;  % 电视E
];
%数据标准化处理
for i=2:3
    decision_matrix(:, i) = (max(decision_matrix(:, i)) - decision_matrix(:, i))/(max(decision_matrix(:, i)) - min(decision_matrix(:, i)))
end
for i=[1,4]
    decision_matrix(:, i) = (decision_matrix(:, i)-min(decision_matrix(:, i)))/(max(decision_matrix(:, i)) - min(decision_matrix(:, i)))
end

% 对负向指标进行处理,将其转换为正向指标
% decision_matrix(:, 2) = max(decision_matrix(:, 2)) + 1 - decision_matrix(:, 2)
% decision_matrix(:, 3) = max(decision_matrix(:, 3)) + 1 - decision_matrix(:, 3)
% 数据标准化
norm_matrix = zscore(decision_matrix)

% 计算标准间的相关系数
R = corrcoef(norm_matrix);

% 确定冲突度和信息量
n = size(norm_matrix, 2); % 标准的数量
conflict = zeros(1, n);
for i = 1:n
    conflict(i) = std(norm_matrix(:, i)) * (1 - sum(R(i, :)) / (n - 1));
end

% 计算权重
weights = conflict / sum(conflict);

% 显示结果
disp('指标的权重:');
disp(weights);

% 根据标准化的决策矩阵和权重计算每台电视的得分
scores = norm_matrix * weights';

% 显示每台电视的得分
disp('每台电视的得分:');
for i = 1:size(scores, 1)
    fprintf('电视%d 的得分: %.2f\n', i, scores(i));
end

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

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

相关文章

RealVNC Enterprise 7.7.0 Crack

RealVNC连接_旗舰产品 RealVNC Connect 是为需要强大安全性、弹性和安心的组织提供的远程访问解决方案。 设备访问 按需协助 随时随地安全访问和管理任何设备 通过安全的远程访问让您的组织保持联系,帮助您提高生产力并促进更广泛的协作。 随时随地安全远程访问和…

【操作系统】进程的控制和通信

文章目录 一. 实验目的二. 实验内容三. 实验步骤四. 实验结果 一. 实验目的 (1)加深对进程概念的理解,进一步认识并发执行的实质。 (2)掌握Linux 操作系统中进程的创建和终止操作。 (3)理解进程…

公众号留言功能有必要开吗?如何开通留言?

为什么公众号没有留言功能?2018年2月12日,TX新规出台:根据相关规定和平台规则要求,我们暂时调整留言功能开放规则,后续新注册帐号无留言功能。这就意味着2018年2月12日号之后注册的公众号不论个人主体还是组织主体&…

【Java】HashMap集合

Map集合概述和使用 Map集合概述 Interface Map<k,v> k&#xff1a;键值类型 v&#xff1a;值的类型 Map集合的特点 键值对 映射关系 Key 和 Value一个键&#xff08;Key&#xff09;对应一个值&#xff08;Value&#xff09;键不允许重复&#xff0c;值可以重复如…

DXF文件写入多边形和名称属性,可在Global Mapper和ArcGIS打开

DXF文件写入多边形和名称属性&#xff0c;可在Global Mapper和ArcGIS打开 目标效果 为了实现下图的效果&#xff0c;学习了一下dxf格式的相关内容。 官方文档价值很高&#xff0c;但是结合实例.dxf文件看学习起来更快。 免费下载实例 下面将介绍dxf文件的格式规范&#xff0…

如何确保PCIe Gen3通道的信号质量

PCIe 3.0设计面对的挑战 PCIe由PCI-SIG协会研发和维护的一个高速标准接口&#xff0c;PCIe3.0是其开发的第三代接口高速差分接口&#xff0c;其单个差分对信号速率可到达8.0Gbps&#xff0c;目前其以广泛的应用于计算机服务器等设备领域。 下图显示的是一个典型的PCIe Gen3的…

高阶数据结构图下篇

目录&#xff1a; 图的基本概念二深度优先遍历&#xff08;DFS&#xff09;广度优先遍历&#xff08;BFS&#xff09; kruskal&#xff08;克鲁斯卡尔算法&#xff09;Prim&#xff08;普里姆算法&#xff09;Dijkstra(迪杰斯特拉算法)Bellman-ford(贝尔曼-福特算法) flyod-war…

为什么别人的vscode终端那么好看!!?

群友的terminal &#x1f431;: 在群里看到别人的vscode好好看&#xff0c;给我的也安排一下 &#x1f7e0;关键因素&#xff1a;oh my posh主题&#xff01;安装&#xff01; &#x1f431;: 但是装完打开powershell变慢了&#xff0c;大道至简&#xff01; 背景 系统&#x…

RSA ——Rational Structure Architecture r入门教程

&#xff08;一&#xff09;UML概述 UML&#xff0c;即统一建模语言&#xff08;Unified Modeling Language&#xff09;&#xff0c;是一种通用的面向对象的可视化建模语言。其核心目的是为软件的面向对象描述和建模提供一种标准化的方法。UML并不是一种编程语言&#xff0c;因…

【LLM】sft和pretrain数据处理和筛选方法

note 痛点&#xff1a;训练垂直领域模型&#xff0c;sft数据和增量pretrain数据质量把控很重要 当数据不够时&#xff0c;通过self-instruct等方法造多样化的数据当数据很多时&#xff0c;需要清洗/筛选出高质量数据 文章目录 note一、sft数据的筛选策略1.1 使用self-instruc…

华媒舍:日韩媒体发稿推广中8个关键因素帮助你实现突破

在当今经济全球化的时代背景下&#xff0c;日韩地域媒体影响力日益提高。对于需要在这一地区开展发稿推广的人来讲&#xff0c;掌握适度的思路和流程是十分重要的。下面我们就为大家介绍8个关键因素&#xff0c;以帮助你在日韩地域媒体发稿推广中实现突破。 1.科学研究行业在逐…

MySQL(2):环境搭建

1.软件下载 软装去官网下载&#xff08;社区版&#xff09;&#xff1a;https://downloads.mysql.com/archives/installer/&#xff08;历史版本可选&#xff09; 选择下面的&#xff0c;一步到位 2.软件安装 双击 .msi 文件 选完 Custom 自定义后点 next 按 1&#xff0c…

【LInux】进程概念II -- 描述进程

Halo&#xff0c;这里是Ppeua。平时主要更新C语言&#xff0c;C&#xff0c;数据结构算法…感兴趣就关注我吧&#xff01;你定不会失望。 本篇导航 0. 进程概念1. 描述进程2. 组织进程 0. 进程概念 在初学阶段,我们对进程这个词仅在书上看见过,大多不太理解这个究竟是什么意思…

数据库管理-第113期 Oracle Exadata 04-硬件选择(20231020)

数据库管理-第113期 Oracle Exadata 04-硬件选择&#xff08;2023010290&#xff09; 本周没写文章&#xff0c;主要是因为到上海参加了Oracle CAB/PAB会议&#xff0c;这个放在后面再讲&#xff0c;本期讲一讲Exadata&#xff0c;尤其是存储节点的硬件选择及其对应的一些通用…

文件夹批量改名:如何在文件夹名左边添加递增的自动编号

在文件管理的过程中&#xff0c;我们有时需要对文件夹进行重命名&#xff0c;使其更具区分度和可读性。为了实现这一目标&#xff0c;我们可以采用在文件夹名左边添加递增的自动编号的方法。本文将介绍云炫文件管理器如何进行文件夹批量改名&#xff0c;以在文件夹名左边添加递…

如何将设计模式责任链模式运用到工作当中

文章目录 &#x1f31f; 如何将设计模式责任链模式运用到工作当中&#x1f34a; 什么是责任链模式&#x1f34a; 在工作中如何应用责任链模式&#x1f389; 权限验证&#x1f389; 日志记录&#x1f389; 数据处理 &#x1f34a; 责任链模式的优点&#x1f34a; 总结 &#x1f…

【MATLAB源码-第62期】基于蜣螂优化算法(DBO)的无人机三维地图路径规划,输出最短路径和适应度曲线。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 蜣螂优化算法&#xff08;Dung Beetle Optimization, DBO&#xff09;是一种模拟蜣螂在寻找食物和进行导航的过程的优化算法。蜣螂是一种能够将粪球滚到合适地点的昆虫&#xff0c;它们利用天空中的光线和自身的感知能力来确…

关于深度学习中Attention的一些简单理解

Attention 机制 Attention应用在了很多最流行的模型中&#xff0c;Transformer、BERT、GPT等等。 Attention就是计算一个加权平均&#xff1b;通过加权平均的权值来自计算每个隐藏层之间的相关度&#xff1b; 示例 Attention 机制 Attention应用在了很多最流行的模型中&am…

挖掘业务场景的存储更优解

文章目录 第1章 如何用更优的数据存储方案&#xff0c;打造更稳定的架构&#xff1f;1.1 选用适合自己的数据存储方案1.1.1 关系型数据库1.1.2 非关系型数据库1.1.3 内存数据库 1.2 打造更稳定的架构1.2.1 分布式架构1.2.2 容灾备份1.2.3 监控报警1.2.4 自动化运维 1.3 案例分析…

redis中的io多线程(线程池)

文章目录 redis多线程模型redis为什么引入I/O多线程I/O多线程模型 源码解析测试设置连接建立数据传输线程调度开启io线程startThreadedIO关闭io线程stopThreadedIO redis多线程模型 redis为什么引入I/O多线程 Redis 的性能瓶颈在网络 IO 的处理上。Redis 是网络 IO 密集型&am…