本文目錄一覽:
- 1、求大神指導怎麼用軟件求熵權法權重
- 2、第一層權重用層次分析法,二級指標用熵權法怎麼做
- 3、求python 熵值法實現代碼
- 4、求權重的方法
- 5、請問用熵權法計算指標權重,定性指標如何處理,能舉例說明一下嗎?謝謝!
求大神指導怎麼用軟件求熵權法權重
一、熵權法介紹
熵最先由申農引入信息論,目前已經在工程技術、社會經濟等領域得到了非常廣泛的應用。
熵權法的基本思路是根據指標變異性的大小來確定客觀權重。
一般來說,若某個指標的信息熵越小,表明指標值得變異程度越大,提供的信息量越多,在綜合評價中所能起到的作用也越大,其權重也就越大。相反,某個指標的信息熵越大,表明指標值得變異程度越小,提供的信息量也越少,在綜合評價中所起到的作用也越小,其權重也就越小。
二、熵權法賦權步驟
1. 數據標準化
將各個指標的數據進行標準化處理。
2. 求各指標的信息熵
3. 確定各指標權重
三、熵權法賦權實例
1. 背景介紹
某醫院為了提高自身的護理水平,對擁有的11個科室進行了考核,考核標準包括9項整體護理,並對護理水平較好的科室進行獎勵。下表是對各個科室指標考核後的評分結果。
但是由於各項護理的難易程度不同,因此需要對9項護理進行賦權,以便能夠更加合理的對各個科室的護理水平進行評價。
2. 熵權法進行賦權
1)數據標準化
根據原始評分表,對數據進行標準化後可以得到下列數據標準化表
2)求各指標的信息熵
根據信息熵的計算公式
,可以計算出9項護理指標各自的信息熵如下:
3)計算各指標的權重
3. 對各個科室進行評分
第一層權重用層次分析法,二級指標用熵權法怎麼做
1、二級指標用熵權法,首先將各個指標的數據進行標準化處理。
2、求各指標的信息熵。
3、確定各指標權重。
4、熵權法,就是根據已知評價對象指標的數值來確定每個指標所佔的權重。
5、必須要有數值才可以用熵權法,如果沒有數值是不可以用這種方法的
求python 熵值法實現代碼
一、基本原理
在信息論中,熵是對不確定性的一種度量。信息量越大,不確定性就越小,熵也就越小;信息量越小,不確定性越大,熵也越大。
根據熵的特性,可以通過計算熵值來判斷一個事件的隨機性及無序程度,也可以用熵值來判斷某個指標的離散程度,指標的離散程度越大,該指標對綜合評價的影響(權重)越大,其熵值越小。
二、熵值法步驟
1. 選取n個國家,m個指標,則為第i個國家的第j個指標的數值(i=1, 2…, n; j=1,2,…, m);
2. 指標的歸一化處理:異質指標同質化
由於各項指標的計量單位並不統一,因此在用它們計算綜合指標前,先要對它們進行標準化處理,即把指標的絕對值轉化為相對值,並令,從而解決各項不同質指標值的同質化問題。而且,由於正向指標和負向指標數值代表的含義不同(正向指標數值越高越好,負向指標數值越低越好),因此,對於高低指標我們用不同的算法進行數據標準化處理。其具體方法如下:
正向指標:
負向指標:
則為第i個國家的第j個指標的數值(i=1, 2…, n; j=1, 2,…, m)。為了方便起見,歸一化後的數據仍記為;
3. 計算第j項指標下第i個國家占該指標的比重:
4. 計算第j項指標的熵值:
其中. 滿足;
5. 計算信息熵冗餘度:
6. 計算各項指標的權值:
7. 計算各國家的綜合得分:
[code]function [s,w]=shang(x)
% 函數shang.m, 實現用熵值法求各指標(列)的權重及各數據行的得分
% x為原始數據矩陣, 一行代表一個國家, 每列對應一個指標
% s返回各行得分, w返回各列權重
[n,m]=size(x); % n=23個國家, m=5個指標
%% 數據的歸一化處理
% Matlab2010b,2011a,b版本都有bug,需如下處理. 其它版本直接用[X,ps]=mapminmax(x’,0,1);即可
[X,ps]=mapminmax(x’);
ps.ymin=0.002; % 歸一化後的最小值
ps.ymax=0.996; % 歸一化後的最大值
ps.yrange=ps.ymax-ps.ymin; % 歸一化後的極差,若不調整該值, 則逆運算會出錯
X=mapminmax(x’,ps);
% mapminmax(‘reverse’,xx,ps); % 反歸一化, 回到原數據
X=X’; % X為歸一化後的數據, 23行(國家), 5列(指標)
%% 計算第j個指標下,第i個記錄占該指標的比重p(i,j)
for i=1:n
for j=1:m
p(i,j)=X(i,j)/sum(X(:,j));
end
end
%% 計算第j個指標的熵值e(j)
k=1/log(n);
for j=1:m
e(j)=-k*sum(p(:,j).*log(p(:,j)));
end
d=ones(1,m)-e; % 計算信息熵冗餘度
w=d./sum(d); % 求權值w
s=w*p’; % 求綜合得分[\code]
測試程序:
data.txt 數據如下:
114.6 1.1 0.71 85.0 346
55.3 0.96 0.4 69.0 300
132.4 0.97 0.54 73.0 410
152.1 1.04 0.49 77.0 433
103.5 0.96 0.66 67.0 385
81.0 1.08 0.54 96.0 336
179.3 0.88 0.59 89.0 446
29.8 0.83 0.49 120.0 289
92.7 1.15 0.44 154.0 300
248.6 0.79 0.5 147.0 483
115.0 0.74 0.65 252.0 453
64.9 0.59 0.5 167.0 402
163.6 0.85 0.58 220.0 495
95.7 1.02 0.48 160.0 384
139.5 0.70 0.59 217.0 478
89.9 0.96 0.39 105.0 314
76.7 0.95 0.51 162.0 341
121.8 0.83 0.60 140.0 401
42.1 1.08 0.47 110.0 326
78.5 0.89 0.44 94.0 280
77.8 1.19 0.57 91.0 364
90.0 0.95 0.43 89.0 301
100.6 0.82 0.59 83.0 456
執行代碼:
[code]x=load(‘data.txt’); % 讀入數據
[s,w]=shang(x)[\code]
運行結果:
s =
Columns 1 through 9
0.0431 0.0103 0.0371 0.0404 0.0369 0.0322 0.0507 0.0229 0.0397
Columns 10 through 18
0.0693 0.0878 0.0466 0.0860 0.0503 0.0800 0.0234 0.0456 0.0536
Columns 19 through 23
0.0272 0.0181 0.0364 0.0202 0.0420
w =
0.1660 0.0981 0.1757 0.3348 0.2254
求權重的方法
求權重的方法如下:
1、第一類為因子分析和主成分法;此類方法利用了數據的信息濃縮原理,利用方差解釋率進行權重計算。
2、第二類為AHP層次法和優序圖法;此類方法利用數字的相對大小信息進行權重計算。
3、第三類為熵值法(熵權法);此類方法利用數據熵值信息即信息量大小進行權重計算。
4、第四類為CRITIC、獨立性權重和信息量權重;此類方法主要是利用數據的波動性或者數據之間的相關關係情況進行權重計算。
計算權重時,因子分析法和主成分法均可計算權重,而且利用的原理完全一模一樣,都是利用信息濃縮的思想。因子分析法和主成分法的區別在於,因子分析法加帶了‘旋轉’的功能,而主成分法目的更多是濃縮信息。
‘旋轉’功能可以讓因子更具有解釋意義,如果希望提取出的因子具有可解釋性,一般使用因子分析法更多;並非說主成分出來的結果就完全沒有可解釋性,只是有時候其解釋性相對較差而已,但其計算更快,因而受到廣泛的應用。
計算權重的第二類方法原理是利用數字相對大小,數字越大其權重會相對越高。此類原理的代表性方法為AHP層次法和優序圖法。
請問用熵權法計算指標權重,定性指標如何處理,能舉例說明一下嗎?謝謝!
熵權法的思想是通過計算各指標值與其均值差異程度來計算權重的,定性指標在經過量化後,也可以應用熵權法進行計算,應該注意的是,熵權法通過數據來計算權重,沒有考慮指標本身的重要程度,計算得到的權重可解釋性較差,最好與主觀權重計算相結合,進行綜合評價
原創文章,作者:GYZ7K,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/130492.html