PROMETHEE法-III
方法概述
PROMETHEE法-III 是 PROMETHEE 家族中专门处理不确定性的区间排序方法。在传统 PROMETHEE II 给出单一净偏好流的基础上,PROMETHEE III 通过 Bootstrap 重抽样技术构建每个方案净偏好流的置信区间,进而计算每个方案的排名区间(最好排名和最差排名),从而更全面地反映决策中的随机性和不稳定性。该方法适用于评价数据存在波动、专家判断不一致或需要稳健决策的场景。
本工具基于 PROMETHEE III 核心算法,提供完整的计算流程: - 支持六种经典偏好函数(常用、拟准则、线性偏好、等级准则、线性无差别区、高斯准则)。 - 自动对原始数据进行 min-max 标准化(方向调整后),确保各指标可比。 - 采用 Bootstrap 百分位数法计算净偏好流置信区间(仅此一种方法,排除标准差法)。 - 根据置信区间推导每个方案的排名区间(最好可能排名和最差可能排名)。 - 提供丰富的可视化:置信区间图、排名区间图。 - 支持用户自定义权重、偏好函数参数、置信水平和 Bootstrap 抽样次数。
计算步骤
1. 数据准备与预处理
设有 \(m\) 个方案 \(A_i\)(\(i=1,\dots,m\))和 \(n\) 个准则 \(C_j\)(\(j=1,\dots,n\)),原始决策矩阵为 \(X = [x_{ij}]\)。每个准则具有方向(效益型或成本型),用户需指定。
- 方向调整:对于成本型指标,取负值 \(x'_{ij} = -x_{ij}\),使所有指标统一为“越大越好”方向。
- min-max 标准化:对调整后的数据,按列进行线性标准化: \[ r_{ij} = \frac{x'_{ij} - \min_i x'_{ij}}{\max_i x'_{ij} - \min_i x'_{ij}} \] 若列值全相等,则 \(r_{ij}=1\)。标准化后的数据 \(r_{ij} \in [0,1]\),所有后续计算均基于标准化数据。
2. 偏好函数与阈值参数
用户为每个准则选择偏好函数类型并设置相应阈值(基于标准化后的数值,通常在 0~1 之间):
| 类型 | 名称 | 参数 | 偏好函数 \(P(d)\) |
|---|---|---|---|
| Type I | 常用准则 | 无 | \(P(d)=1\) if \(d>0\), else \(0\) |
| Type II | 拟准则 | \(q\) | \(P(d)=1\) if \(d>q\), else \(0\) |
| Type III | 线性偏好 | \(p\) | \(P(d)=d/p\) for \(0<d<p\), \(1\) for \(d\ge p\) |
| Type IV | 等级准则 | \(q, p\) | \(P(d)=0\) if \(d\le q\); \(0.5\) if \(q<d<p\); \(1\) if \(d\ge p\) |
| Type V | 线性无差别区 | \(q, p\) | \(P(d)=0\) if \(d\le q\); \((d-q)/(p-q)\) if \(q<d<p\); \(1\) if \(d\ge p\) |
| Type VI | 高斯准则 | \(s\) | \(P(d)=1-\exp(-d^2/(2s^2))\) |
此处 \(d = r_{ij} - r_{kj}\) 表示方案 \(i\) 相对方案 \(k\) 在准则 \(j\) 上的差值(标准化后)。
3. 计算单准则偏好指数
对每个准则 \(j\),根据其偏好函数和阈值,计算方案间的偏好值 \(\pi_j(i,k) = P_j(r_{ij} - r_{kj})\)。得到 \(m \times m\) 矩阵,对角线为 0。
4. 计算全局偏好指数
用户设定各准则权重 \(w_j\)(\(\sum w_j = 1\)),全局偏好指数为: \[ \pi(i,k) = \sum_{j=1}^{n} w_j \cdot \pi_j(i,k) \] 该值表示方案 \(i\) 整体优于方案 \(k\) 的强度(在 \([0,1]\) 区间)。
5. 计算净偏好流(PROMETHEE II 基础)
- 正流(出流):\(\phi^+(i) = \frac{1}{m-1} \sum_{k \neq i} \pi(i,k)\)
- 负流(入流):\(\phi^-(i) = \frac{1}{m-1} \sum_{k \neq i} \pi(k,i)\)
- 净流:\(\phi(i) = \phi^+(i) - \phi^-(i)\)
\(\phi(i)\) 即为 PROMETHEE II 的单一净偏好流,值越大方案越优。
6. Bootstrap 置信区间
由于原始数据可能存在不确定性,采用 Bootstrap 重抽样法估计 \(\phi(i)\) 的分布:
- 对原始方案数据矩阵进行有放回的 Bootstrap 抽样(抽样单位是方案,即重抽样 \(m\) 个方案,允许重复)。
- 对每个 Bootstrap 样本,重新计算所有方案的净偏好流(仅对被抽到的方案计算,未抽到的方案该次缺失)。
- 重复 \(B\) 次(用户指定,默认 1000),得到每个方案的 \(B\) 个净流估计值。
- 对每个方案,取这些估计值的 \(\alpha/2\) 和 \(1-\alpha/2\) 分位数,作为净偏好流的置信区间下限和上限(\(\alpha\) 为用户设定的置信水平,默认 0.05)。
7. 区间排名推导
基于每个方案的净流置信区间 \([L_i, U_i]\),计算排名区间:
- 最好排名(最优可能排名):\(R_i^{best} = 1 + \#\{k \neq i : U_k < L_i\}\),即其他方案即使取上限也无法超过本方案下限的个数加 1。
- 最差排名(最劣可能排名):\(R_i^{worst} = m - \#\{k \neq i : L_k > U_i\}\),即其他方案即使取下限也超过本方案上限的个数,剩余方案数即为最差排名。
由此得到每个方案的排名区间 \([R_i^{best}, R_i^{worst}]\),区间越窄表示排序越稳定。
案例分析
案例背景:某公司拟从四个供应商(S1、S2、S3、S4)中选择合作伙伴,评价指标包括:价格(成本型)、质量(效益型)、交货准时率(效益型)。专家给出原始数据如下:
| 方案 | 价格(万元) | 质量(分) | 交货准时率(%) |
|---|---|---|---|
| S1 | 120 | 85 | 90 |
| S2 | 100 | 90 | 85 |
| S3 | 110 | 88 | 95 |
| S4 | 130 | 82 | 88 |
权重统一为 \([0.4, 0.3, 0.3]\),所有指标采用 Type V(线性无差别区)偏好函数,\(q=0.1, p=0.5\),置信水平 \(\alpha=0.05\),Bootstrap 样本数 1000。
计算过程(简略)
- 方向调整与标准化:价格成本型取负,然后 min-max 标准化至 \([0,1]\)(结果略)。
- 计算单准则偏好:根据标准化后的差值,应用线性无差别区函数。
- 全局偏好矩阵(示例值):
- \(\pi(S1,S2)=0.45\),\(\pi(S1,S3)=0.38\),…
- 净偏好流(PROMETHEE II):
- S1: 0.12,S2: 0.25,S3: 0.08,S4: -0.45
- Bootstrap 置信区间(1000次):
- S1: [0.05, 0.19]
- S2: [0.18, 0.32]
- S3: [-0.02, 0.18]
- S4: [-0.60, -0.30]
- 排名区间:
- S1: \(R^{best}=2\)(最好可排第2),\(R^{worst}=3\)
- S2: \(R^{best}=1\),\(R^{worst}=1\)(稳定最优)
- S3: \(R^{best}=2\),\(R^{worst}=4\)
- S4: \(R^{best}=4\),\(R^{worst}=4\)(稳定最差)
结论:方案 S2 具有最高的净流且排名区间稳定(第1名),是最佳选择。S1 与 S3 排名区间有重叠,需结合其他信息进一步判断。
常见问题
Q1: 为什么只提供 Bootstrap 百分位数区间,不提供标准差区间?
A: Bootstrap 方法不依赖正态性假设,能够更稳健地估计净流分布的置信区间,尤其适用于样本量较小或分布偏态的情况。标准差区间基于 t 分布假设,可能低估不确定性。因此工具仅保留 Bootstrap 方法以提供更可靠的区间估计。
Q2: 偏好函数的阈值(q, p, s)应如何设定?
A: 由于数据已标准化至 \([0,1]\),阈值应基于此范围设置。一般建议 \(q\) 取 0.05~0.15,\(p\) 取 0.2~0.6,\(s\) 取 0.1~0.3。较小的 \(q\) 表示对微小差异敏感,较大的 \(p\) 表示差异需达到一定程度才产生完全偏好。用户可根据实际决策偏好调整。
Q3: Bootstrap 抽样次数对结果影响大吗?
A: 通常 1000 次已足够,增加次数可提高区间稳定性但计算时间增加。若结果区间抖动明显,可增加至 2000~5000 次。
Q4: 排名区间的上下限为何不是整数?
A: 排名区间由计数逻辑得到,必然为整数。但若出现异常(如区间上下限相等但非整数),工具会强制取整,确保合理性。
Q5: 如果方案数量很少(如 3 个),Bootstrap 还有效吗?
A: Bootstrap 在小样本下仍可使用,但置信区间可能较宽,反映信息不足。建议方案数不少于 4 个,否则排序区间可能失去区分度。
Q6: 如何解释净流置信区间与排名区间的关系?
A: 净流区间反映方案自身表现的不确定性,排名区间则反映方案之间排序的稳定性。一个方案净流区间可能较宽,但若与其他方案区间重叠少,其排名仍可能稳定。
平台功能
- 数据输入:支持 CSV、Excel、TXT 格式,自动识别第一行为指标名,第一列为方案名。
- 参数设置:
- 偏好函数类型(6 种)及对应阈值(q, p, s)
- 指标方向(效益/成本)
- 权重(可一键等权,自动归一化)
- 置信水平 \(\alpha\)(0.01~0.5)
- Bootstrap 样本数(100~10000)
- 小数位数(1~10)
- 结果展示:
- 区间排序表:净流、点估计排名、排名下限/上限、排名区间
- 置信区间详情表:区间下限、上限、宽度
- 可视化:净流置信区间图(点估计+误差条)、排名区间图
- 计算过程:原始数据、标准化后数据、基础净流(PROMETHEE II)
- 报告导出:
- Excel 报告:包含所有表格及参数设置
- HTML 报告:风格清晰,便于分享
使用建议
- 数据准备:确保数值型数据,无缺失值。若方案数过少(<4),Bootstrap 结果可能不够稳定,建议谨慎解读。
- 偏好函数选择:若各指标差异明显且决策者能清晰定义阈值,推荐 Type V(线性无差别区);若仅需区分优劣,Type I(常用)简单高效;若存在高斯型不确定性,可选用 Type VI。
- 阈值设定:阈值基于标准化数据,建议先运行一次默认参数(q=0.1, p=0.5),观察结果,再根据领域知识调整。
- Bootstrap 样本数:默认 1000 次,若计算较快可增加至 2000 次以增强稳健性。
- 结果解读:关注排名区间宽度,区间越窄表示排序越稳健。若多个方案排名区间重叠,说明它们表现接近,需结合其他信息(如成本、风险)做最终决策。
- 敏感性分析:可尝试调整置信水平或 Bootstrap 次数,观察排名区间变化,评估结论的稳健性。
平台界面

平台界面包含:数据上传区、偏好函数参数设置区、权重设置区、多工作表预览、分析结果展示和AI分析模块
参考文献
- Brans, J. P., & Vincke, P. (1985). A preference ranking organisation method. Management Science, 31(6), 647-656.
- Brans, J. P., & Mareschal, B. (1995). The PROMETHEE VI procedure: How to select a good compromise. PROMETHEE Methods.
- Behzadian, M., et al. (2010). PROMETHEE: A comprehensive literature review. European Journal of Operational Research, 200(1), 198-215.
- Efron, B., & Tibshirani, R. J. (1993). An Introduction to the Bootstrap. Chapman & Hall.