數學建模常用演算法 熵權法 EWM

2021-10-08 11:19:51 字數 1544 閱讀 4851

建模比賽中最基礎的模型之一,其主要用於解決評價類問題(例如:選擇哪種方案最好、哪位運動員或者員工表現的更優秀),用於確定每個指標所佔權重,權重用於計算最終得分。

層次分析法最大的缺點在於判斷矩陣的確定依賴於專家,如果專家的判斷存在主觀性的話, 會對結果產生很大的影響。

熵權法是一種客觀賦權方法 ,它依據的原理是:指標的變異程度越小,所反映的資訊量也越少,其對應 的權值也應該越低(客觀= 資料本身就可以告訴我們權重)。

因為概率p是位於0‐1之間,因此需要對原始資料進行標準化,我們應該選擇哪種方式進行標準化呢?檢視知網的文獻會發現, 並沒有約定俗成的標準,每個人的選取可能 都不一樣。但是不同方式標準化得到的結果可能有很大差異,所以說熵權法也存在著一定的問題。

資料正向化過程請參考文章:

數學建模常用演算法—優劣解距離法(topsis)

;% n*m的矩陣(要經過正向化和標準化處理,且元素中不存在負數)

[n,m]

=size

(z);

d =zeros(1

,m);

% 初始化儲存資訊效用值的行向量

for i =1:m

x =z(

:,i)

;% 取出第i列的指標

p = x /

sum(x)

;% 注意,p有可能為0,此時計算ln

(p)*p時,matlab會返回nan,所以這裡我們自己定義乙個函式

e =-sum

(p .

*mylog

(p))

/log

(n);

% 計算資訊熵

d(i)=

1- e;

% 計算資訊效用值

endw = d .

/sum

(d);

% 將資訊效用值歸一化,得到權重

end

function [lnp]

=mylog

(p)n =

length

(p);

% 向量的長度

lnp =

zeros

(n,1);

% 初始化最後的結果

for i =

1:n % 開始迴圈

ifp(i)==0

% 如果第i個元素為0

lnp(i)=0

;% 那麼返回的第i個結果也為0

else

lnp(i)

=log(p

(i))

; end

endend

數學建模 基於熵權法對Topsis模型的修正

1.緣由 當topsis方法考慮權值時,需要用到層次分析法進行確定不同指標的權重,而判斷矩陣都為由自己填寫,所以主觀性太強,對結果影響較大。2.原理 指標的變異程度越小,所反映的資訊量也越少,其對應的權值也應該越低,例如不同學生的數學成績都為100分,所以只根據數學的分並不能看出誰的能力較強,所以他...

數學建模常用演算法

數學建模中常用的方法 模擬法 二分法 差分法 變分法 圖論法 層次分析法 資料擬合法 回歸分析法 數學規劃 線性規劃,非線性規劃,整數規劃,動態規劃,目標規劃 機理分析 排隊方法 對策方法 決策方法 模糊評判方法 時間序列方法 灰色理論方法 現代優化演算法 禁忌搜尋演算法,模擬退火演算法,遺傳演算法...

數學建模常用演算法

數學建模中常用的方法 模擬法 二分法 差分法 變分法 圖論法 層次分析法 資料擬合法 回歸分析法 數學規劃 線性規劃,非線性規劃,整數規劃,動態規劃,目標規劃 機理分析 排隊方法 對策方法 決策方法 模糊評判方法 時間序列方法 灰色理論方法 現代優化演算法 禁忌搜尋演算法,模擬退火演算法,遺傳演算法...