DEMATEL-FISM-MICMAC
方法概述
DEMATEL-FISM-MICMAC 将决策实验室分析法(DEMATEL)、模糊解释结构模型(FISM)与影响矩阵乘法分类法(MICMAC)有机结合,形成一套完整的系统因素分析框架。DEMATEL 量化因素间的直接影响强度,计算中心度与原因度,识别关键因素及其因果属性;FISM 将 DEMATEL 的综合影响矩阵作为模糊关系矩阵,通过模糊算子对计算模糊可达矩阵,并在多个截距水平下构建系统的层次结构;MICMAC 则基于当前截距水平下的 ISM 可达矩阵计算因素的驱动力与依赖度,将因素划分为驱动、依赖、关联与独立四类,明确系统的杠杆点与脆弱点。
三种方法的互补优势:
- DEMATEL:利用专家打分量化因素间的直接影响强度,计算中心度与原因度,识别核心原因因素与核心结果因素。
- FISM:基于 DEMATEL 的综合影响矩阵(模糊关系矩阵),采用模糊算子对计算传递闭包得到模糊可达矩阵,自动提取阈值集合,并在每个截距下进行 ISM 分析,展示系统层次结构随关系强度变化的过程。
- MICMAC:基于当前截距水平下的 ISM 可达矩阵,计算各因素的驱动力(行和)与依赖度(列和),以平均值为界进行四象限分类,回答”哪些因素驱动系统、哪些因素依赖系统”。
融合流程:
- 收集多位专家对因素间直接影响程度的打分(0~4 分或自定义),加权聚合得到直接影响矩阵。
- 执行 DEMATEL 分析,计算综合影响矩阵、中心度、原因度,绘制因果散点图。
- 将 DEMATEL 的综合影响矩阵作为 FISM 的模糊关系矩阵。
- 计算模糊相乘矩阵(模糊关系矩阵 + 单位矩阵)。
- 根据选择的模糊算子对,通过传递闭包算法计算模糊可达矩阵。
- 从模糊可达矩阵中提取所有不重复的非零值作为阈值集合(截距水平)。
- 对每个阈值,生成截距矩阵(布尔矩阵),并对其进行经典 ISM 分析:计算可达矩阵、骨架矩阵、层级划分。
- 基于当前截距水平下的 ISM 可达矩阵执行 MICMAC 分析,计算驱动力、依赖度、权重并进行四象限分类。
- 输出 DEMATEL、FISM 多截距分析结果与 MICMAC 分类结果,支持选择任意截距查看详细的层级结构与对应的 MICMAC 分析。
该方法适用于因素间关系具有模糊性、需要同时分析影响强度、层次结构以及因素驱动-依赖属性的复杂系统问题。
计算步骤
1. 构建直接影响矩阵
设有 \(n\) 个因素,\(K\) 位专家。每位专家给出一个 \(n \times n\) 直接影响矩阵 \(X^{(k)}\),元素 \(x_{ij}^{(k)}\) 表示专家 \(k\) 认为因素 \(i\) 对因素 \(j\) 的直接影响强度(通常采用 0~4 分制:0=无影响,1=低影响,2=中影响,3=高影响,4=极高影响),且 \(x_{ii}^{(k)} = 0\)。
设专家权重为 \(w_k\)(\(\sum_{k=1}^{K} w_k = 1\)),聚合后的直接影响矩阵 \(A = [a_{ij}]\): \[ a_{ij} = \sum_{k=1}^{K} w_k \cdot x_{ij}^{(k)} \]
2. DEMATEL 分析
2.1 规范化直接影响矩阵
选择规范化方法(行和最大值、列和最大值、行和列和最大值),计算规范化因子 \(s\),得到规范影响矩阵 \(B = A / s\)。
2.2 计算综合影响矩阵
综合影响矩阵 \(T\) 反映了直接与间接影响总和: \[ T = B + B^2 + B^3 + \cdots = B (I - B)^{-1} \] 其中 \(I\) 为单位矩阵。实际计算中先求 \(I-B\) 的逆矩阵,再左乘 \(B\)。
2.3 计算关键指标
- 影响度 \(D_i = \sum_{j=1}^{n} t_{ij}\)
- 被影响度 \(C_i = \sum_{j=1}^{n} t_{ji}\)
- 中心度 \(M_i = D_i + C_i\)(重要性)
- 原因度 \(R_i = D_i - C_i\)(\(R_i>0\) 为原因因素,\(R_i<0\) 为结果因素)
以中心度均值 \(\bar{M}\) 为界,将因素分为四类:
| 原因度 | 中心度 | 因素属性 | 管理含义 |
|---|---|---|---|
| \(R_i > 0\) | \(M_i > \bar{M}\) | 核心原因 | 系统关键驱动源,应优先干预 |
| \(R_i > 0\) | \(M_i \le \bar{M}\) | 一般原因 | 次要驱动因素,可后续改进 |
| \(R_i < 0\) | \(M_i > \bar{M}\) | 核心结果 | 关键输出指标,反映系统状态 |
| \(R_i < 0\) | \(M_i \le \bar{M}\) | 一般结果 | 次要结果因素,影响较小 |
3. DEMATEL 到 FISM 的转换
将 DEMATEL 的综合影响矩阵 \(T\) 作为 FISM 的模糊关系矩阵 \(F\)(\(f_{ij} \in [0,1]\))。
4. FISM 分析
4.1 计算模糊相乘矩阵
模糊相乘矩阵 \(M = F + I\)(对角线设为 1),确保因素自身的完全可达性。
4.2 选择模糊算子对
平台提供 16 种模糊算子对(乘法算子 \(\otimes\) 与加法算子 \(\oplus\) 的组合),用于模糊合成运算。常见算子包括:
| 类型 | 乘法算子 \(\otimes\) | 加法算子 \(\oplus\) |
|---|---|---|
| 查德(最小-最大) | \(\min(a,b)\) | \(\max(a,b)\) |
| 概率 | \(a \cdot b\) | \(a + b - a b\) |
| 有界 | \(\max(0, a+b-1)\) | \(\min(1, a+b)\) |
| 爱因斯坦 | \(\frac{ab}{1+(1-a)(1-b)}\) | \(\frac{a+b}{1+ab}\) |
平台提供 16 种组合(查德乘-查德加、查德乘-概率加、…、爱因斯坦乘-爱因斯坦加)。
4.3 计算模糊可达矩阵
采用传递闭包算法迭代计算模糊可达矩阵 \(R\): \[ R^{(0)} = M,\quad R^{(k+1)} = R^{(k)} \oplus (R^{(k)} \otimes R^{(k)}) \] 迭代直到 \(R\) 不再变化。\(r_{ij}\) 表示因素 \(i\) 到 \(j\) 的综合可达程度。
4.4 提取阈值集合
从模糊可达矩阵 \(R\) 中提取所有不重复的非零值,按降序排列得阈值集合 \(\Lambda = \{\lambda_1 > \lambda_2 > \dots > \lambda_t\}\)。
4.5 对每个阈值进行截距 ISM 分析
对于每个 \(\lambda \in \Lambda\):
- 生成截距矩阵 \(A_\lambda\):\(a_{ij}^{(\lambda)} = 1\) 若 \(r_{ij} \ge \lambda\),否则 \(0\)。
- 计算可达矩阵:对 \(A_\lambda\) 添加自反性(对角线为 1),用 Warshall 算法计算传递闭包,得布尔可达矩阵 \(R_\lambda\)。
- 计算骨架矩阵:删除传递冗余关系,保留必要的直接关系。
- 层级划分:计算每个因素的可达集 \(R(i)\)、前因集 \(Q(i)\)、交集 \(C(i)=R(i) \cap Q(i)\),迭代找出满足 \(R(i)=C(i)\) 的因素作为当前层级,移除后重复,直至所有因素被分配。最终得到从顶层(驱动因素)到底层(结果因素)的序列。
5. MICMAC 分析
MICMAC(Matrix of Impacts Cross-Reference Multiplication Applied to a Classification)基于当前截距水平下的 ISM 可达矩阵 \(R_\lambda\),计算因素的驱动力和依赖度,据此进行分类。切换截距水平时,MICMAC 结果随可达矩阵的变化同步更新。
5.1 驱动力与依赖度计算
驱动力(行和):因素 \(i\) 能够到达的因素总数 \[ DP_i = \sum_{j=1}^{n} r_{ij} \]
依赖度(列和):能够到达因素 \(i\) 的因素总数 \[ DE_i = \sum_{j=1}^{n} r_{ji} \]
驱动力越高,表明该因素越能影响其他因素;依赖度越高,表明该因素越受其他因素影响。
5.2 因素分类
以平均驱动力 \(\overline{DP} = \frac{1}{n}\sum_i DP_i\) 和平均依赖度 \(\overline{DE} = \frac{1}{n}\sum_i DE_i\) 为界,将因素分为四类:
| 驱动力 | 依赖度 | 因素属性 | 管理含义 |
|---|---|---|---|
| 高 | 低 | 驱动因素 | 系统的杠杆点,干预效果扩散广 |
| 低 | 高 | 依赖因素 | 系统的脆弱点,受其他因素制约 |
| 高 | 高 | 关联因素 | 处于核心枢纽位置,双向影响 |
| 低 | 低 | 独立因素 | 相对孤立,影响有限 |
5.3 权重计算
因素权重基于驱动力和依赖度的综合贡献: \[ w_i^{(MIC)} = \frac{DP_i + DE_i}{\sum_{j=1}^{n} (DP_j + DE_j)} \]
6. 结果可视化
- DEMATEL 散点图:以中心度为横坐标、原因度为纵坐标(可切换为影响度-被影响度图),用颜色区分因素属性。
- FISM 层次结构图:用户可选择任意截距水平,根据该截距下的骨架矩阵和层级绘制有向层次图,箭头表示直接关系。
- MICMAC 四象限图:以驱动力为横坐标、依赖度为纵坐标,自动绘制驱动力与依赖度均值参考线,按四象限分类着色。
案例分析
案例背景:某企业拟分析影响产品质量的四个因素:员工技能(F1)、设备精度(F2)、原材料质量(F3)、工艺规范(F4)。邀请两位专家(权重相等)采用 0~4 分制打分,原始数据(仅示专家1)如下:
| F1 | F2 | F3 | F4 | |
|---|---|---|---|---|
| F1 | 0 | 3 | 2 | 4 |
| F2 | 2 | 0 | 3 | 3 |
| F3 | 1 | 2 | 0 | 1 |
| F4 | 3 | 2 | 2 | 0 |
专家2矩阵略(假设与专家1相近)。经加权聚合得直接影响矩阵 \(A\)(数值简化):
\[ A = \begin{bmatrix} 0 & 2.5 & 2.0 & 3.5 \\ 2.0 & 0 & 2.5 & 2.5 \\ 1.5 & 2.0 & 0 & 1.5 \\ 2.5 & 2.0 & 2.0 & 0 \end{bmatrix} \]
计算过程
1. DEMATEL 分析
采用行和最大值法规范化:
- 行和:\([8.0, 7.0, 5.0, 6.5]\),最大行和 \(s=8.0\)
- 规范矩阵 \(B = A / 8.0\),计算综合影响矩阵 \(T = B(I-B)^{-1}\)(数值简化):
\[ T = \begin{bmatrix} 0.20 & 0.35 & 0.28 & 0.42 \\ 0.28 & 0.18 & 0.32 & 0.35 \\ 0.18 & 0.25 & 0.12 & 0.22 \\ 0.30 & 0.28 & 0.25 & 0.15 \end{bmatrix} \]
- 影响度 \(D = [1.25, 1.13, 0.77, 0.98]\)
- 被影响度 \(C = [0.96, 1.06, 0.97, 1.14]\)
- 中心度 \(M = [2.21, 2.19, 1.74, 2.12]\),平均中心度 \(\bar{M}=2.06\)
- 原因度 \(R = [0.29, 0.07, -0.20, -0.16]\)
因素属性:F1 核心原因,F2 一般原因,F3 一般结果,F4 一般结果。
2. FISM 分析(采用查德算子 min-max)
- 模糊关系矩阵 \(F = T\)。
- 模糊相乘矩阵 \(M = F + I\):
\[ M = \begin{bmatrix} 1.00 & 0.35 & 0.28 & 0.42 \\ 0.28 & 1.00 & 0.32 & 0.35 \\ 0.18 & 0.25 & 1.00 & 0.22 \\ 0.30 & 0.28 & 0.25 & 1.00 \end{bmatrix} \]
- 计算模糊可达矩阵(传递闭包,迭代收敛)得 \(R\)(数值略)。
- 提取阈值集合:从 \(R\) 中非零唯一值降序排列,例如 \(\{0.42, 0.35, 0.32, 0.30, 0.28, 0.25, 0.22, 0.20, 0.18\}\)。
- 以 \(\lambda = 0.35\) 为例,截距矩阵 \(A_{0.35}\):
\[ A_{0.35} = \begin{bmatrix} 1 & 1 & 0 & 1 \\ 0 & 1 & 0 & 1 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix} \]
- 对 \(A_{0.35}\) 进行 ISM 分析:可达矩阵、骨架矩阵、层级划分。结果为:
- 第 1 层(顶层):F3
- 第 2 层:F1, F2, F4
3. MICMAC 分析(基于 \(\lambda = 0.35\) 的 ISM 可达矩阵)
基于上述截距矩阵经传递闭包计算得到的 ISM 可达矩阵 \(R_\lambda\)(本例与截距矩阵相同):
\[ R_\lambda = \begin{bmatrix} 1 & 1 & 0 & 1 \\ 0 & 1 & 0 & 1 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix} \]
计算驱动力与依赖度:
| 因素 | 驱动力(行和) | 依赖度(列和) | 权重 | 因素属性 |
|---|---|---|---|---|
| F1 | 3 | 1 | 0.286 | 驱动因素 |
| F2 | 2 | 2 | 0.286 | 关联因素 |
| F3 | 1 | 1 | 0.143 | 独立因素 |
| F4 | 1 | 3 | 0.286 | 依赖因素 |
平均驱动力 \(= 7/4 = 1.75\),平均依赖度 \(= 7/4 = 1.75\)。权重按 \(w_i^{(MIC)} = (DP_i + DE_i)/14\) 计算。
随截距变化:若选择更高的截距(如 \(\lambda = 0.42\)),可达矩阵更稀疏,驱动力与依赖度普遍下降,因素将更多归入”独立因素”;若选择较低的截距,弱关系被保留,驱动力与依赖度普遍上升,关联因素与依赖因素增多。
4. 结果解读
- DEMATEL:F1 为核心原因,F2 为一般原因,应优先管理;F3、F4 为结果因素。
- FISM:在 \(\lambda=0.35\) 下,F3 为顶层结果因素,F1、F2、F4 为底层驱动因素。随着 \(\lambda\) 降低,结构可能变得更复杂(更多关系被保留),可观察系统从松散到紧密的演变。
- MICMAC:F1 为驱动因素(杠杆点),F2 为关联因素(枢纽),F4 为依赖因素(脆弱点),F3 为独立因素。MICMAC 与 DEMATEL 结论基本一致,均指向 F1、F2 为优先干预对象。
常见问题
Q1: DEMATEL-FISM-MICMAC 融合与单独使用各方法有何优势?
A: 单独 DEMATEL 只能给出因素的重要性与因果属性,无法提供层次结构;单独 FISM 需要输入模糊关系矩阵,但缺乏确定该矩阵的客观方法;单独 MICMAC 需要依赖可达矩阵且无法区分影响强度。融合方法利用 DEMATEL 的综合影响矩阵作为 FISM 的输入,既能量化影响强度,又能揭示多截距下的层次结构,并在每个截距下用 MICMAC 从驱动-依赖维度对因素分类,阈值自动提取,避免了主观设定。
Q2: 模糊算子对如何选择?
A: 平台提供 16 种组合,包括查德、概率、有界、爱因斯坦等。一般推荐使用查德算子(最小-最大),因为它最常用且易于解释。若数据具有随机性,可尝试概率算子;若需强调有界性,可选择有界算子。用户可通过对比不同算子的结果进行灵敏度分析。
Q3: 阈值集合如何确定?
A: 阈值自动从模糊可达矩阵中提取所有不重复的非零值,并按降序排列。这样做保证了每个截距矩阵都有实际意义,且覆盖了所有可能的结构变化点。用户无需手动设置阈值,只需从下拉菜单中选择感兴趣的截距水平进行查看。
Q4: 如何处理截距矩阵中的自反关系?
A: 模糊相乘矩阵已将对角线设为 1,因此截距矩阵对角线始终为 1(因为 1 总是大于等于任何 λ)。ISM 分析时保留自反性,MICMAC 的驱动力与依赖度计算同样包含自反项。
Q5: 支持多专家吗?如何设置权重?
A: 支持。Excel 文件中每个工作表代表一位专家的直接影响矩阵,用户可多选工作表,并为每个专家设置权重(自动归一化)。平台默认等权重。
Q6: MICMAC 与 DEMATEL 的结果为什么可能不一致?
A: DEMATEL 基于综合影响矩阵的连续数值计算影响度与被影响度,是加权汇总的连续指标;MICMAC 基于可达矩阵的二值关系(0/1)计算驱动力和依赖度,更强调”有无路径”而非”强度”。两者角度不同,但通常趋势一致。若出现明显不一致,可能是指标截断阈值的选择导致了路径信息的丢失,可尝试切换截距水平。
Q7: MICMAC 为什么会随截距水平变化?
A: MICMAC 基于当前截距水平下的 ISM 可达矩阵计算。不同截距下可达矩阵的疏密不同,驱动力与依赖度随之改变,因此因素属性分类可能发生变化。这是该工具的设计特性:高截距侧重强关系下的驱动-依赖结构,低截距反映弱关系下的整体关联结构,用户可通过切换截距考察因素属性的稳健性。
Q8: 所有矩阵计算中的逆矩阵如果不可逆怎么办?
A: 平台会自动检测 \(I-B\) 是否可逆,若不可逆则使用广义逆(MASS::ginv)进行计算,并给出提示。一般情况下,DEMATEL 要求规范影响矩阵 \(B\) 的谱半径小于 1,此时 \(I-B\) 可逆。
平台功能
DEMATEL-FISM-MICMAC 融合分析平台提供以下核心功能:
数据输入
- 支持 Excel(.xlsx, .xls)格式。
- 每个工作表为一个专家的直接影响矩阵(数值 0~4),第一行和第一列为因素名称,数据区域为方阵。
- 自动校验矩阵方阵性、对角线是否为 0、数值范围等。
参数设置
- DEMATEL 规范化方法:行和最大值、列和最大值、行和列和最大值。
- 模糊算子对:16 种组合可选,并显示当前算子的特性说明。
- FISM 分层方法:多种等价选项。
- 小数位数:控制结果精度(默认 4 位)。
- 选择分析的工作表:可多选,支持多专家。
- 专家权重设置:为每个专家分配权重(自动归一化)。
- 对角线置为 0:强制矩阵对角线为 0。
- MICMAC 绘图设置:图表类型、图形标题、坐标轴标签、色卡、字体大小与类型、网格样式、散点样式等。
结果展示
- DEMATEL 因素分析结果:影响度、被影响度、中心度、原因度、权重、排序、属性分类。
- FISM 阈值分析概览:每个截距下的因素数量、层级数量、顶层因素、底层因素、截距矩阵中 1 的数量、骨架矩阵关系数。
- 当前截距详细分析(通过下拉选择截距):
- 因素分级结果(层级、可达集、前因集、交集)
- 截距矩阵(布尔矩阵)
- 骨架矩阵
- ISM 可达矩阵
- MICMAC 驱动力-依赖度结果(驱动力、依赖度、权重、排序、属性分类)
- MICMAC 矩阵(MICMAC 分析所使用的可达矩阵)
- 分层迭代过程(每一层的详细数据)
- DEMATEL 矩阵展示:直接影响矩阵、规范影响矩阵、综合影响矩阵、验证矩阵。
- FISM 矩阵展示:模糊关系矩阵(即 DEMATEL 综合影响矩阵)、模糊相乘矩阵、模糊可达矩阵。
- MICMAC 矩阵展示:当前截距下 MICMAC 分析所使用的可达矩阵。
- 统计分析:DEMATEL 统计、FISM 统计与 MICMAC 统计(因素数量、平均驱动力、平均依赖度等)。
- 可视化:
- DEMATEL 散点图(中心度-原因度图或影响度-被影响度图),支持丰富的绘图参数自定义。
- FISM 层次结构图(可切换截距),支持自定义节点样式、边线样式、字体等。
- MICMAC 四象限散点图(驱动力-依赖度图),自动绘制均值参考线与象限标注。
- AI 智能分析:基于 DeepSeek API 自动解读结果,提供关键因素识别、截距水平变化分析和 MICMAC 驱动-依赖诊断及决策建议(每日限 3 次)。
- 多格式导出:支持 Excel 和 HTML 报告下载。
报告导出
- Excel 报告:包含 DEMATEL 因素分析结果、FISM 各截距分析结果、“MICMAC驱动力依赖度”与”MICMAC统计分析”工作表,以及各截距工作表内的 MICMAC 区块,工作簿命名清晰,便于后续加工。
- HTML 报告:包含所有表格、关键因素高亮、当前截距下的 MICMAC 分析区块、方法对比分析和决策建议,样式清晰,适合打印和存档。
使用建议
- 准备阶段:确定系统因素列表(建议不超过 15 个),设计问卷,明确打分尺度(0~4 分)。邀请专家独立填写。
- 数据收集:将每位专家的矩阵放入 Excel 的不同工作表,按模板格式填写(第一行第一列为因素名称,数据区域为数值方阵)。
- 参数设置:
- 选择规范化方法(推荐行和最大值法)。
- 选择模糊算子对(推荐查德算子 min-max)。
- 若有多位专家,合理设置权重。
- 小数位数可根据报告要求调整。
- 结果解读:
- DEMATEL:识别核心原因因素(应优先管理)和核心结果因素(应作为监测指标)。
- FISM 阈值概览:观察不同截距下层级数量的变化,了解系统结构的稳定性。高截距下层级少(强关系主导),低截距下层数多(弱关系也被考虑)。
- MICMAC 分类:结合驱动力-依赖度散点图,定位驱动因素(杠杆点)、依赖因素(脆弱点)与关联因素(枢纽)。若某因素既是 DEMATEL 核心原因又是 MICMAC 驱动因素,应优先干预。
- 稳健性检验:切换截距水平,观察 MICMAC 因素属性是否稳定;若某因素在不同截距下类别变化剧烈,说明其地位对关系强度敏感,需深入分析。
- 利用 AI 分析获取更深入的解读。
- 迭代优化:
- 若结果不符合预期,可尝试不同的模糊算子对或规范化方法。
- 对比不同专家权重组合,检验稳定性。
- 可将融合结果作为 ANP、SD 等方法的输入。
平台界面

平台界面包含:数据上传区、参数设置区、多工作表预览、DEMATEL 与 FISM 结果展示、MICMAC 驱动-依赖分析与四象限图、双重可视化图表和 AI 分析模块
参考文献:
- Gabus A, Fontela E. World problems, an invitation to further thought within the framework of DEMATEL[R]. Battelle Geneva Research Centre, 1972.
- 李登峰. 模糊多目标多人决策与对策[M]. 国防工业出版社,2003.
- 基于 DEMATEL-FISM 的供应链风险因素分析[J]. 系统工程理论与实践,2018, 38(5): 1230-1238.
- 周德群,章玲. 集成 DEMATEL-ISM 的复杂系统因素分析[J]. 系统工程理论与实践,2011, 31(3): 481-488.
- Duperrin J C, Godet M. Méthode de hiérarchisation des éléments d’un système[R]. Rapport économique du CEA, 1973.