PROMETHEE法-VI
方法概述
PROMETHEE VI 是 PROMETHEE 多准则决策方法家族中引入机器学习技术的创新扩展。与传统 PROMETHEE 方法依赖决策者显式定义偏好函数和阈值不同,PROMETHEE VI 通过神经网络、随机森林或支持向量机等机器学习算法,从历史决策数据中自动学习方案的偏好模式与排序规则,从而构建智能化的排序模型。该方法将多准则决策与监督学习相结合,适用于存在大量历史评价数据、偏好关系复杂难以显式定义、或需要对新方案进行快速预测的场景。
PROMETHEE VI 的核心思想是:利用 PROMETHEE II 的净偏好流作为训练目标,将方案在各准则上的指标值作为特征,训练机器学习模型来拟合特征与净流之间的映射关系。训练好的模型可用于预测新方案的净偏好流并排序,同时通过特征重要性分析和模型解释工具(如 SHAP 值、偏依赖图)揭示各准则对排序结果的影响。
计算步骤
1. 数据准备与预处理
设有 \(m\) 个历史方案 \(A_i\)(\(i=1,\dots,m\))和 \(n\) 个评价准则 \(C_j\)(\(j=1,\dots,n\)),构成特征矩阵 \(X = [x_{ij}]_{m \times n}\)。第一列为方案名称,后续列为各准则数值。
- 缺失值处理:将缺失值替换为 0。
- 特征标准化(可选):对特征进行 Z-score 标准化,消除量纲影响。
- 特征选择(可选):基于方差分析选取重要性最高的前 \(k\) 个特征,降低模型复杂度。
2. 生成训练目标(PROMETHEE II 净偏好流)
对于回归任务,首先使用标准 PROMETHEE II 计算每个方案的净偏好流 \(\phi(i)\)。计算公式涉及偏好函数、权重、方向等参数(此处使用默认参数,用户也可自定义)。净流 \(\phi(i)\) 即为回归模型的目标变量。
对于分类任务,将净流排序转换为离散类别(如分为 3~5 个等级)。
3. 训练集与验证集划分
按照用户指定的训练比例(默认 70%),将数据随机划分为训练集和验证集,用于模型训练和性能评估。
4. 机器学习模型训练
根据用户选择的方法,训练相应的机器学习模型:
- 神经网络(Neural Network):使用
neuralnet包训练多层前馈神经网络。用户可指定隐藏层数、每层神经元数(支持逗号分隔多层结构)和激活函数(Sigmoid 或 Tanh)。 - 随机森林(Random Forest):使用
randomForest包构建集成决策树模型。用户可指定树的数量、每棵树的特征数(mtry)和最大深度。 - 支持向量机(SVM):使用
kernlab包的ksvm函数,采用 RBF 核函数进行回归或分类。
5. 交叉验证与模型评估
采用 \(K\) 折交叉验证(用户指定折数,默认 5)评估模型泛化性能。计算以下指标:
- MSE:均方误差
- RMSE:均方根误差
- MAE:平均绝对误差
- \(R^2\):决定系数(回归任务)
若提供独立的测试数据集,则在测试集上评估模型性能。
6. 特征重要性分析
- 随机森林:使用内置的
%IncMSE(基于节点纯度)评估特征重要性。 - 其他方法:基于特征与预测值的相关系数进行简化评估。
特征重要性排名帮助识别对排序影响最大的准则。
7. 模型解释与可视化
- 偏依赖图:展示主要特征变化时预测输出的变化趋势。
- SHAP 值分析(简化版):利用特征重要性近似 SHAP 值,解释各特征对单个方案预测的贡献。
- 局部解释图:对比部分方案的预测值与实际值,评估模型在个体层面的表现。
8. 新方案预测
若用户提供测试数据集(无目标变量),模型可对测试集中的新方案进行预测,输出其预测净偏好流,并按预测值排序。
案例分析
案例背景:某企业积累了 50 个过去项目的评价数据,包含 5 个准则(收益、风险、成本、周期、市场潜力)和对应的项目综合评分(已转换为 PROMETHEE II 净流)。现需训练一个机器学习模型,用于快速评估新项目的优先级。
参数设置:使用神经网络(1 个隐藏层,10 个神经元,Sigmoid 激活),训练比例 70%,5 折交叉验证,特征标准化开启,学习目标为回归(预测净流)。
模型性能(示例): - 训练集 \(R^2 = 0.89\),MAE = 0.12 - 验证集 \(R^2 = 0.82\),MAE = 0.18 - 交叉验证平均 \(R^2 = 0.85 \pm 0.04\)
特征重要性(Top 3): 1. 收益(重要性 0.35) 2. 市场潜力(重要性 0.28) 3. 风险(重要性 0.22)
新方案预测:两个新项目 X、Y 的预测净流分别为 0.72 和 0.45,排序为 X > Y。
结论:PROMETHEE VI 成功学习了历史数据中的偏好模式,预测结果与领域专家判断一致,可用于快速筛选新项目。
常见问题
Q1: PROMETHEE VI 与传统 PROMETHEE 方法有何不同?
A: 传统 PROMETHEE 需要决策者显式设定偏好函数、阈值和权重;PROMETHEE VI 从历史数据中自动学习这些偏好关系,无需人工干预,适合大数据驱动的决策场景。
Q2: 训练数据需要多少样本?
A: 建议至少有 30~50 个样本,样本越多模型泛化能力越强。若样本较少,可降低模型复杂度(如减少神经网络隐藏层神经元数)。
Q3: 如何选择机器学习方法?
A: 神经网络适合捕捉复杂非线性关系;随机森林对噪声和异常值稳健,且提供特征重要性;SVM 在小样本下表现良好。建议尝试多种方法并对比交叉验证性能后选择最优者。
Q4: 特征标准化对结果影响大吗?
A: 对于神经网络和 SVM 影响较大,因为这两种方法依赖距离计算;随机森林不受量纲影响。建议默认开启特征标准化。
Q5: 分类任务与回归任务如何选择?
A: 若决策者关注精确的净偏好流数值,选择回归;若仅需方案所属等级(如优、良、中、差),选择分类。分类模型通常更稳健,但信息粒度较粗。
Q6: 如何处理新方案与训练集特征不一致的情况?
A: 若测试数据缺少某些训练特征,程序会用 0 填充;若特征顺序不同,程序会自动匹配列名。但建议新方案与训练数据具有相同的特征集合。
平台功能
- 数据输入:支持 CSV、Excel、TXT,可分别上传训练集和测试集。
- 机器学习方法:神经网络、随机森林、支持向量机三种可选。
- 参数控制:
- 训练集比例(0.1~0.9)
- 交叉验证折数(2~10)
- 学习目标(回归/分类)
- 特征标准化(开/关)
- 自动特征选择(开/关)及特征数量
- 神经网络:隐藏层数、神经元数(支持多层)、激活函数
- 随机森林:树数量、每树特征数、最大深度
- 结果展示:
- 机器学习排序结果(预测值与实际值对比)
- 模型性能指标(MSE、RMSE、MAE、\(R^2\))
- 交叉验证结果
- 学习曲线
- 特征重要性排名与可视化
- 偏依赖图
- SHAP 值分析(简化版)
- 局部解释图(预测 vs 实际)
- 新方案预测结果与不确定性分析
- 模型管理:支持下载训练好的模型(.rds 格式)和加载已有模型进行预测。
- AI 智能分析:自动解读最优方案、模型性能和排序合理性(每日限 3 次,需配置 API 密钥)。
- 报告导出:Excel 和 HTML 格式,包含所有表格和图表。
使用建议
- 数据质量:确保训练数据具有足够的代表性和准确性,异常值会严重影响模型性能。
- 特征工程:若原始准则过多,可先用特征选择筛选重要特征,降低过拟合风险。
- 模型选择:先尝试随机森林(稳健且易解释),若性能不足再尝试神经网络。
- 交叉验证:务必使用交叉验证评估模型,避免仅依赖训练集性能导致的乐观估计。
- 新方案预测:新方案的特征应与训练数据特征一致,否则预测结果不可靠。
- 模型可解释性:结合特征重要性和偏依赖图理解模型决策逻辑,增强决策透明度。
平台界面

平台界面包含:数据上传区、偏好函数参数设置区、权重设置区、多工作表预览、分析结果展示和AI分析模块
参考文献
- Brans, J. P., & Mareschal, B. (1995). The PROMETHEE VI procedure: How to select a good compromise. PROMETHEE Methods.
- Brans, J. P., & Vincke, P. (1985). A preference ranking organisation method. Management Science, 31(6), 647-656.
- Behzadian, M., et al. (2010). PROMETHEE: A comprehensive literature review. European Journal of Operational Research, 200(1), 198-215.
- 机器学习在多准则决策中的应用综述[J]. 系统工程理论与实践, 2021, 41(8): 1983-1996.