模糊综合评价法及Python实现

一、简介

模糊综合评价是以模糊数学为基础,应用模糊关系合成的原理,将一些边界不清,不易定量的因素定量化,进行综合评价的一种方法

例如“年轻”与“年老”、“高”与“矮”、“欢迎”与“不欢迎”等等。凡是涉及到模糊概念的现象,即称之为模糊现象。

模糊综合评价法的特点在于,评价对象逐个进行,对评价对象有唯一的评价值,不受评价对象所处对象集合的影响。

模糊综合评价的数学模型分为一级模型和多级模型,一级模型也称为单层次评价模型。首先对影响总目标的多个因素列出构成一个因素集(评价指标),同时建立评价集(评价等级)。然后进行单因素评判,根据评价集对因素集中每一个因素进行模糊判断,确定每个因素在评价集中对各个评价等级的隶属度的大小,构成模糊矩阵。对因素集中每个因素赋予不同的权重,构成权重向量,从而得出最后的评判结果。

二、模糊综合评价法优缺点

(1)优点

  1. 模糊综合评价法通过精确的数字手段处理模糊的评价对象,数学模型简单,容易掌握;
  2. 可以将不完全信息、不确定信息转化为模糊概念,使定性问题定量化,提高评估的准确性;
  3. 评价结果可以是一组向量,也可以是一个点值,包含的信息比较丰富。

(2)缺点

  1. 模糊关系矩阵、权重、算子的选择都有一定的主观性;
  2. 隶属函数的确定还没有明确的且系统的方法;
  3. 当同一指标层级的指标个数较多时,会导致权系数较小,出现超模糊现象,分辨率较差,造成评估失败。

三、模糊综合评价方法和步骤

模糊综合评价是通过构造等级模糊子集把反映被评事物的模糊指标进行量化(即确定隶属度),然后利用模糊变换原理对各指标综合

(1)确定评价对象的因素域值,即建立指标集

基于评价指标体系
例如

X一级指标二级指标
X1X11
X12
X13
X2X21
X22
X23
X3X31
X32

X = { X 1 , X 2 , ⋯   , X m } X=\{X_1,X_2,\cdots ,X_m\} X={X1,X2,,Xm}为待评价对象的 m 种指标,称为第一级评价指标集。

依据第一级评价指标集的具体情况,设定下属的第二级评价指标集
X i = { X i 1 , X i 2 , ⋯   , X i t } X_i=\{X_{i1},X_{i2},\cdots ,X_{it}\} Xi={Xi1,Xi2,,Xit},其中i=1,2,…,m。

依次类推,如需要,还可设定下属的第三级、第四级评价指标集,在此只研究到第二级的评价指标集。

(2)确定评语集

Y = { Y 1 , Y 2 , ⋯   , Y n } Y=\{Y_1,Y_2,\cdots ,Y_n\} Y={Y1,Y2,,Yn}为 n 种评语或等级

评语等级是模糊综合评价所必备的要素,必须事先进行确定。评语等级是用来对各个因素进行评价的模糊概念,评语集合是对评价对象作出各种不同评价的一个集合,集合的确定能够使得模糊综合评价得到一个模糊评价向量,通过评语的等级隶属度显示出来,

例如
选择评价等级为5,即设 Y = { Y 1 , Y 2 , ⋯   , Y 5 } Y=\{Y_1,Y_2,\cdots ,Y_5\} Y={Y1,Y2,,Y5} ,其中Y表示评语集, Y 1 Y_1 Y1表示很满意, Y 2 Y_2 Y2表示满意, Y 3 Y_3 Y3表示一般, Y 4 Y_4 Y4表示不太满意, Y 5 Y_5 Y5表示很不满意。不同的满意评价代表不同的满意状况

(3)建立模糊关系矩阵R

评价等级设置好之后,接下来就要判断X的每个因素相对于评价等级的隶属程度,隶属程度指的是某一项指标对于某一评价等级的属于程度。进而得到模糊关系矩阵
R = ( R ∣ x 1 R ∣ x 2 ⋯ R ∣ x m ) = ( r 11 r 12 ⋮ r m 1 r 12 r 22 ⋮ r m 2 ⋯ ⋯ ⋮ ⋯ r 1 n r 2 n ⋮ r m n ) m n R=\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=RRx1x2Rxm=r11r12rm1r12r22rm2r1nr2nrmnmn
其中m表示指标数,n表示评价等级, r i j r_{ij} rij表示因素 X i X_i Xi对模糊子集(评语) Y j Y_j Yj的隶属度。一般将其归一化处理,使得矩阵行和等于1,即
∑ j n r i j = 1 \sum_j^n{r_{ij}}=1 jnrij=1

一个被评事物在某个因素 X i X_i Xi方面的表现,是通过模糊向量
( R ∣ x i ) = ( r i 1 , r i 2 , ⋯ ⋯   , r i n ) \left( R|x_i \right) =\left( r_{i1},r_{i2},\cdots \cdots ,r_{in} \right) (Rxi)=(ri1,ri2,,rin)

来刻画的,而在其他评价方法中多是由一个指标实际值来刻画的,因此,从这个角度讲模糊综合评价要求更多的信息

也就是说

在指标集(因素集)中存在某个因素 X i X_i Xi,i=1,2,…,m,该因素对评语集Y的隶属向量度为 r i = ( r i 1 , r i 2 , ⋯   , r i n ) r_i=\left( r_{i1},r_{i2},\cdots ,r_{in} \right) ri=(ri1,ri2,,rin),其中 n 表示 n 种评语或等级,比如上面提到的 Y = { Y 1 , Y 2 , ⋯   , Y 5 } Y=\{Y_1,Y_2,\cdots ,Y_5\} Y={Y1,Y2,,Y5} ,此时 n=5。

