建模學習第二天——優劣解距離法
TOPSIS法 (優劣解距離法)
來源:清風老師數學建模ppt,全手打
-
TOPSIS法:
- 又名為:逼近理想排序法或優劣解距離法。
- 是一種常用的綜合評價方法,其能充分利用原始資料的資訊,其結果能精確地反映各評價方案之間的差距。
- 基本過程為:先將原始資料矩陣統一指標型別(一般正向化處理)得到正向化的矩陣,再對正向化的矩陣進行標準化處理以消除各指標量綱的影響,並找到有限方案中的最優方案和最劣方案,然後分別計算各評價物件與最優方案和最劣方案間的距離,獲得各評價物件與最優方案的相對接近程度,以此作為評價優劣的依據。該方法對資料分佈及樣本含量沒有嚴格限制,資料計算簡單易行。
-
常見的四種指標:
指標名稱 指標特點 例子 極大型(效益型)指標 越大(多)越好 成績、GDP增速、利潤 極小型(成本型)指標 越小(少)越好 費用、壞品率、汙染程度 中間型指標 越接近某個值越好 水質量評估時的PH值 區間型指標 落在某個區間最好 體溫、水中植物性營養物量
-
統一指標型別:
- 將所有的指標轉化為極大型成為指標正向化(最常用的)。
-
標準化處理:
-
為了消去不同指標量綱的影響,需要對已經正向化的矩陣進行標準化處理。
-
標準化處理的公式:假設有n個要評價的物件,m個評價指標(已經正向化了)構成的正向化矩陣如下:
-
\[X=\left[\begin{matrix}x_{11}&x_{12}&\cdots&x_{1m}\\x_{21}&x_{22}&\cdots&x_{2m}\\\vdots&\vdots&\ddots&\vdots\\x_{n1}&x_{n2}&\cdots&x_{nm}\end{matrix}\right] \]
-
那麼,對其標準化的矩陣記為Z,Z中的每一個元素:
\[z_{ij}=\frac{x_{ij}}{\sqrt{\sum_{i=1}^n x^2_{ij}}} \]
-
-
-
構建計算公式:
-
\[\frac{x-min}{max-min}=\frac{x-min}{(max-x)+(x-min)}=\frac{x與最小值的距離}{x與最大值的距離+x與最小值的距離} \]
-
\[Z=\left[\begin{matrix}z_{11}&z_{12}&\cdots&z_{1m}\\z_{21}&z_{22}&\cdots&z_{2m}\\\vdots&\vdots&\ddots&\vdots\\z_{n1}&z_{n2}&\cdots&z_{nm}\end{matrix}\right] \]
-
定義最大值Z^+^=(\(Z^+_1,Z^+_2,\cdots,Z^+_m\)) = (max{\(z_{11},z_{21},\cdots,z_{n1}\)},max{\(z_{12},z_{22},\cdots,z_{n2}\)},\(\cdots\),max{\(z_{1m},z_{2m},\cdots,z_{nm}\)})
-
定義最小值定義最大值Z^—^=(\(Z^-_1,Z^-_2,\cdots,Z^-_m\)) = (min{\(z_{11},z_{21},\cdots,z_{n1}\)},min{\(z_{12},z_{22},\cdots,z_{n2}\)},\(\cdots\),min{\(z_{1m},z_{2m},\cdots,z_{nm}\)})
-
定義第i(i=1,2,3,\(\cdots\),n)個評價物件與最大值的距離:
-
\[D^+_i=\sqrt{\sum_{j=1}^m (Z^+_j-z_{ij})^2} \]
-
-
定義第i(i=1,2,3,\(\cdots\),n)個評價物件與最小值的距離:
-
\[D^-_i=\sqrt{\sum_{j=1}^m (Z^-_j-z_{ij})^2} \]
-
-
那麼,我們可以計算得出第i(i=1,2,\(\cdots\),n)個評價物件未歸一化的得分:S~i~=\(\frac{D^-_i}{D^+_i+D^-_i}\)很明顯。0\(\leq\)S~i~$\leq$1,且S~i~越大 \(D^+_i\) 越小,即越接近最大值。
-
解題思路:
第一步:將原始矩陣正向化,將所有的指標型別統一轉化為極大型指標。
-
極小型指標轉化為極大型指標:max-x,或者是\(\frac{1}{x}\)
-
中間型指標轉化為極大型指標:
- 中間型指標:指標值既不要太大也不要太小,取某特定值最好。
- {x~i~}是一組中間型指標序列,且最佳的數值為x~best~,那麼正向化公式如下:M=max{|x~i~—x~best~|},\(\tilde{x}\)=1— \(\frac{|x~i~— x~best~|}{M}\) 。
-
區間型指標轉化為極大型指標:
-
\[f(x)=\left\{ \begin{aligned} 1-\frac{a-x_i}{M} &,x_i<a\\ 1&,a\leq x_i\leq b\\ 1-\frac{x_i-b}{M}&,x_i>b \end{aligned} \right. \]
-
第二步:
-
正向化矩陣標準化。
X = [89,1; 60,3; 74,2; 99,0] [n , m] = size(X) X ./ repmat(sum(X.*X) .^ 0.5, n, 1)
第三步:
-
構建計算公式計算得分並歸一化
= [89,1;60,3;74,2;99,0] [n , m] = size(X); Z = X ./ repmat(sum(X.*X) .^ 0.5,n,1); D_P = sum([(Z - repmat(max(Z),n,1)).^2 ],2) .^ 0.5 %D+向量 D_N = sum([(Z - repmat(min(Z),n,1)).^2 ],2) .^ 0.5 %D-向量
- 得分歸一化:\(\tilde{S_i}=\frac{S_i}{\sum_{i=1}^n S_i}\),這樣的話,\(\sum_{i=i}^n \tilde{S_i}=1\) 。
- 得分歸一化不影響排序。
-
當加上權重的時候,需要\(D^+_i=\sqrt{\sum_{j=1}^m w_i(Z^+_j-z_{ij})^2}\),其他的類似。w~i~在這裡是權重。