FuzzyEDAS-模糊 EDAS
FuzzyEDAS-模糊 EDAS 的真实核心主要位于:
FuzzyEDAS-模糊 EDAS
1. 方法概述
FuzzyEDAS-模糊 EDAS 的真实核心主要位于:
core/fuzzy_edas_calculator.py
从当前源码看,这个模块是在经典 EDAS 的“相对平均解偏离”框架上,加了一层三角模糊数包装与去模糊计算。其实际流程为:
- 读取对象列与指标列;
- 把原始值扩展成三角模糊数;
- 计算模糊平均解;
- 去模糊后计算 PDA / NDA;
- 得到正向与负向综合指标
SP/SN; - 标准化为
NSP/NSN; - 计算最终得分
AS并排序。
2. 模糊化与平均解
2.1 三角模糊数构造
对原始值 \(x_{ij}\),代码构造
$$ \tilde x_{ij}=(x_{ij}-\delta_{ij},\ x_{ij},\ x_{ij}+\delta_{ij}) \tag{1} $$
其中
$$ \delta_{ij}= \begin{cases} \alpha |x_{ij}|, & x_{ij}\neq 0\\ \alpha, & x_{ij}=0 \end{cases} \tag{2} $$
这说明项目里的模糊半宽不是固定常数,而是与数据量级相关。
2.2 模糊平均解
对每个指标 \(j\),代码计算模糊平均解:
$$ \widetilde{AV}_j=\frac{1}{m}\sum_{i=1}^{m}\tilde x_{ij} \tag{3} $$
随后进入去模糊与偏离计算。
3. PDA / NDA 与最终得分
3.1 去模糊
当前实现支持两种去模糊方式。
若为 centroid:
$$ d(\tilde x)=\frac{l+m+u}{3} \tag{4} $$
若为 weighted:
$$ d(\tilde x)=\frac{l+4m+u}{6} \tag{5} $$
3.2 正向与负向偏离
对效益型指标,代码按 EDAS 思路计算:
$$ PDA_{ij}=\frac{\max\big(0,\ d(\tilde x_{ij})-d(\widetilde{AV}_j)\big)}{d(\widetilde{AV}_j)} \tag{6} $$
$$ NDA_{ij}=\frac{\max\big(0,\ d(\widetilde{AV}_j)-d(\tilde x_{ij})\big)}{d(\widetilde{AV}_j)} \tag{7} $$
若该指标是逆向指标,代码会对 PDA/NDA 的定义做交换,而不是简单套同一公式。
3.3 综合偏离与最终得分
加权汇总后得到
$$ SP_i=\sum_{j=1}^{n}w_j PDA_{ij}, \qquad SN_i=\sum_{j=1}^{n}w_j NDA_{ij} \tag{8} $$
再做标准化:
$$ NSP_i=\frac{SP_i}{\max_k SP_k}, \qquad NSN_i=1-\frac{SN_i}{\max_k SN_k} \tag{9} $$
最后综合得分为
$$ AS_i=\frac{NSP_i+NSN_i}{2} \tag{10} $$
因此 AS 越大表示方案越优。
4. 权重与导出
4.1 权重方式
当前代码支持:
equalentropycustom
这意味着项目不仅能做主观赋权,也能直接走客观熵权。
4.2 Excel 工作表
一个很有辨识度的实现细节是:模块会同时输出英文工作表和中文工作表。典型包括:
RawDataFuzzyDecisionWeightedPDA_NDASP_SNNSP_NSNScoresCharts
以及中文对应表:
原始数据模糊矩阵平均解去模糊矩阵PDANDA权重综合得分
5. 实现说明与注意事项
5.1 模糊区间宽度取决于数据量级
因为 \(\delta_{ij}=\alpha|x_{ij}|\),所以不同指标上的模糊宽度会自动按量纲放缩,这和“所有指标统一固定模糊宽度”的实现不同。
5.2 逆向指标不是额外预处理,而是在 PDA/NDA 公式层切换
这意味着项目更接近“保持原始方向、在偏离定义里修正”的 EDAS 口径。
5.3 最终输出兼顾论文和业务使用
中间层面保留了模糊矩阵与平均解,结果层面又给出 AS 排序,因此既适合复现论文公式,也适合直接汇报结果。
6. 论文写作建议
论文中建议至少展示 PDA/NDA、SP/SN、NSP/NSN 和最终 AS 四层结果中的两到三层,避免只给最终排名而缺少过程解释。若篇幅有限,可把模糊决策矩阵和平均解放到附录,把综合得分与排序表放在正文。
7. 单篇终审补充
7.1 图题与表题对齐建议
RawData或原始数据表可写为:表X Fuzzy EDAS 原始评价数据。FuzzyDecision或模糊矩阵表可写为:表X Fuzzy EDAS 模糊决策矩阵。AverageSolution或平均解表可写为:表X Fuzzy EDAS 平均解。Defuzzified或去模糊矩阵表可写为:表X Fuzzy EDAS 去模糊矩阵。Weights或权重表可写为:表X Fuzzy EDAS 指标权重。PDA_NDA、PDA、NDA表可写为:表X Fuzzy EDAS 偏离度结果。SP_SN表可写为:表X Fuzzy EDAS 正负偏离总和。NSP_NSN表可写为:表X Fuzzy EDAS 归一化偏离结果。Scores或综合得分表可写为:表X Fuzzy EDAS 综合得分与排序。Charts表可写为:表X Fuzzy EDAS 图表索引与路径。
7.2 终审说明
- 当前模块是“先对数值决策矩阵模糊化,再按 EDAS 公式计算”的实现,不是直接从语言变量矩阵起步的模糊群决策版本,正文不要套用过重的模糊群体评价表述。
- 文档中列出的中英文 sheet 名是并存兼容口径,论文若要严格引用,应以本次结果工作簿里的真实页名为准。
- 结果解释的主表应是
Scores/综合得分,PDA/NDA、SP/SN、NSP/NSN负责支撑过程说明,正文不要把这些过程表和最终排序表混写。 - 模糊区间宽度受数据量级影响,因此不同指标上的模糊宽度不是统一常数,方法部分若写模糊化规则,应保留这一实现细节。
7.3 全量强化补充
本次全量强化绑定的真实结果目录为 具体的算法3/灰色系统与模糊理论/FuzzyEDAS-模糊 EDAS/results/FuzzyEDAS-模糊 EDAS分析结果_20260329_171527。该目录内可核验到一组主结果与一组 repro 再生产物:主工作簿为 FuzzyEDAS_results_20260329_171527.xlsx,repro 再生产物为 FuzzyEDAS_results_20260329_171528.xlsx。两者的实际工作表一致,均为 RawData、FuzzyDecision、Weighted、PDA_NDA、SP_SN、NSP_NSN、Scores、Charts、原始数据、模糊矩阵、平均解、去模糊矩阵、PDA、NDA、权重、综合得分。这说明当前实现同时保留了英文结果页和中文结果页,不应在论文中只写成单一语言口径。
同一目录下存在两组图目录:FuzzyEDAS_plots_20260329_171527/ 与 FuzzyEDAS_plots_20260329_171528/,其中都可直接核验 score_bar.png 与 weight_bar.png。因此本篇文档更准确的工程描述应是“主结果图 + repro 复现图成对出现”,而不是只有单次静态图件。
复现脚本为 repro_20260329_171528.py,其真实入口写法为 INPUT_CANDIDATES = ['repro_inputs/FuzzyEDAS-模糊 EDAS_repro_data.csv', 'repro_inputs/fuzzy_edas_baseline_input.csv'],并显式绑定 indicator_types、standard_values = {'偏差': 0.0}、weight_method = 'entropy'、fuzzy_alpha = 0.1、defuzzify_method = 'centroid'。目录内 repro_inputs/ 也真实存在,且至少包含 FuzzyEDAS-模糊 EDAS_repro_data.csv 与 fuzzy_edas_baseline_input.csv。因此 Fuzzy EDAS 当前已经具备双输入候选的相对路径复现链,正文应按这一真实脚本口径写实。
8. 软件实现核查补充(2026-07)
- 当前主结果目录应写作
具体的算法3/灰色系统与模糊理论/FuzzyEDAS-模糊 EDAS/results/FuzzyEDAS-模糊 EDAS分析结果_20260329_171527。 - 正文应围绕
RawData、FuzzyDecision、Weighted、PDA_NDA、SP_SN、NSP_NSN、Scores、Charts以及中文镜像表来写。 - 图证应对应
weight_bar.png与score_bar.png,并把模糊化、去模糊化与 EDAS 偏离度过程写清。 - 复现脚本应按
repro_20260329_171528.py + repro_inputs/FuzzyEDAS-模糊 EDAS_repro_data.csv的口径说明。