正在加载中...

展开本页目录
算法教程耦合协调度分析系统

耦合协调度分析系统

No.012 · 在线教程

本文档用于论文写作,公式与 Couplingdesktop 当前实现一致(系统内标准化与赋权 → 系统得分 → 系统对耦合度/协调度 → 等级判定)。

耦合协调度分析法

本文档用于论文写作,公式与 Coupling_desktop 当前实现一致(系统内标准化与赋权 → 系统得分 → 系统对耦合度/协调度 → 等级判定)。

1. 方法概述

设共有 \(n\) 个评价对象、\(S\) 个系统。第 \(s\) 个系统有 \(m_s\) 个指标,原始数据写作

$$ X^{(s)}=(x_{ij}^{(s)})_{n\times m_s},\quad i=1,\ldots,n,\ j=1,\ldots,m_s \tag{1} $$

其中每个系统数据表第一列为对象标识(地区/年份等),其余列为指标。

2. 指标标准化(同向化)

对每个系统独立标准化。记第 \(s\) 系统第 \(j\) 指标样本最小值与最大值为 \(x_{j,\min}^{(s)}\)、\(x_{j,\max}^{(s)}\)。

2.1 正向指标

$$ z_{ij}^{(s)}=\frac{x_{ij}^{(s)}-x_{j,\min}^{(s)}}{x_{j,\max}^{(s)}-x_{j,\min}^{(s)}} \tag{2} $$

2.2 负向指标

$$ z_{ij}^{(s)}=\frac{x_{j,\max}^{(s)}-x_{ij}^{(s)}}{x_{j,\max}^{(s)}-x_{j,\min}^{(s)}} \tag{3} $$

2.3 适度指标

若第 \(j\) 指标目标值为 \(t_j^{(s)}\),则

$$ z_{ij}^{(s)}=1-\frac{\left|x_{ij}^{(s)}-t_j^{(s)}\right|}{\max\!\left(\left|x_{j,\max}^{(s)}-t_j^{(s)}\right|,\left|x_{j,\min}^{(s)}-t_j^{(s)}\right|\right)} \tag{4} $$

若某指标为常数列(\(x_{j,\max}^{(s)}=x_{j,\min}^{(s)}\)),实现中该列标准化值置为 0。

3. 系统内指标权重

对每个系统分别计算 \(w_j^{(s)}\),满足

$$ \sum_{j=1}^{m_s}w_j^{(s)}=1,\quad w_j^{(s)}\ge 0 \tag{5} $$

3.1 方差法(默认)

$$ \sigma_j^{2(s)}=\operatorname{Var}\!\left(z_{1j}^{(s)},\ldots,z_{nj}^{(s)}\right) \tag{6} $$

$$ w_j^{(s)}=\frac{\sigma_j^{2(s)}}{\sum_{k=1}^{m_s}\sigma_k^{2(s)}} \tag{7} $$

3.2 熵权法

为增强稳健性,先平移为非负矩阵:

$$ y_{ij}^{(s)}=z_{ij}^{(s)}-\min_i z_{ij}^{(s)}+\varepsilon,\quad \varepsilon>0 \tag{8} $$

$$ p_{ij}^{(s)}=\frac{y_{ij}^{(s)}}{\sum_{i=1}^{n}y_{ij}^{(s)}} \tag{9} $$

$$ e_j^{(s)}=-\frac{1}{\ln n}\sum_{i=1}^{n}p_{ij}^{(s)}\ln p_{ij}^{(s)} \tag{10} $$

$$ d_j^{(s)}=1-e_j^{(s)},\qquad w_j^{(s)}=\frac{d_j^{(s)}}{\sum_{k=1}^{m_s}d_k^{(s)}} \tag{11} $$

当分母为 0 或数值异常时,实现回退为等权 \(1/m_s\)。

3.3 自定义权重

给定 \(\tilde w_j^{(s)}\ge0\) 后归一化:

$$ w_j^{(s)}=\frac{\tilde w_j^{(s)}}{\sum_{k=1}^{m_s}\tilde w_k^{(s)}} \tag{12} $$

4. 系统综合得分

