基于topsis和熵权法

 1 % % X    数据矩阵
 2 % % n    数据矩阵行数即评价对象数目
 3 % % m    数据矩阵列数即经济指标数目
 4 % % B    乘以熵权的数据矩阵
 5 % % Dist_max    D+ 与最大值的距离向量
 6 % % Dist_min    D- 与最小值的距离向量
 7 % % e    熵值列表
 8 % % d    信息熵冗余度
 9 % % w    权值表
10 % % stand_S    归一化矩阵
11 % % sorted_S    按照降序排列的数据矩阵
12
13 %%  第一步:把数据复制到工作区,并将这个矩阵命名为X
14 clear;clc
15 load jingjizhibiao.mat;
16
17 [n,m] = size(X);
18 disp([‘共有‘ num2str(n) ‘个地区, ‘ num2str(m) ‘个经济指标‘]) ;
19
20
21 %% 第二步:熵权法赋权
22 %%计算第j个指标下,第i个样本占该指标的比重p(i,j)
23 for i=1:n
24     for j=1:m
25         p(i,j)=X(i,j)/sum(X(:,j));
26     end
27 end
28 %%计算第j个指标的熵值e(j)
29 k=1/log(n);
30 for j=1:m
31     e(j)=-k*sum(p(:,j).*log(p(:,j)));
32 end
33 d=ones(1,m)-e; %计算信息熵冗余度
34 w=d./sum(d); %求权值w
35 disp(‘最后的权重为 ; w =‘)
36 w
37 B=X.* repmat(w,n,1);%%每个元数据乘以对应指标的熵权值,
38
39 disp(‘加入熵权的矩阵 B = ‘);
40 disp(B);
41
42 clear i j;%%释放无关变量
43 % % Z = B ./ repmat(sum(B.*B) .^ 0.5, n, 1);
44 % % disp(‘标准化矩阵 Z = ‘)
45 % % disp(Z)
46
47 %% 第三步 计算与最大值的距离和最小值的距离,并算出得分,(topsis分析)
48
49 Dist_max = sum([(B - repmat(max(B),n,1)) .^ 2 ],2) .^ 0.5;   % D+ 与最大值的距离向量
50 Dist_min = sum([(B - repmat(min(B),n,1)) .^ 2 ],2) .^ 0.5;   % D- 与最小值的距离向量
51 disp(‘D + 为‘)
52 Dist_max
53
54 disp(‘D - 为‘)
55 Dist_min
56
57 S = Dist_min ./ (Dist_max+Dist_min);    % 未归一化的得分
58 disp(‘最后的得分为:‘)
59 stand_S = S / sum(S)
60 [sorted_S,index] = sort(stand_S ,‘descend‘)

matlab

原文地址:https://www.cnblogs.com/shewhen/p/11965199.html

时间: 2024-10-16 08:14:17

基于topsis和熵权法的相关文章

指标权重确定方法之熵权法

熵最先由申农引入信息论,目前已经在工程技术.社会经济等领域得到了非常广泛的应用. 熵权法的基本思路是根据指标变异性的大小来确定客观权重. 一般来说,若某个指标的信息熵越小,表明指标值得变异程度越大,提供的信息量越多,在综合评价中所能起到的作用也越大,其权重也就越大.相反,某个指标的信息熵越大,表明指标值得变异程度越小,提供的信息量也越少,在综合评价中所起到的作用也越小,其权重也就越小. 二.熵权法赋权步骤 1. 数据标准化 将各个指标的数据进行标准化处理. 假设给定了k个指标,其中.假设对各指标

学习随笔 --python实现熵权法

一.熵权法介绍 熵最先由申农引入信息论,目前已经在工程技术.社会经济等领域得到了非常广泛的应用. 熵权法的基本思路是根据指标变异性的大小来确定客观权重. 一般来说,若某个指标的信息熵越小,表明指标值得变异程度越大,提供的信息量越多,在综合评价中所能起到的作用也越大,其权重也就越大.相反,某个指标的信息熵越大,表明指标值得变异程度越小,提供的信息量也越少,在综合评价中所起到的作用也越小,其权重也就越小. 二.熵权法赋权步骤 1. 数据标准化 将各个指标的数据进行标准化处理. 假设给定了k个指标,其