同理,对于全部因素,都可以构造出与因素对应的隶属度向量,将其组成隶属向量矩阵R

对于模糊评判矩阵的构造,一般有两种情况:第一种是对于主观或者定性指标的模糊评判矩阵构造,可以使用等级比重法;第二种是对于客观或定量指标的模糊评判矩阵的构造,可以使用频率法。

(4)确定指标权重

在模糊综合评价中,确定评价因素的权向量 W = ( w 1 , w 2 , ⋯   , w m ) W=\left( w_1,w_2,\cdots ,w_m \right) W=(w1,w2,,wm)
权向量W中的元素 w i w_i wi本质上是因素 X i X_i Xi对模糊子(对被评事物重要的因素)的隶属度。

在模糊综合评价法中,权重的确定一般需要专家的知识和经验,具有一定的缺陷。通常采用层次分析法来确定各指标的权系数,使其更有合理性,更符合客观实际并易于定量表示,从而提高模糊综合评判结果的准确性

(5)建立一级指标模糊评价

一级模糊评价的建立需要利用模糊合成算子来进行,合成过程如下:
W ∘ R = ( w 1 , w 2 , . . . w m ) ∘ [ r 11 r 12 ⋮ r m 1 r 12 r 22 ⋮ r m 2 ⋯ ⋯ ⋮ ⋯ r 1 n r 2 n ⋮ r m n ] = ( b 1 , b 2 , ⋯   , b n ) ≜ B W\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 WR=(w1,w2,...wm)r11r12rm1r12r22rm2r1nr2nrmn=(b1,b2,,bn)B
其中“ ∘ \circ ” 为模糊合成算子, B = ( b 1 , b 2 , ⋯   , b n ) B=\left( b_1,b_2,\cdots ,b_n \right) B=(b1,b2,,bn)为模糊评价结果向量,一般需要归一化处理,满足
∑ j b j = 1 \sum_j^{}{b_j}=1 jbj=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 ) ( 1 2 0 3 1 1 0 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) B = WR=(2,0,1)130214012

  • 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 ) ( 1 2 0 3 1 1 0 4 2 ) = ( 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 = WR=(2,0,1)130214012=(1,2,1)

  • M ( ∙ , ∨ ) M\left( \bullet ,\lor \right) M(,) 表示先乘,再取大
    同上边的计算方法一样,不同的只在于上边是先取小,这里是先相乘
    结果为:

B    =    W ∘ R = ( 2 , 0 , 1 ) ( 1 2 0 3 1 1 0 4 2 ) = ( 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=WR=(2,0,1)130214012=(2,4,2)

  • M ( ∙ , ⊕ ) M\left( \bullet ,\oplus \right) M(,) 表示先相乘,再求和
    结果为:
    B    =    W ∘ R = ( 2 , 0 , 1 ) ( 1 2 0 3 1 1 0 4 2 ) = ( 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=WR=(2,0,1)130214012=(2,8,2)

  • M ( ∧ , ⊕ ) M\left( \land ,\oplus \right) M(,)表示先取小,再求和
    结果为:

B    =    W ∘ R = ( 2 , 0 , 1 ) ( 1 2 0 3 1 1 0 4 2 ) = ( 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=WR=(2,0,1)130214012=(1,3,1)

最后,在实际应用中 ( ∧ , ∨ ) , ( ∙ , ⊕ ) \left( \land ,\lor \right) \text{,}\left( \bullet ,\oplus \right) (,)(,)算子最为常用。

四种模糊合成算子的特点
在这里插入图片描述

(6)建立二级模糊评价

根据以上一级模糊综合评价的结果,作为二级模糊综合评价的关系矩阵,利用前述方法,进一步得到二级模糊综合评价结果。

(7) 模糊评价结果处理

模糊综合评价法中提供了两种可供选择的结果处理方法,这里采用参数加权平均法进行结果的处理计算,具体计算过程如下:

在评判向量 B ( b 1 , b 2 , ⋯   , b j , ⋯   , b n ) B\left( b_1,b_2,\cdots ,b_j,\cdots ,b_n \right) B(b1,b2,,bj,,bn)中给各评定等级以参数值 c 1 , c 2 . . . , c k c_1,c_2...,c_k c1,c2...,ck,等级由高到低,且间距相等,为了突出优势等级的作用,可用各隶属度的幂加权平均法得到参数加权平均的公式:
C = ∑ j = 1 n b j t c k ∑ j = 1 n b j t C=\frac{\sum\limits_{j=1}^n{b_{j}^{t}c_k}}{\sum\limits_{j=1}^n{b_{j}^{t}}} C=j=1nbjtj=1nbjtck

其中,t为待定系数,根据具体情况而定,一般可取 t=1,2
最后根据C的取值,根据评价定量分级标准对用户的满意度进行评级,对照表如下:
在这里插入图片描述
补充

在这里插入图片描述

两种定量化处理都可以

例子1
在这里插入图片描述
例子2

在这里插入图片描述在这里插入图片描述

最后

模糊综合评价也可以使用软件完成

http://note.youdao.com/noteshare?id=2d89910d18eeb75d77d99737b0eb7d3d

在这里插入图片描述
在这里插入图片描述

python实现
请参见博文:
模糊层次综合分析法Python实践及相关优缺点分析

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值