第 \(s\) 系统中第 \(i\) 个对象的综合得分为

$$ U_i^{(s)}=\sum_{j=1}^{m_s}w_j^{(s)}z_{ij}^{(s)} \tag{13} $$

5. 系统对耦合度与协调度

对任意系统对 \((a,b),a<b\),逐对象计算:

5.1 耦合度

$$ C_i^{(a,b)}= \begin{cases} \dfrac{2\sqrt{U_i^{(a)}U_i^{(b)}}}{U_i^{(a)}+U_i^{(b)}}, & U_i^{(a)}+U_i^{(b)}>0\\[6pt] 0, & U_i^{(a)}+U_i^{(b)}=0 \end{cases} \tag{14} $$

5.2 协调指数

若系统间权重为 \(W_s\)(可由用户输入),则系统对内部归一化后:

$$ \alpha_{ab}=\frac{W_a}{W_a+W_b},\qquad \beta_{ab}=\frac{W_b}{W_a+W_b} \tag{15} $$

$$ T_i^{(a,b)}=\alpha_{ab}U_i^{(a)}+\beta_{ab}U_i^{(b)} \tag{16} $$

若 \(W_a+W_b\le 0\) 或未提供系统间权重,实现采用等权:

$$ T_i^{(a,b)}=\frac{U_i^{(a)}+U_i^{(b)}}{2} \tag{17} $$

5.3 耦合协调度

$$ D_i^{(a,b)}=\sqrt{C_i^{(a,b)}\,T_i^{(a,b)}} \tag{18} $$

6. 协调等级划分(与系统实现一致)

按照 \(D\in[0,1]\) 分级:

$$ \text{Level}(D)= \begin{cases} \text{极度失调}, & 0\le D<0.1\\ \text{严重失调}, & 0.1\le D<0.2\\ \text{中度失调}, & 0.2\le D<0.3\\ \text{轻度失调}, & 0.3\le D<0.4\\ \text{濒临失调}, & 0.4\le D<0.5\\ \text{勉强协调}, & 0.5\le D<0.6\\ \text{初级协调}, & 0.6\le D<0.7\\ \text{中级协调}, & 0.7\le D<0.8\\ \text{良好协调}, & 0.8\le D<0.9\\ \text{优质协调}, & 0.9\le D\le 1 \end{cases} \tag{19} $$

7. 论文结果表述建议

建议至少报告以下结果:

  1. 各系统指标权重 \(w_j^{(s)}\) 与赋权方法(方差法/熵权法/自定义);
  2. 系统得分 \(U_i^{(s)}\);
  3. 系统对的 \(C_i^{(a,b)}\)、\(T_i^{(a,b)}\)、\(D_i^{(a,b)}\) 与等级;
  4. 若使用系统间权重,给出 \(W_s\) 及其归一化说明(式(15));
  5. 可视化(得分对比图、协调度热力图、等级分布图)与主要结论。

以上公式可直接用于论文“研究方法”与“实证结果”章节,计算明细可放附录以增强可复现性。

8. 论文可直接引用模板(精简版)

本文采用耦合协调度模型评估多系统协同发展水平。首先对各系统指标进行同向化标准化处理(式(2)–式(4)),并采用方差法/熵权法确定系统内指标权重(式(6)–式(12)),据此计算系统综合得分(式(13))。随后对任意系统对计算耦合度 \(C\)(式(14))、协调指数 \(T\)(式(16) 或式(17))及耦合协调度 \(D\)(式(18)),并依据式(19)完成协调等级划分。最终形成“权重—得分—耦合协调度—等级”的完整评价结果,用于横向比较与政策解释。

9. 论文可直接引用模板(扩展版)

为定量刻画系统间协同关系,本文构建耦合协调度评价框架。设评价对象为 \(n\) 个、系统数为 \(S\),先在系统内部对原始指标矩阵进行正向化标准化,分别处理正向、负向与适度指标,消除量纲差异与方向差异。再依据方差法、熵权法或专家自定义权重,计算系统内部指标权重并形成对象综合得分。进一步地,对系统对 \((a,b)\) 计算耦合度 \(C\)、协调指数 \(T\) 与耦合协调度 \(D\),其中 \(T\) 在存在系统间权重时按系统对归一化权重计算。最后依据分级区间判定协调等级,实现对各对象协同状态的比较分析。该方法具有计算流程清晰、结果可解释性强、易于复现等优点,适用于区域发展、生态经济、产业协同等多指标综合评价场景。