吴裕雄 python 熵权法确定特征权重

一.熵权法介绍 熵最先由申农引入信息论,目前已经在工程技术.社会经济等领域得到了非常广泛的应用. 熵权法的基本思路是根据各个特征和它对应的值的变异性的大小来确定客观权重. 一般来说,若某个特征的信息熵越小,表明该特征的值得变异(对整体的影响)程度越大,提供的信息量越多,在综合评价中所能起到 的作用也越大,其权重也就越大.相反,某个特征的信息熵越大,表明指标值得变异(对整体的影响)程度越小,提供的信息量也越少, 在综合评价中所起到的作用也越小,其权重也就越小. 二.熵权法赋权步骤 1. 数据标准化

熵权可拓物元模型

1 概述 物元分析方法是中国学者蔡文于20世纪80年代提出的用于解决矛盾问题的技术方法,是研究物元及其变化规律,解决现实世界中不相容问题的有效方法,可应用于生态环境,水资源承载力,农用地分级和土地生态水平等综合评价研究中. 本文主要介绍了熵权可拓物元模型的相关概念与该模型的建立过程. 2 概念 2.1 物元 物元分析法的主要思想是把事物用"事物,特征,量值"(分别用N,C,V表示)3个要素以有序三元组的形式来描述,这个三元组就叫物元. 2.2 可拓 可拓学是以蔡文,杨春燕研究员等为首的

[全排列]基于逆序列的字典序法的改进

摘要: 字典序法是生成全排列的经典算法.本文在对字典序法进行分析的基础上,提出了一种基于逆序列的改进字典序全排列生成算法.通过与传统的四种全排列生成算法进行对比,本文方法可以大大提高全排列的生成效率.关键词:全排列;字典序;逆序列 基于逆序列的字典序法的改进 code

基于随机变量的熵来进行数据建模和分析

转载请注明出处:http://blog.csdn.net/gamer_gyt 博主微博:http://weibo.com/234654758 Github:https://github.com/thinkgamer 写在前边的话 首次接触信息熵,信息增益的概念是在阅读<机器学习实战>这本书的时候了解到的,那个时候对这几个概念还是一知半解,虽然当时可以理解,但是记忆却保持不了太久,几个月后,再次阅读一个数据专家的代码时发现人家对于用户异常行为检测的算法模型采用的就是随机变量的熵来建模的 机器学习

基于token的鉴权机制 — JWT介绍

前言:在实际开发项目中,由于Http是一种无状态的协议,我们想要记录用户的登录状态,或者为用户创建身份认证的凭证,可以使用Session认证机制或者JWT认证机制. 什么是JWT? Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景.JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,也可

hibernate基于注解的维护权反转:@OneToMany(mappedBy=)

背景说明:首先是SSH环境下,对象基于注解的方式映射到数据库: 昨天遇到一个比较纠结的问题,@OneToMany(mappedBy="xxx"), mappedBy属性有什么用,然后是写在哪一边? 还有一个问题是:@JoinColumn(name="xxxxx"),JoinColumn有什么用? 先贴出最初的代码:一些基本的注解,在一对多的关系上没有使用JoinColumn和mappedBy属性 部门类:主要是第33.34行 1 package com.lizhou

模式识别(Pattern Recognition)学习笔记(二十七)-- 基于树搜索算法的快速近邻法

近邻法中计算距离需要遍历,带来很大的计算量和存储量,为了改善这两方面的性能,有人提出采用分枝界定算法(Branch-Bound  Algorithm)来改进近邻法,主要分为两个阶段:1)利用人工划分或K-means聚类算法或其他动态聚类算法将样本集X划分成层级形式,形成一个树结构:2)利用树搜索算法找出与未知样本的最近邻. 1.层级划分 1)将样本集X划分成l个子集,每个子集再分成l个子集,不断这样划分下去,形成一个树状结构,如图: 这样划分完后,每个节点上都会有一部分样本; 2)将节点记作p,