DEMATEL-ISM-MICMAC
方法概述
DEMATEL-ISM-MICMAC 将决策实验室分析法(DEMATEL)、解释结构模型(ISM)和交叉影响矩阵相乘法(MICMAC)有机结合,形成一套完整的系统因素分析框架。该方法从定量与定性、强度与结构、驱动与依赖等多个维度全面剖析系统因素间的复杂关系。
三种方法的互补优势:
- DEMATEL:利用专家打分量化因素间的直接影响强度,计算中心度与原因度,识别关键因素及其因果属性。
- ISM:基于 DEMATEL 得到的综合影响矩阵,通过阈值 λ 二值化构建邻接矩阵,进而计算可达矩阵,通过迭代分层揭示系统的递阶层次结构。
- MICMAC:基于同一可达矩阵,计算每个因素的驱动力(行和)和依赖度(列和),绘制驱动力-依赖度散点图,将因素划分为驱动、依赖、关联、独立四类。
融合流程:
- 收集多位专家对因素间直接影响程度的打分,加权聚合得到直接影响矩阵。
- 执行 DEMATEL 分析,计算综合影响矩阵、中心度、原因度,绘制因果散点图。
- 根据设定的阈值 λ 将综合影响矩阵二值化,得到邻接矩阵。
- 通过布尔运算迭代(或阈值二值化)生成可达矩阵。
- 基于可达矩阵进行 ISM 层级划分,构建骨架矩阵并绘制层次结构图。
- 基于同一可达矩阵进行 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 到 ISM 的转换
3.1 确定阈值 \(\lambda\)
平台支持三种阈值计算方法:
- 均值+标准差:\(\lambda = \text{mean}(T) + \text{sd}(T)\)
- 均值:\(\lambda = \text{mean}(T)\)
- 自定义:用户直接输入 \(\lambda \in [0,1]\)
3.2 生成邻接矩阵
将综合影响矩阵二值化: \[ a_{ij}' = \begin{cases} 1, & t_{ij} \ge \lambda,\; i \neq j \\ 0, & \text{otherwise} \end{cases} \] 同时添加自反性(对角线为 1)。
3.3 生成可达矩阵
平台支持两种方法:
- 布尔运算迭代(Warshall 算法):对 \(A' + I\) 进行传递闭包计算。
- 阈值二值化:直接对 \(T + I\) 按阈值 \(\lambda\) 二值化。
3.4 计算骨架矩阵
骨架矩阵删除可达矩阵中的传递冗余关系,只保留必要的直接关系。对于任意 \(i \neq j\),若 \(r_{ij}=1\) 且存在 \(k \neq i,j\) 使得 \(r_{ik}=1\) 且 \(r_{kj}=1\),则在骨架矩阵中置为 0;否则保留为 1。
4. ISM 层级划分
对于可达矩阵 \(R\),计算每个因素 \(i\) 的可达集 \(R(i)\)(第 \(i\) 行中值为 1 的列集合)、前因集 \(Q(i)\)(第 \(i\) 列中值为 1 的行集合)和交集 \(C(i) = R(i) \cap Q(i)\)。
迭代分层:
- 当前层级:找出满足 \(R(i) = C(i)\) 的因素,这些因素属于当前层级。
- 移除这些因素,在剩余子系统中重复,直至所有因素被分配层级。
- 最终得到从顶层(第 1 层)到底层(第 L 层)的序列。顶层因素通常是最终结果或输出,底层因素是根本驱动。
5. MICMAC 分析
基于可达矩阵 \(R\) 计算:
- 驱动力 \(DP_i = \sum_{j=1}^{n} r_{ij}\)(行和)
- 依赖度 \(DE_i = \sum_{j=1}^{n} r_{ji}\)(列和)
计算平均驱动力 \(\overline{DP}\) 和平均依赖度 \(\overline{DE}\),将因素分为四类:
| 驱动力 | 依赖度 | 属性 | 含义 |
|---|---|---|---|
| >均值 | ≤均值 | 驱动因素 | 系统根源,应优先干预。 |
| ≤均值 | >均值 | 依赖因素 | 系统结果,需通过改善上游因素提升。 |
| >均值 | >均值 | 关联因素 | 核心因素,既驱动又依赖,敏感且重要。 |
| ≤均值 | ≤均值 | 独立因素 | 相对孤立,可单独处理。 |
6. 结果可视化
- DEMATEL 散点图:以中心度为横坐标、原因度为纵坐标绘制(可切换为影响度-被影响度图),用颜色区分因素属性。
- ISM 层次结构图:根据骨架矩阵和层级绘制有向层次图,顶层位于上方,底层位于下方,箭头表示直接影响。
- 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. 阈值 λ 与邻接矩阵
取 λ = 均值+标准差 = 0.28,二值化得邻接矩阵 \(A'\)(忽略对角线):
\[ A' = \begin{bmatrix} 0 & 1 & 0 & 1 \\ 0 & 0 & 1 & 1 \\ 0 & 0 & 0 & 0 \\ 1 & 0 & 0 & 0 \end{bmatrix} \]
3. 生成可达矩阵(布尔运算迭代)
添加自反性后,Warshall 算法得到可达矩阵 \(R\):
\[ R = \begin{bmatrix} 1 & 1 & 1 & 1 \\ 1 & 1 & 1 & 1 \\ 0 & 0 & 1 & 0 \\ 1 & 1 & 1 & 1 \end{bmatrix} \]
4. ISM 层级划分
- 第 1 层:F3(可达集={3},前因集={1,2,3,4},交集={3})→ 满足 R=C。
- 移除 F3,剩余 F1,F2,F4 中,满足条件的有 F1,F2,F4(均可达自身及彼此),故第 2 层为 F1,F2,F4。 最终层级:第 1 层 F3,第 2 层 F1,F2,F4。
5. 骨架矩阵
删除传递冗余后,骨架矩阵 \(S\)(仅保留直接关系):
\[ S = \begin{bmatrix} 0 & 1 & 1 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 0 \\ 1 & 0 & 1 & 0 \end{bmatrix} \]
6. MICMAC 分析
- 驱动力(行和):F1=4, F2=4, F3=1, F4=4
- 依赖度(列和):F1=2, F2=2, F3=4, F4=2
- 平均值:\(\overline{DP}=3.25\),\(\overline{DE}=2.5\)
因素分类:
- F1:驱动力>3.25,依赖度≤2.5 → 驱动因素
- F2:驱动力>3.25,依赖度≤2.5 → 驱动因素
- F3:驱动力≤3.25,依赖度>2.5 → 依赖因素
- F4:驱动力>3.25,依赖度≤2.5 → 驱动因素
7. 综合解读
- DEMATEL:F1 为核心原因,F2 为一般原因,应优先管理;F3、F4 为结果因素。
- ISM:F3 为顶层结果因素,F1、F2、F4 为底层驱动因素。
- MICMAC:F1、F2、F4 为驱动因素,F3 为依赖因素。
- 综合:F1、F2、F4 是系统的根本驱动,应作为管理重点;F3 是系统结果,需通过改善驱动因素来提升。
常见问题
Q1: 为什么需要融合 DEMATEL、ISM 和 MICMAC?
A: DEMATEL 提供影响强度与因果属性,但无法给出层次结构;ISM 揭示层级关系,但输入依赖二元关系(0/1),无法利用强度信息;MICMAC 从驱动力-依赖度视角补充因素分类。三者融合能全面、系统地理解因素间关系。
Q2: 阈值 λ 如何选择?
A: 平台支持三种方式。一般推荐“均值+标准差”,能筛选出显著影响关系;也可根据经验自定义。建议进行灵敏度分析,比较不同 λ 下的 ISM 结构和 MICMAC 分类稳定性。
Q3: 可达矩阵生成方法有何区别?
A:
- 布尔运算迭代(Warshall):严格遵循传递闭包,适合无环系统,保证可达性。
- 阈值二值化:直接对 \(T+I\) 二值化,不进行传递闭包,适合 DEMATEL 结果已包含间接关系的情况。通常推荐布尔运算迭代。
Q4: 支持多专家吗?如何设置权重?
A: 支持。Excel 文件中每个工作表代表一位专家的直接影响矩阵,用户可多选工作表,并为每个专家设置权重(自动归一化)。平台默认等权重。
Q5: 所有矩阵计算中的逆矩阵如果不可逆怎么办?
A: 平台会自动检测 \(I-B\) 是否可逆,若不可逆则使用广义逆(MASS::ginv)进行计算,并给出提示。一般情况下,DEMATEL 要求规范影响矩阵 \(B\) 的谱半径小于 1,此时 \(I-B\) 可逆。
Q6: 支持多工作表吗?
A: 支持。Excel 文件中每个工作表代表一个专家,用户可选择多个工作表进行加权聚合分析。
平台功能
DEMATEL-ISM-MICMAC 融合分析平台提供以下核心功能:
数据输入
- 支持 Excel(.xlsx, .xls)格式。
- 每个工作表为一个专家的直接影响矩阵(数值 0~4),第一行和第一列为因素名称,数据区域为方阵。
- 自动校验矩阵方阵性、对角线是否为 0、数值范围等。
参数设置
- DEMATEL 规范化方法:行和最大值、列和最大值、行和列和最大值。
- 阈值 λ 计算方法:均值+标准差、均值、自定义。
- 自定义阈值:当选择自定义时输入(0~1)。
- 可达矩阵生成方法:布尔运算迭代、阈值二值化。
- ISM 分层方法:两种等价选项。
- 选择分析的工作表:可多选,支持多专家。
- 专家权重设置:为每个专家分配权重(自动归一化)。
- 对角线置为 0:强制矩阵对角线为 0。
结果展示
- DEMATEL 因素分析结果:影响度、被影响度、中心度、原因度、权重、排序、属性分类。
- ISM 因素分级结果:各因素的层级、可达集、前因集、交集。
- MICMAC 驱动力-依赖度结果:驱动力、依赖度、权重、排序、属性分类。
- 矩阵展示:直接影响矩阵、规范影响矩阵、综合影响矩阵、验证矩阵(DEMATEL);邻接矩阵、可达矩阵、骨架矩阵(ISM);可达矩阵(MICMAC)。
- 转换参数:阈值 λ、可达矩阵生成方法。
- ISM 分层迭代过程:每一层迭代的详细数据。
- 可视化:
- DEMATEL 散点图(中心度-原因度图或影响度-被影响度图)
- ISM 层次结构图
- MICMAC 散点图(驱动力-依赖度图) 均支持丰富的绘图参数自定义(颜色、点状/块状、字体大小、图例等)。
- AI 智能分析:基于 DeepSeek API 自动解读结果,提供关键因素识别、层级结构和驱动力-依赖度分析(每日限 3 次)。
- 多格式导出:支持 Excel 和 HTML 报告下载。
使用建议
准备阶段:确定系统因素列表(建议不超过 15 个),设计问卷,明确打分尺度(0~4 分)。邀请专家独立填写。
数据收集:将每位专家的矩阵放入 Excel 的不同工作表,按模板格式填写(第一行第一列为因素名称,数据区域为数值方阵)。
参数设置:
- 选择规范化方法(推荐行和最大值法)。
- 选择阈值 λ 计算方法(推荐均值+标准差),或根据经验自定义。
- 选择可达矩阵生成方法(推荐布尔运算迭代)。
- 若有多位专家,合理设置权重。
结果解读:
- DEMATEL:识别核心原因因素(应优先管理)和核心结果因素(应作为监测指标)。
- ISM:顶层因素为最终输出或结果,底层因素为根本驱动。
- MICMAC:驱动因素应优先干预,依赖因素需关注,关联因素敏感且重要,独立因素可单独处理。
- 综合:将 DEMATEL 的原因度、ISM 的底层位置、MICMAC 的驱动因素三者重合的因素作为最关键的管理杠杆点。
- 利用 AI 分析获取更深入的解读。
迭代优化:
- 若结果不符合预期,可调整阈值 λ 或规范化方法,进行敏感性分析。
- 对比不同专家权重组合,检验稳定性。
- 可将融合结果作为 ANP、SD 等方法的输入。
平台界面

平台界面包含:数据上传区、参数设置区、多工作表预览、DEMATEL/ISM/MICMAC 结果展示、三重可视化图表和 AI 分析模块
参考文献:
- Gabus A, Fontela E. World problems, an invitation to further thought within the framework of DEMATEL[R]. Battelle Geneva Research Centre, 1972.
- Warfield J N. Developing interconnection matrices in structural modeling[J]. IEEE Transactions on Systems, Man, and Cybernetics, 1974, SMC-4(1): 81-87.
- Godet M. Scenarios and Strategic Management[M]. Butterworths, 1987.
- 周德群,章玲. 集成 DEMATEL-ISM 的复杂系统因素分析[J]. 系统工程理论与实践,2011, 31(3): 481-488.
- 基于 DEMATEL-ISM-MICMAC 的供应链风险因素研究[J]. 中国管理科学,2018, 26(4): 128-136.