10. 输出结果

当前项目中的耦合协调度实现位于 具体的算法/Coupling_desktop。按 coupling_calculator.py 的真实导出逻辑,程序每次运行后会生成独立结果目录 耦合协调度分析结果_<时间戳>/,其中主结果文件通常为 耦合协调度分析结果.xlsx。Excel 常见工作表包括:

  1. 主结果工作表(由 ExcelHandler.save_results_to_excel 生成)
  2. 耦合度C
  3. 协调指数T
  4. 协调等级
  5. 系统间权重(若有)
  6. 方法说明

此外,若开启系统内结果单独导出,还会为每个系统分别生成 系统1_*.xlsx系统2_*.xlsx 等子结果文件,其中通常包含 原始数据标准化数据权重得分指标类型参考值 等工作表。图像方面,代码会生成至少 system_scores_comparison.pngcoordination_heatmap.pngcoordination_level_distribution.png 等可视化结果。

11. 实现说明与注意事项

这套耦合协调度实现并不只是按一个固定公式输出单一 \(D\) 值,而是加入了系统内赋权、系统间权重和明细表导出,主要要点如下:

  1. 系统内指标可以按指标类型标准化,也可以在异常时回退到 Min-Max 标准化。
  2. 系统内权重支持 varianceentropycustom 三种方式;系统间权重则单独作为 \(T\) 的构造参数传入。
  3. 对任意系统对 \((a,b)\),代码会同时输出耦合度 \(C\)、协调指数 \(T\)、耦合协调度 \(D\) 与协调等级,而不是只输出最终等级。
  4. 当系统间权重缺失或和不合法时,代码会对系统对内部采用等权处理。
  5. 协调等级分为 10 档,从 极度失调优质协调,且等级阈值已在代码中固定写明,论文写作时应与系统实现保持一致。

因此,这个模块更贴切的说法是“带系统内赋权、系统间权重和等级明细导出的耦合协调度分析系统”。

12. 论文写作建议

建议正文按“系统内权重 -> 系统综合得分 -> 系统对 \(C/T/D\) -> 协调等级”这一顺序展开,并在附录中给出 耦合度C协调指数T协调等级 明细表。若采用系统间权重,还应单独说明其来源与归一化方式。

13. 单篇终审补充

13.1 图题与表题对齐建议

  • 系统1原始数据 表可写为:表X 系统1原始指标数据表。
  • 系统2原始数据 表可写为:表X 系统2原始指标数据表。
  • 耦合协调度结果 表可写为:表X 耦合协调度综合结果表。
  • 评价等级说明 表可写为:表X 耦合协调等级划分说明表。
  • 系统1标准化数据 表可写为:表X 系统1标准化结果表。
  • 系统2标准化数据 表可写为:表X 系统2标准化结果表。
  • 耦合度C 表可写为:表X 系统对耦合度 \(C\) 结果表。
  • 协调指数T 表可写为:表X 系统对协调指数 \(T\) 结果表。
  • 协调等级 表可写为:表X 系统对耦合协调等级表。
  • 系统间权重 表可写为:表X 系统间权重设置表。
  • 方法说明 表可写为:表X 耦合协调度方法说明表。
  • system_scores_comparison.png 建议写为:图X 各系统综合得分对比图。
  • coordination_heatmap.png 建议写为:图X 耦合协调度热力图。
  • coordination_level_distribution.png 建议写为:图X 协调等级分布图。

