跳到主要内容

PROMETHEE 法

一、直观理解:成对比“好多少”,再算流入流出净流​

PROMETHEE(Preference Ranking Organization Method for Enrichment Evaluations)也是outranking家族,但输出更易变成排序:

  1. 对每个指标,把方案 aa 相对 bb 的差值通过偏好函数变成 00–11 的偏好强度;
  2. 加权得到总体偏好 π(a,b)\pi(a,b);
  3. 算出每个方案的正流 ϕ+\phi^+(胜过别人的程度)、负流 ϕ−\phi^-(被胜过的程度)、净流 ϕ=ϕ+−ϕ−\phi=\phi^+-\phi^-;
  4. 按净流排序(PROMETHEE II)。

像循环赛:胜得漂亮加分,被虐扣分,净胜场决定排名。

二、适用场景与优缺点​

类型说明
适用场景需要完整排序;指标差值有偏好阈值;希望可视化 GAIA;公共/工程方案比选。
核心优点偏好函数灵活;净流直观;PROMETHEE I 可保留不可比;软件与文献成熟。
局限与缺点偏好函数与阈值需论证;完全补偿仍可能发生(视函数);计算量 O(n2m)O(n^2 m)。

三、核心原理​

对指标 jj,差值 dj(a,b)=xj(a)−xj(b)d_j(a,b)=x_j(a)-x_j(b)(极大型)。常用通常准则、U 形、V 形、Level、线性、Gaussian 等偏好函数 Pj(d)∈[0,1]P_j(d)\in[0,1]。

π(a,b)=∑jwjPj(dj(a,b))\pi(a,b)=\sum_j w_j P_j(d_j(a,b)) ϕ+(a)=1n−1∑b≠aπ(a,b),ϕ−(a)=1n−1∑b≠aπ(b,a)\phi^+(a)=\frac{1}{n-1}\sum_{b\neq a}\pi(a,b),\quad \phi^-(a)=\frac{1}{n-1}\sum_{b\neq a}\pi(b,a) ϕ(a)=ϕ+(a)−ϕ−(a)\phi(a)=\phi^+(a)-\phi^-(a)

PROMETHEE II 用 ϕ\phi 全序;I 用 (ϕ+,ϕ−)(\phi^+,\phi^-) 的偏序。

四、关键决策​

决策点建议
偏好函数线性/V 形常用;给无差异 qq、严格偏好 pp
权重AHP/熵权
I vs II要全序用 II;保留不可比用 I
灵敏度权重与 p,qp,q
对照TOPSIS、ELECTRE

五、MATLAB 示例​

X = [
80 70 90;
75 88 70;
90 65 85;
70 90 75
];
w = [0.4 0.3 0.3]; w = w/sum(w);
% 线性偏好:q=0, p=极差的一半
[n, m] = size(X);
q = zeros(1,m); p = 0.5*(max(X)-min(X)); p(p==0)=1;

Pfun = @(d, qj, pj) max(0, min(1, (d - qj) ./ (pj - qj + eps)));

piMat = zeros(n);
for a = 1:n
for b = 1:n
if a==b, continue; end
pref = 0;
for j = 1:m
d = X(a,j) - X(b,j); % 极大型
pref = pref + w(j) * Pfun(d, q(j), p(j));
end
piMat(a,b) = pref;
end
end

phiPlus = sum(piMat, 2) / (n-1);
phiMinus = sum(piMat, 1)' / (n-1);
phi = phiPlus - phiMinus;

T = table((1:n)', phiPlus, phiMinus, phi, ...
"VariableNames", {"方案","正流","负流","净流"});
T = sortrows(T, "净流", "descend");
disp(T);
disp("偏好指数矩阵 π:"); disp(piMat);

六、如何解释结果​

  1. 偏好函数与 q,pq,p 业务含义;
  2. 净流排序及正负流分解(胜在进攻还是防守);
  3. π\pi 矩阵关键对决;
  4. 权重敏感;
  5. 与 TOPSIS 一致性。

七、常见误区​

1. 极小指标未处理​

差值符号反了。

2. pp 过小导致几乎 0-1 跳变​

过度敏感。

3. 只报净流不报 π\pi​

关键对决说不清。

4. 把净流当基数效用随意加减解释​

主要用于排序。

5. 参数后选​

先定原则再算。

附:建模论文中的写法要点​

  1. 问题对应:用一两句话说明为何该方法匹配题目数据结构与目标(分类/分群/排序/效率)。
  2. 符号与步骤:按“输入 → 预处理 → 核心计算 → 输出指标”列出编号步骤,公式与代码变量名一致。
  3. 参数表:列出全部可调参数、取值、选取依据(CV、信息准则、业务约束或灵敏度)。
  4. 结果呈现:主结果用表格;辅以 1–2 张图(边界、树状图、得分条形图、效率分解等)。
  5. 稳健性:至少做一种扰动——删点、换权重、换距离、换初值或换阈值,观察结论是否保持。
  6. 局限:主动写明假设(球状簇、线性可分、CRS、完全补偿等)及适用边界,避免被质询时被动。

若主方法结论与合理基线(如 K-means 对 GMM、加权和对 TOPSIS、CCR 对 BCC)严重冲突,应回到数据质量与指标方向检查,而不是只报告“更好看”的一种结果。

附:计算检查清单​

在提交结果前,建议按下列清单快速自检:

  1. 输入矩阵:行/列含义是否与正文一致,有无缺失、重复行、单位混用。
  2. 方向与尺度:极小型是否已正向化;聚类/距离类是否已标准化;评价类权重是否归一。
  3. 参数来源:所有阈值、簇数、核宽、理想解定义能否在正文找到依据。
  4. 数值稳定:协方差/相关是否接近奇异;DEA 线性规划是否全部求解成功;对数/除零是否加保护。
  5. 随机性:涉及随机初值的算法是否固定种子并报告多次结果的稳定性。
  6. 验证协议:分类任务是否严格隔离测试集;重采样/SMOTE 是否仅用于训练折。
  7. 图表编号:主结论表与图在正文中被引用,而不是只放附录。
  8. 可复现:给出软件版本(如 MATLAB R20xx)与关键函数名,使读者能重跑最小示例。

不满足清单中任一项时,优先修正流程,再讨论“方法先进性”。对综合评价题,额外检查:更换一种合理权重后,前三名是否大体稳定;若剧烈跳动,应降低对精细名次的措辞强度。

八、小结​

PROMETHEE 用偏好函数度量成对优势,经正负流得到净流排序,是级别优先方法中最易出全序的代表。

适合方案比选主模型;参数与权重的灵敏度分析决定结论可信度。