模糊综合评价法及Python实现
一、簡介
模糊綜合評價是以模糊數學為基礎,應用模糊關系合成的原理,將一些邊界不清,不易定量的因素定量化,進行綜合評價的一種方法
例如“年輕”與“年老”、“高”與“矮”、“歡迎”與“不歡迎”等等。凡是涉及到模糊概念的現象,即稱之為模糊現象。
模糊綜合評價法的特點在于,評價對象逐個進行,對評價對象有唯一的評價值,不受評價對象所處對象集合的影響。
模糊綜合評價的數學模型分為一級模型和多級模型,一級模型也稱為單層次評價模型。首先對影響總目標的多個因素列出構成一個因素集(評價指標),同時建立評價集(評價等級)。然后進行單因素評判,根據評價集對因素集中每一個因素進行模糊判斷,確定每個因素在評價集中對各個評價等級的隸屬度的大小,構成模糊矩陣。對因素集中每個因素賦予不同的權重,構成權重向量,從而得出最后的評判結果。
二、模糊綜合評價法優缺點
(1)優點
(2)缺點
三、模糊綜合評價方法和步驟
模糊綜合評價是通過構造等級模糊子集把反映被評事物的模糊指標進行量化(即確定隸屬度),然后利用模糊變換原理對各指標綜合
(1)確定評價對象的因素域值,即建立指標集
基于評價指標體系
例如
| X1 | X11 | |
| X12 | ||
| X13 | ||
| X2 | X21 | |
| X22 | ||
| X23 | ||
| X3 | X31 | |
| X32 |
設X={X1,X2,?,Xm}X=\{X_1,X_2,\cdots ,X_m\}X={X1?,X2?,?,Xm?}為待評價對象的 m 種指標,稱為第一級評價指標集。
依據第一級評價指標集的具體情況,設定下屬的第二級評價指標集
Xi={Xi1,Xi2,?,Xit}X_i=\{X_{i1},X_{i2},\cdots ,X_{it}\}Xi?={Xi1?,Xi2?,?,Xit?},其中i=1,2,…,m。
依次類推,如需要,還可設定下屬的第三級、第四級評價指標集,在此只研究到第二級的評價指標集。
(2)確定評語集
設Y={Y1,Y2,?,Yn}Y=\{Y_1,Y_2,\cdots ,Y_n\}Y={Y1?,Y2?,?,Yn?}為 n 種評語或等級
評語等級是模糊綜合評價所必備的要素,必須事先進行確定。評語等級是用來對各個因素進行評價的模糊概念,評語集合是對評價對象作出各種不同評價的一個集合,集合的確定能夠使得模糊綜合評價得到一個模糊評價向量,通過評語的等級隸屬度顯示出來,
例如
選擇評價等級為5,即設Y={Y1,Y2,?,Y5}Y=\{Y_1,Y_2,\cdots ,Y_5\}Y={Y1?,Y2?,?,Y5?} ,其中Y表示評語集,Y1Y_1Y1?表示很滿意,Y2Y_2Y2?表示滿意, Y3Y_3Y3?表示一般, Y4Y_4Y4?表示不太滿意, Y5Y_5Y5?表示很不滿意。不同的滿意評價代表不同的滿意狀況
(3)建立模糊關系矩陣R
評價等級設置好之后,接下來就要判斷X的每個因素相對于評價等級的隸屬程度,隸屬程度指的是某一項指標對于某一評價等級的屬于程度。進而得到模糊關系矩陣
R=(R∣x1R∣x2?R∣xm)=(r11r12?rm1r12r22?rm2????r1nr2n?rmn)mnR=\left( \begin{array}{c} \begin{matrix} R|& \text{x}_1\\ R|& x_2\\ \end{matrix}\\ \begin{array}{c} \cdots\\ \begin{matrix} R|& x_m\\ \end{matrix}\\ \end{array}\\ \end{array} \right) =\left( \begin{array}{c} r_{11}\\ r_{12}\\ \vdots\\ r_{m1}\\ \end{array}\begin{array}{c} \\ \\ \\ \end{array}\begin{array}{c} r_{12}\\ r_{22}\\ \vdots\\ r_{m2}\\ \end{array}\begin{array}{c} \\ \\ \\ \end{array}\begin{array}{c} \cdots\\ \cdots\\ \vdots\\ \cdots\\ \end{array}\begin{array}{c} \\ \\ \\ \end{array}\begin{array}{c} r_{1n}\\ r_{2n}\\ \vdots\\ r_{mn}\\ \end{array} \right) _{mn}R=?????R∣R∣?x1?x2???R∣?xm?????????=??????r11?r12??rm1???r12?r22??rm2?????????r1n?r2n??rmn????????mn?
其中m表示指標數,n表示評價等級,rijr_{ij}rij?表示因素XiX_iXi?對模糊子集(評語)YjY_jYj?的隸屬度。一般將其歸一化處理,使得矩陣行和等于1,即
∑jnrij=1\sum_j^n{r_{ij}}=1 j∑n?rij?=1
一個被評事物在某個因素XiX_iXi?方面的表現,是通過模糊向量
(R∣xi)=(ri1,ri2,??,rin)\left( R|x_i \right) =\left( r_{i1},r_{i2},\cdots \cdots ,r_{in} \right) (R∣xi?)=(ri1?,ri2?,??,rin?)
來刻畫的,而在其他評價方法中多是由一個指標實際值來刻畫的,因此,從這個角度講模糊綜合評價要求更多的信息
也就是說
在指標集(因素集)中存在某個因素XiX_iXi?,i=1,2,…,m,該因素對評語集Y的隸屬向量度為ri=(ri1,ri2,?,rin)r_i=\left( r_{i1},r_{i2},\cdots ,r_{in} \right)ri?=(ri1?,ri2?,?,rin?),其中 n 表示 n 種評語或等級,比如上面提到的Y={Y1,Y2,?,Y5}Y=\{Y_1,Y_2,\cdots ,Y_5\}Y={Y1?,Y2?,?,Y5?} ,此時 n=5。
同理,對于全部因素,都可以構造出與因素對應的隸屬度向量,將其組成隸屬向量矩陣R
對于模糊評判矩陣的構造,一般有兩種情況:第一種是對于主觀或者定性指標的模糊評判矩陣構造,可以使用等級比重法;第二種是對于客觀或定量指標的模糊評判矩陣的構造,可以使用頻率法。
(4)確定指標權重
在模糊綜合評價中,確定評價因素的權向量W=(w1,w2,?,wm)W=\left( w_1,w_2,\cdots ,w_m \right) W=(w1?,w2?,?,wm?)
權向量W中的元素wiw_iwi?本質上是因素XiX_iXi?對模糊子(對被評事物重要的因素)的隸屬度。
在模糊綜合評價法中,權重的確定一般需要專家的知識和經驗,具有一定的缺陷。通常采用層次分析法來確定各指標的權系數,使其更有合理性,更符合客觀實際并易于定量表示,從而提高模糊綜合評判結果的準確性
(5)建立一級指標模糊評價
一級模糊評價的建立需要利用模糊合成算子來進行,合成過程如下:
W°R=(w1,w2,...wm)°[r11r12?rm1r12r22?rm2????r1nr2n?rmn]=(b1,b2,?,bn)?BW\circ R=\left( w_1,w_2,...w_m \right) \circ \left[ \begin{array}{c} r_{11}\\ r_{12}\\ \vdots\\ r_{m1}\\ \end{array}\begin{array}{c} \\ \\ \\ \end{array}\begin{array}{c} r_{12}\\ r_{22}\\ \vdots\\ r_{m2}\\ \end{array}\begin{array}{c} \\ \\ \\ \end{array}\begin{array}{c} \cdots\\ \cdots\\ \vdots\\ \cdots\\ \end{array}\begin{array}{c} \\ \\ \\ \end{array}\begin{array}{c} r_{1n}\\ r_{2n}\\ \vdots\\ r_{mn}\\ \end{array} \right] =\left( \text{b}_1,b_2,\cdots ,\text{b}_n \right) \triangleq B W°R=(w1?,w2?,...wm?)°??????r11?r12??rm1???r12?r22??rm2?????????r1n?r2n??rmn????????=(b1?,b2?,?,bn?)?B
其中“°\circ°” 為模糊合成算子,B=(b1,b2,?,bn)B=\left( b_1,b_2,\cdots ,b_n \right)B=(b1?,b2?,?,bn?)為模糊評價結果向量,一般需要歸一化處理,滿足
∑jbj=1\sum_j^{}{b_j}=1 j∑?bj?=1
一般模糊合成算子有四種:
M(∧,∨),M(?,∨),M(?,⊕),M(∧,⊕)M\left( \land ,\lor \right) \text{,}M\left( \bullet ,\lor \right) \text{,}M\left( \bullet ,\oplus \right) \text{,}M\left( \land ,\oplus \right) M(∧,∨),M(?,∨),M(?,⊕),M(∧,⊕)
舉個簡單例子
B=W°R=(2,0,1)(120311042)B\ =\ W\circ R=\left( 2,0,1 \right) \left( \begin{matrix} 1& 2& 0\\ 3& 1& 1\\ 0& 4& 2\\ \end{matrix} \right) B?=?W°R=(2,0,1)???130?214?012????
- M(∧,∨)M\left( \land ,\lor \right)M(∧,∨) 表示先取小,再取大。
先取小:
左邊第一個與右邊第一列的第一個(2和1—取1)
左邊第二個與右邊第一列的第二個(0和3—取0)
左邊第三個與右邊第一列的第三個(1和0—取0)
再取大:
(1,0,0)-----取1
同理
(2,0,1)-----取2
(0,0,1)-----取1
最終:
B=W°R=(2,0,1)(120311042)=(1,2,1)B\ =\ W\circ R=\left( 2,0,1 \right) \left( \begin{matrix} 1& 2& 0\\ 3& 1& 1\\ 0& 4& 2\\ \end{matrix} \right) =\left( 1,2,1 \right) B?=?W°R=(2,0,1)???130?214?012????=(1,2,1)
- M(?,∨)M\left( \bullet ,\lor \right)M(?,∨) 表示先乘,再取大
同上邊的計算方法一樣,不同的只在于上邊是先取小,這里是先相乘
結果為:
B=W°R=(2,0,1)(120311042)=(2,4,2)B\,\,=\,\,W\circ R=\left( 2,0,1 \right) \left( \begin{matrix} 1& 2& 0\\ 3& 1& 1\\ 0& 4& 2\\ \end{matrix} \right) =\left( 2,4,2 \right) B=W°R=(2,0,1)???130?214?012????=(2,4,2)
-
M(?,⊕)M\left( \bullet ,\oplus \right)M(?,⊕) 表示先相乘,再求和
結果為:
B=W°R=(2,0,1)(120311042)=(2,8,2)B\,\,=\,\,W\circ R=\left( 2,0,1 \right) \left( \begin{matrix} 1& 2& 0\\ 3& 1& 1\\ 0& 4& 2\\ \end{matrix} \right) =\left( 2,8,2 \right) B=W°R=(2,0,1)???130?214?012????=(2,8,2) -
M(∧,⊕)M\left( \land ,\oplus \right)M(∧,⊕)表示先取小,再求和
結果為:
B=W°R=(2,0,1)(120311042)=(1,3,1)B\,\,=\,\,W\circ R=\left( 2,0,1 \right) \left( \begin{matrix} 1& 2& 0\\ 3& 1& 1\\ 0& 4& 2\\ \end{matrix} \right) =\left( 1,3,1 \right) B=W°R=(2,0,1)???130?214?012????=(1,3,1)
最后,在實際應用中 (∧,∨),(?,⊕)\left( \land ,\lor \right) \text{,}\left( \bullet ,\oplus \right)(∧,∨),(?,⊕)算子最為常用。
四種模糊合成算子的特點
(6)建立二級模糊評價
根據以上一級模糊綜合評價的結果,作為二級模糊綜合評價的關系矩陣,利用前述方法,進一步得到二級模糊綜合評價結果。
(7) 模糊評價結果處理
模糊綜合評價法中提供了兩種可供選擇的結果處理方法,這里采用參數加權平均法進行結果的處理計算,具體計算過程如下:
在評判向量B(b1,b2,?,bj,?,bn)B\left( b_1,b_2,\cdots ,b_j,\cdots ,b_n \right)B(b1?,b2?,?,bj?,?,bn?)中給各評定等級以參數值 c1,c2...,ckc_1,c_2...,c_kc1?,c2?...,ck?,等級由高到低,且間距相等,為了突出優勢等級的作用,可用各隸屬度的冪加權平均法得到參數加權平均的公式:
C=∑j=1nbjtck∑j=1nbjtC=\frac{\sum\limits_{j=1}^n{b_{j}^{t}c_k}}{\sum\limits_{j=1}^n{b_{j}^{t}}}C=j=1∑n?bjt?j=1∑n?bjt?ck??
其中,t為待定系數,根據具體情況而定,一般可取 t=1,2
最后根據C的取值,根據評價定量分級標準對用戶的滿意度進行評級,對照表如下:
補充
兩種定量化處理都可以
例子1
例子2
最后
模糊綜合評價也可以使用軟件完成
http://note.youdao.com/noteshare?id=2d89910d18eeb75d77d99737b0eb7d3d
python實現
請參見博文:
模糊層次綜合分析法Python實踐及相關優缺點分析
總結
以上是生活随笔為你收集整理的模糊综合评价法及Python实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [Leetcode][第93题][JAV
- 下一篇: Python 生成器 迭代器