13.2 终审说明

  • 当前最适合写入终审说明的代表性目录可采用 具体的算法/Coupling_desktop/results/耦合协调度分析结果_20260329_160122。这一目录同时包含主结果、两个系统内结果、repro_inputs/repro_outputs/ 和复现脚本,结构最完整。
  • 主结果工作簿 耦合协调度分析结果.xlsx 的真实工作表为 系统1原始数据/系统2原始数据/耦合协调度结果/评价等级说明/系统1标准化数据/系统2标准化数据/耦合度C/协调指数T/协调等级/系统间权重/方法说明。论文中的表题应按这组真实中文 sheet 名落地,而不是泛化成“主结果工作表”。
  • 两个系统内结果文件分别为 系统1_方差法结果.xlsx系统2_方差法结果.xlsx,其真实工作表均为 原始数据/标准化数据/权重/得分/指标类型。如果正文要解释系统内赋权过程,应优先引用这两本子结果簿,而不是只看主结果簿。
  • 当前真实图文件稳定为 system_scores_comparison.pngcoordination_heatmap.pngcoordination_level_distribution.png。它们直接位于结果目录根部,同时 repro_outputs/ 里还会再生成同名副本,因此论文引用时建议统一采用主目录根部文件,避免重复路径带来的图号混乱。
  • 当前复现脚本为 repro_template_20260329_160122.py,脚本明确采用 FILE1 = 'repro_inputs/coupling_system1_sample.xlsx'FILE2 = 'repro_inputs/coupling_system2_sample.xlsx'。这篇文档可以把 repro_inputs/... 作为标准复现输入路径直接写入方法附录。

13.3 全量强化补充

  • 当前应锁定的主结果目录是 具体的算法/Coupling_desktop/results/耦合协调度分析结果_20260329_160122。主结果工作簿是 具体的算法/Coupling_desktop/results/耦合协调度分析结果_20260329_160122/耦合协调度分析结果.xlsx
  • 主结果工作簿当前实际工作表为 系统1原始数据系统2原始数据耦合协调度结果评价等级说明系统1标准化数据系统2标准化数据耦合度C协调指数T协调等级系统间权重方法说明。这一本才是正文中报告系统对 \(C/T/D\) 和等级的主证据。
  • 当前结果目录根部的三张主图为 具体的算法/Coupling_desktop/results/耦合协调度分析结果_20260329_160122/system_scores_comparison.pngcoordination_heatmap.pngcoordination_level_distribution.png。由于 repro_outputs/ 下还会递归生成多套同名图片,图题引用时应明确绑定首层根目录文件。
  • 两本系统内子结果簿分别是 具体的算法/Coupling_desktop/results/耦合协调度分析结果_20260329_160122/系统1_方差法结果.xlsx具体的算法/Coupling_desktop/results/耦合协调度分析结果_20260329_160122/系统2_方差法结果.xlsx。需要修正旧文的一处泛化说法:当前磁盘上系统 1 子结果簿的工作表为 原始数据标准化数据权重得分指标类型,而系统 2 子结果簿额外多出一张 Charts_Index。因此不能简单说两本子结果簿完全同构。
  • 当前复现脚本为 具体的算法/Coupling_desktop/results/耦合协调度分析结果_20260329_160122/repro_template_20260329_160122.py,脚本内真实输入口径为 FILE1 = 'repro_inputs/coupling_system1_sample.xlsx'FILE2 = 'repro_inputs/coupling_system2_sample.xlsx';对应输入副本位于首层 repro_inputs/ 目录下。
  • 当前目录下存在多层复现再生产物,例如 具体的算法/Coupling_desktop/results/耦合协调度分析结果_20260329_160122/repro_outputs/耦合协调度分析结果_20260329_162732/162851/163122/。这些目录都包含新的主工作簿、系统子结果簿和三张图。写文档时必须明确:160122 是首层主结果,162732/162851/163122 是重复执行 repro 后的多轮再生产物。

14. 软件实现核查补充(2026-07)

14.1 当前软件实现口径

本软件当前对应的源码目录为 具体的算法/Coupling_desktop,核心类为 core/coupling_calculator.py 中的 CouplingCalculator。当前主窗口保留的是“文件上传/加载示例”的标准流程:授权通过后进入 InputWidget,上传至少两个系统的数据,设置指标方向、系统内权重方法和系统间权重,然后执行耦合协调度分析。

