备战数学建模14-熵权法确定指标权重系数
生活随笔
收集整理的這篇文章主要介紹了
备战数学建模14-熵权法确定指标权重系数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
目錄
一、熵權法理論學習
1-熵權法簡介
2-熵權法的基本思路
二、應用例題分析
1-綜合成績評價例題
2-數據歸一化代碼
3-計算pij代碼
4-計算信息熵代碼
5-計算指標權重及綜合得分代碼
6-程序全部代碼
7-繪制的圖形
三、熵權法總結
一、熵權法理論學習
1-熵權法簡介
層次分析確定的權重比較主觀,可以使用變異系數法和熵權法,本次主要介紹熵權法。熵權法一般就幾步,分別為歸一化,計算指標變異性,計算信息熵,求權重。
2-熵權法的基本思路
基本思路如下:其中:歸一化是把計量單位進行統一,有固定的歸一化公式。
其中數據歸一化具體如下所示:
計算指標變異性具體如下所示:
計算信息熵,如下所示:
計算信息熵冗余度,具體如下:
?
計算出各項指標的權重,如下所示:
?
?計算綜合得分,具體如下所示:
?
二、應用例題分析
1-綜合成績評價例題
應用熵權法分配各項指標的權重,并根據權重計算得分,進而進行成績排名。
2-數據歸一化代碼
%指標歸一化處理 z = zeros(7, 1) ; for i = 1 : m if ind(i) == 1 %正向指標歸一化for j = 1 : 7z(j,1) = 0.998 * ((x(j,i) - min(x(:,i))) / (max(x(:,i)) - min(x(:,i)))) + 0.002 ;endX(:,i) = z ;else %負向指標歸一化for j = 1 : 7z(j,1) = 0.998 * (max(x(:,i)) - (x(j,i)) / (max(x(:,i)) - min(x(:,i)))) + 0.002 ;endX(:,i) = z ;end end disp('正向化矩陣如下所示:') ; disp(X) ;得到歸一化后的矩陣如下所示:
3-計算pij代碼
%計算第j個指標下第i個樣本占該指標的比重pij for i = 1 : nfor j = 1 : m p(i,j) = X(i,j) / sum(X(:,j)) ;end end disp('冗余度如下:') ; disp(p) ;4-計算信息熵代碼
%計算第j個指標的信息熵 k = 1 / log(n) ; for j = 1 : m e(j) = -k * sum(p(:,j) .* log(p(:,j))) ; end disp('每個指標的信息熵如下:') disp(e) ;5-計算指標權重及綜合得分代碼
d = ones(1, m) - e ; % 計算信息熵冗余度 w = d ./ sum(d) ; %計算權重 disp('每個指標的權重如下:') ; disp(w) ; s = X * w' ; %計算綜合得分 disp('每個同學的綜合得分如下:') ; disp(s) ;6-程序全部代碼
clear; clc x = [80 90 90 70 90 90 60 90 100 70 90 80 70 100 90 80 70 70 90 70 80 100 80 80 100 100 80 70 90 60 100 70 70 90 80 80 90 100 90 70 100 80 ] ; ind = ones(size(x,2), 1) ; %正向化指標初始化為1,負向化指標初始化為2 [n, m] = size(x) ; %n個樣本,m個指標%指標歸一化處理 z = zeros(7, 1) ; for i = 1 : m if ind(i) == 1 %正向指標歸一化for j = 1 : 7z(j,1) = 0.998 * ((x(j,i) - min(x(:,i))) / (max(x(:,i)) - min(x(:,i)))) + 0.002 ;endX(:,i) = z ;else %負向指標歸一化for j = 1 : 7z(j,1) = 0.998 * (max(x(:,i)) - (x(j,i)) / (max(x(:,i)) - min(x(:,i)))) + 0.002 ;endX(:,i) = z ;end end disp('正向化矩陣如下所示:') ; disp(X) ;%計算第j個指標下第i個樣本占該指標的比重pij for i = 1 : nfor j = 1 : m p(i,j) = X(i,j) / sum(X(:,j)) ;end end disp('冗余度如下:') ; disp(p) ;%計算第j個指標的信息熵 k = 1 / log(n) ; for j = 1 : m e(j) = -k * sum(p(:,j) .* log(p(:,j))) ; end disp('每個指標的信息熵如下:') disp(e) ;d = ones(1, m) - e ; % 計算信息熵冗余度 w = d ./ sum(d) ; %計算權重 disp('每個指標的權重如下:') ; disp(w) ; s = X * w' ; %計算綜合得分 disp('每個同學的綜合得分如下:') ; disp(s) ;plot(1:7, s) ; %畫圖看看7-繪制的圖形
三、熵權法總結
下面總結了熵權法確定權重系數的優缺點,具體如下所示:
總結
以上是生活随笔為你收集整理的备战数学建模14-熵权法确定指标权重系数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: AIML框架标签详解
- 下一篇: 时间协议ntp服务器,时间服务器NTP搭