评价模型:CRITIC客观赋权法

简介: 评价模型:CRITIC客观赋权法

1.算法原理介绍

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

  CRITIC方法的主要原理是通过对比强度和指标之间的冲突性来确定指标的客观权数,从而实现对评价方案的客观权重赋值。该方法适用于判断数据稳定性,并且适合分析指标或因素之间有着一定的关联的数据。

2.算法步骤

image.png

2.2 计算信息承载量

image.png
2.3 计算权重和得分
image.png
3.案例分析
假设你想购买一台新电视,考虑了以下指标:

  • 屏幕尺寸(英寸)——正向指标:尺寸越大,观看体验可能越好。
  • 价格(美元)——负向指标:价格越高,对于购买者来说可能越不吸引人。
  • 电视的能源效率(每年的电量消耗,以kWh为单位)—— 负向指标:消耗的电量越多,运行成本越高。
  • 用户评分(5星制中的星数) ——正向指标:评分越高,产品质量可能越好。
    具体数据如下表所示:
屏幕尺寸 价格 能源效率 用户评分
电视A 50 500 75 4.5
电视B 55 650 80 4.8
电视C 65 800 120 4.2
电视D 45 450 65 4.0
电视E 60 700 90 4.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


目录
相关文章
|
22天前
情感理论模型
情感理论模型
139 0
|
机器学习/深度学习 监控 算法
信用风险评估评分卡建模方法及原理| 学习笔记
快速学习信用风险评估评分卡建模方法及原理。
1007 0
信用风险评估评分卡建模方法及原理| 学习笔记
|
22天前
|
数据库
R语言关联规则Apriori对抗肿瘤中药数据库知识发现研究(下)
R语言关联规则Apriori对抗肿瘤中药数据库知识发现研究(下)
|
21天前
|
机器学习/深度学习 人工智能
辉瑞 AI 方法登 Science,揭示数以万计的配体-蛋白质相互作用
【5月更文挑战第15天】辉瑞研究人员在《Science》发表论文,利用深度学习模型PLIN预测和分析数以万计的蛋白质-配体相互作用,有望加速药物研发,提高药物效果和安全性。实验显示模型在1000多对数据上表现良好,但对复杂相互作用和泛化能力仍有待改进。[链接](https://www.science.org/doi/10.1126/science.adk5864)
23 3
|
21天前
|
机器学习/深度学习 算法 数据挖掘
【机器学习】维度灾难问题会如何影响K-means算法?
【5月更文挑战第15天】【机器学习】维度灾难问题会如何影响K-means算法?
|
22天前
|
机器学习/深度学习 数据可视化 算法
R语言神经网络与决策树的银行顾客信用评估模型对比可视化研究
R语言神经网络与决策树的银行顾客信用评估模型对比可视化研究
|
22天前
|
机器学习/深度学习 人工智能 自然语言处理
【大模型】在使用大语言模型的过程中,我们需要考虑到哪些道德问题?
【5月更文挑战第5天】【大模型】在使用大语言模型的过程中,我们需要考虑到哪些道德问题?
【大模型】在使用大语言模型的过程中,我们需要考虑到哪些道德问题?
|
22天前
|
算法 数据可视化 数据库
R语言关联规则Apriori对抗肿瘤中药数据库知识发现研究(上)
R语言关联规则Apriori对抗肿瘤中药数据库知识发现研究
|
22天前
|
机器学习/深度学习 自然语言处理 安全
XAI有什么用?探索LLM时代利用可解释性的10种策略
【4月更文挑战第23天】论文《Usable XAI: 10 Strategies Towards Exploiting Explainability in the LLM Era》探讨了在大型语言模型时代提升可解释性的10种策略,旨在增强LLM的透明度和可靠性。面对LLM的复杂性,这些策略包括使用归因方法理解决策过程、通过样本基础解释进行模型调试、利用知识增强的提示提升内容质量和使用自然语言解释以方便用户理解。尽管提出有益方法,但如何确保解释准确性、处理错误信息及平衡模型性能与可解释性仍是挑战。
24 3
|
9月前
|
计算机视觉
SplitMask:大规模数据集是自我监督预训练的必要条件吗?
自监督预训练需要大规模数据集吗?这是2021年发布的一篇论文,它在自监督预训练场景中使用小数据集,如Stanford Cars, Sketch或COCO,它们比ImageNet小几个数量级。并提出了一种类似于BEiT的去噪自编码器的变体SplitMask,它对预训练数据的类型和大小具有更强的鲁棒性。
54 0

热门文章

最新文章