fuzzy-comprehensive-evaluation

fuzzy-comprehensive-evaluation

Charles Lv7

模糊综合评价法

模糊综合评价法的概念与建模

模糊集

现实中的许多现象及关系比较模糊。如高与矮长与短,大与小,多与少,穷与富,好与差,年轻与年老等。这类现象不满足“非此即彼”的排中律,而具有“亦此亦彼”的模糊性,需要指出的是,模糊不确定不同于随机不确随机不确定是因果律破损造成的不确定,而定。模糊不确定是由于排中律破损造成的不确定。

为了研究模糊现象和关系,我们引入了模糊集的概念。

image-20230902123303334

显然,每个元素都有隶属度的集合即为模糊集。确定模糊集的关键是构造隶属函数。

模糊综合评价法的概念

模糊综合评价法(Fuzzy Comprehensive Evaluation Method)是一种基于模糊数学理论的评价方法,用于处理模糊、不确定或多指标的决策问题。该方法将模糊集合理论与数学模型相结合,通过量化和综合各种评价指标的模糊信息,得出最终的评价结果。

模糊综合评价法在许多领域中应用广泛,如决策分析、工程评价、经济评估、环境评价等。它能够处理多指标、不确定性和模糊性的问题,提供一种相对灵活和全面的评价方法。

模糊综合评价法的优点

模糊综合评价法具有结果清晰,系统性强的特点,能较好地解决模糊的、难以量化的问题,适合各种非确定性问题的解决。

模糊综合评价法的缺点

计算复杂,对指标权重矢量的确定主观性较强。当指标集U较大,即指标集个数凡较大时,在权矢量和为1的条件约束下,相对隶属度权系数往往偏小,权矢量与模糊矩阵R不匹配,结果会出现超模糊现象,分辨率很差,无法区分谁的隶属度更高,甚至造成评判失败,此时可用分层模糊评估法加以改进。

模糊综合评价法的建模

模糊综合评价模型的适用范围

模糊综合评价模型属于评价类模型,适用于经济学领域多因素、多层次的复杂问题。

一级模糊综合评价的基本步骤

确定权重的方法很多,如Delphi法,加权平均法,众人评价法

image-20230902122840234 image-20230902122856094
二级模糊综合评价

对于一些复杂的系统,如人事考核中涉及的指标较多时,需要考虑的因素很多,这时如果仍用一级模糊综合评判,则会出现两个方面的问题**:一是因素过多,它们的权数分配难以确定;另一方面,即使确定了权分配,由于需要满足归一化条件,每个因素的权值都小,对这种系统,可以采用多层次模糊综合评判方法**。对于人事考核而言,采用二级系统就足以解决问题了,如果实际中要划分更多的层次,那么可以用二级模糊综合评判的方法类推。

image_20230904153654

所谓的多级模糊综合评价本质还是套娃,计算机的本质是套娃

Python代码示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
import numpy as np
import skfuzzy as fuzz

# 定义评价指标和评价等级
price = np.arange(0, 11, 1)
appearance = np.arange(0, 11, 1)
functionality = np.arange(0, 11, 1)
durability = np.arange(0, 11, 1)

# 定义模糊隶属函数
price_low = fuzz.trimf(price, [0, 0, 5])
price_medium = fuzz.trimf(price, [0, 5, 10])
price_high = fuzz.trimf(price, [5, 10, 10])

appearance_poor = fuzz.trimf(appearance, [0, 0, 5])
appearance_average = fuzz.trimf(appearance, [0, 5, 10])
appearance_good = fuzz.trimf(appearance, [5, 10, 10])

functionality_poor = fuzz.trimf(functionality, [0, 0, 5])
functionality_average = fuzz.trimf(functionality, [0, 5, 10])
functionality_good = fuzz.trimf(functionality, [5, 10, 10])

durability_poor = fuzz.trimf(durability, [0, 0, 5])
durability_average = fuzz.trimf(durability, [0, 5, 10])
durability_good = fuzz.trimf(durability, [5, 10, 10])

# 模糊化
price_level_low = fuzz.interp_membership(price, price_low, 3)
price_level_medium = fuzz.interp_membership(price, price_medium, 6)
price_level_high = fuzz.interp_membership(price, price_high, 9)

appearance_level_poor = fuzz.interp_membership(appearance, appearance_poor, 2)
appearance_level_average = fuzz.interp_membership(appearance, appearance_average, 5)
appearance_level_good = fuzz.interp_membership(appearance, appearance_good, 8)

functionality_level_poor = fuzz.interp_membership(functionality, functionality_poor, 4)
functionality_level_average = fuzz.interp_membership(functionality, functionality_average, 7)
functionality_level_good = fuzz.interp_membership(functionality, functionality_good, 10)

durability_level_poor = fuzz.interp_membership(durability, durability_poor, 3)
durability_level_average = fuzz.interp_membership(durability, durability_average, 6)
durability_level_good = fuzz.interp_membership(durability, durability_good, 9)

# 构建规则
rule1 = np.fmax(price_level_low, np.fmax(appearance_level_poor, np.fmax(functionality_level_poor, durability_level_poor)))
rule2 = np.fmax(price_level_low, np.fmax(appearance_level_poor, np.fmax(functionality_level_average, durability_level_poor)))
rule3 = np.fmax(price_level_medium, np.fmax(appearance_level_average, np.fmax(functionality_level_good, durability_level_good)))
rule4 = np.fmax(price_level_high, np.fmax(appearance_level_good, np.fmax(functionality_level_good, durability_level_good)))

# 求解模糊综合评价
result = np.fmax(rule1, np.fmax(rule2, np.fmax(rule3, rule4)))

# 解模糊化
defuzzified = fuzz.defuzz(price, result, 'centroid')

# 打印评价结果
print("综合评价结果:", defuzzified)
  • Title: fuzzy-comprehensive-evaluation
  • Author: Charles
  • Created at : 2023-09-02 12:07:29
  • Updated at : 2023-09-04 15:42:58
  • Link: https://charles2530.github.io/2023/09/02/fuzzy-comprehensive-evaluation/
  • License: This work is licensed under CC BY-NC-SA 4.0.
Comments