源码中仍保留 ui/direct_score_widget.py 这种“使用已有得分”的历史组件,但 ui/main_window.py 当前主流程已移除该入口。面向用户说明时,不应把“已有得分粘贴输入”写成当前主界面可见流程,除非后续版本重新接入。

14.2 输入数据和界面参数

数据文件支持 Excel/CSV。每个系统的数据表要求第 1 列为评价对象名称,后续列为该系统的数值型指标。当前样例文件位于:

  • uploads/coupling_system1_sample.xlsx
  • uploads/coupling_system1_sample.csv
  • uploads/coupling_system2_sample.xlsx
  • uploads/coupling_system2_sample.csv

界面流程包括:系统数量设置系统数据上传检查评价对象一致性加载示例数据下一步、指标方向和权重设置、开始分析。系统数量范围为 2 到 10。程序会要求至少两个系统有数据,并检查各系统评价对象是否一致。

指标方向支持 正向指标负向指标适度指标。适度指标可填写参考值;若未提供参考值,标准化器会按内部默认规则处理。系统内权重方法包括 方差法熵权法自定义权重。系统间权重支持 平均权重自定义权重,用于协调指数 T 中的系统对归一化加权。

14.3 输出结果和图表解释

程序会在 results/耦合协调度分析结果_YYYYMMDD_HHMMSS/ 下生成独立结果目录,主结果文件通常为 耦合协调度分析结果.xlsx。主结果用于报告各对象、各系统对的 耦合度C协调指数T协调度D协调等级

当前主结果工作簿通常包括:耦合协调度结果评价等级说明、各系统原始数据和标准化数据、耦合度C协调指数T协调等级系统间权重方法说明 等工作表。程序还会为每个系统额外导出 系统1_方差法结果.xlsx系统2_熵权法结果.xlsx 或类似命名的系统内结果文件,文件名随系统内权重方法变化,常见 sheet 包括 原始数据标准化数据权重得分指标类型参考值

图表通常直接位于结果目录根部:

  • system_scores_comparison.png:各系统综合得分对比;
  • coordination_heatmap.png:对象与系统对的协调度热力图;
  • coordination_level_distribution.png:协调等级分布。

解释结果时,应先看 协调度D协调等级,再回看 耦合度C协调指数TC 高只能说明两个系统得分相近或匹配度高,不必然说明发展水平高;D = sqrt(C*T) 同时受耦合关系和综合发展指数影响。

14.4 复现和源码对应关系

结果页提供结果展示和复现代码导出。复现脚本由 ui/results_widget.py 生成,会把系统输入复制到 repro_inputs/,并支持 --data 系统名=路径--data-dir--out-dir 等参数形式。历史结果目录中可能存在多轮 repro_outputs/ 再生产物;写报告时应区分首层人工运行结果和复现脚本再次运行产生的结果。

源码对应关系如下:

  • main.py:环境检查、软件插件路径、日志、授权通过后进入主界面、Matplotlib 字体配置。
  • core/coupling_calculator.py:系统数据读取、标准化、方差法/熵权法/自定义权重、系统得分、耦合度、协调指数、协调度、等级、Excel 和图表导出。
  • core/standardizer.pycore/coupling_standardizer.py:正向、负向、适度指标的标准化处理。
  • ui/input_widget.py:当前主流程的数据上传、示例数据、对象一致性检查、指标方向、系统内权重、系统间权重和开始分析。
  • ui/results_widget.py:结果展示、打开结果、导出复现代码。
  • utils/excel_handler.py:主结果 Excel 的工作表组织和写入。
  • utils/result_manager.py:结果目录和文件管理辅助。

14.5 适用边界和常见误读

耦合协调度适合比较多个系统之间的发展匹配程度,但不是因果检验。D 值的高低依赖指标体系、指标方向、系统内权重和系统间权重;不同权重方案下的结论可能发生变化。

不要把 耦合度C 单独解释为“发展好”。当两个系统都处于低得分但数值接近时,C 可能较高;此时需要结合 TD 才能判断协调发展水平。若不同对象的 D 值接近,应报告为同一等级或相近水平,不宜过度放大名次差异。