MCM520 ← 资料站首页 城市表层土壤重金属污染分析(2011A)· 范文一(综合评价 / 决策主线) 打开交互阅读器 →

城市表层土壤重金属污染分析(2011A)· 范文一(综合评价 / 决策主线)

本范文为写作范式示范:由本站基于 2011A 赛题要点撰写,非真实参赛论文;核心数值取自本站合成练习集 cumcm2011a-points.csv(96 个采样点,含坐标与 8 种重金属浓度)及据此汇总的 5 大功能区均值,用于展示「综合评价 + 源示踪」类题型的建模与表述结构,正式参赛请以官方数据与真实方法为准。

摘要

针对 2011A「城市表层土壤重金属污染分析」,本文以熵权—改进内梅罗综合评价为主线,系统回答原题 4 个子问题:① 给出 8 种重金属的空间分布并量化各功能区污染程度;② 由熵权识别主导污染物并结合富集系数判定污染主因;③ 通过富集系数空间梯度反演污染传播特征与源区位置;④ 给出模型优缺点及应补充的信息。方法上,本文在标准内梅罗指数基础上引入熵权加权改进(兼顾极值与综合项),并辅以 TOPSIS 多属性决策、富集系数(EF)源示踪、CRITIC 对照赋权与 bootstrap / 蒙特卡洛 / 留一法三重统计检验,形成"评价—溯源—检验"闭环。计算表明:工业区综合污染指数最高(4.20,重污染),主干道区次之(3.15),生活区 1.69、公园绿地区 1.30 为中度,山区最低(0.86,清洁);熵权下 Cu、Cd、Hg、Pb 为四大主导污染物(累计权重 0.787),其富集系数在空间上呈现由工业区/主干道向山区递降的梯度,指向交通源与工业源复合贡献。进一步以 TOPSIS、等权与 CRITIC 三种方案做横评,三法对五功能区"工业区 > 主干道区 > 生活区 > 公园绿地区 > 山区"的污染排序完全一致(Spearman 秩相关 > 0.95);并以 2000 次 bootstrap 熵权重采样、3000 次蒙特卡洛内梅罗置信带做模型检验,结论稳健。TOPSIS 贴近度排序与熵权—改进内梅罗完全一致,互为支撑。

一、问题重述

  • 赛事背景:全国大学生数学建模竞赛 2011 年 A 题。
  • 问题实质:基于城市不同功能区表层土壤重金属采样数据,刻画污染空间格局、溯源、并定位污染来源。
  • 本文需回答的原题子任务:
    1. 给出 8 种重金属元素(As、Cd、Cr、Cu、Hg、Ni、Pb、Zn)的空间分布,并分析各功能区污染程度;
    2. 说明重金属污染的主要原因;
    3. 分析重金属污染物的传播特征,建立模型确定污染源的位置;
    4. 分析模型的优缺点,并指出还应收集哪些信息以进一步完善建模。

二、文献综述

城市土壤重金属评价与溯源是环境地学的经典问题,已形成较成熟的方法体系,本文工作建立在以下文献基础之上:

  • 单因子与综合指数:Nemerow 于 1974 年提出的内梅罗污染指数(Nemerow index)以内梅罗平均兼顾单因子极值与均值,长期用于土壤/水质综合评价;其经典形式 PN=(max⁡Pij)2+(Pij‾)22P_N=\sqrt{(\max P_{ij})^2+(\overline{P_{ij}})^2\over 2} 对最大值过度敏感,一个极端因子即可主导全局,后续研究提出"改进内梅罗指数"以加权方式平衡极值与综合项(见第五、六节)。与之并列的还有地累积指数(Müller, 1969,以背景值加系数列分级)、潜在生态危害指数(Hakanson, 1980,引入毒性系数)等,本文在综合评价主线中以内梅罗—熵权为主,必要时以富集系数作源示踪补充。
  • 客观赋权:Shannon(1948)的信息熵理论为"以数据离散度定权重"提供依据——熵权法将各指标的信息熵转化为权重,离散度越大(区分能力越强)则权重越高,可克服专家打分的主观性。与之互补的 CRITIC 法(Diakoulaki et al., 1995)进一步引入指标间相关性,对冲突性大的指标赋更高权。本文在第十节以等权、CRITIC 与熵权三方横评,检验结论稳健性。
  • 富集系数(Enrichment Factor, EF):Sutherland(2000)系统总结了以背景值归一化的富集系数法,EF 显著大于 1 指示强烈人为源贡献,EF∈(1,3] 为轻微富集、(3,5] 中等、(>5) 显著乃至极度富集。本文以区域地球化学背景为基准计算 EF,作为源示踪的独立视角。
  • 多属性决策:Hwang 与 Yoon(1981)提出的 TOPSIS(逼近于理想解排序法)以"到正理想解最近、到负理想解最远"为原则做综合排序,本文将其作为综合评价的横向对照方法,与熵权—改进内梅罗互证。
  • 空间统计与源解析:除综合评价外,2011A 的另一主线是空间格局与源定位。地质统计(变异函数、Kriging,Matheron, 1963)与受体模型(PCA/APCS,Thurston & Spengler, 1985)为后续两篇范文提供方法基础;本篇聚焦"评价—决策",相关空间方法在范文二、三中展开。
  • 标准依据:中国《土壤环境质量 农用地污染风险管控标准》(GB 15618-2018)规定了各金属的筛选值与管控值,本文在第4节以背景基准作相对评价,正式建模应接入该标准阈值将相对指数转为绝对风险等级。

上述方法各有侧重:内梅罗—熵权擅长"综合排序",EF 擅长"源示踪",TOPSIS 擅长"多属性决策",PCA/APCS(见范文二)擅长"降维与混合源解析",变异函数与 Kriging(见范文三)擅长"空间插值定位"。单一方法难以同时回答 2011A 的"评价 + 溯源 + 定位"三重任务,因此本文(范文一)聚焦综合评价与决策主线的严密化,把源解析与空间定位作为定性支撑与后续两篇的引子,并在第十节用多方法横评互证,避免"一种方法定生死"的脆弱结论。这种"一条主线做深、多方法交叉验证"的写法,也是获奖论文常见的稳健策略。

三、模型假设与符号

  • 假设 1:采样点浓度可代表其所在功能区的总体水平,功能区内部相对均质。
  • 假设 2:以各金属在 5 区均值上的标准差 σj\sigma_j 作相对量纲基准,单因子指数 Pij=Cij/σjP_{ij}=C_{ij}/\sigma_j 刻画相对超标程度(P>1P>1 视为相对偏高);源示踪另用地球化学背景 BjB_j 计算富集系数。
  • 假设 3:污染由少数稳定源贡献,富集系数(实测值/背景值)可示踪源强相对大小。
  • 主要符号:CijC_{ij} 为第 ii 功能区第 jj 种金属浓度;wjw_j 为第 jj 种金属熵权;PN,iP_{N,i} 为第 ii 功能区改进内梅罗指数;EFijEF_{ij} 为富集系数;v+,v−\mathbf{v}^+,\mathbf{v}^- 为 TOPSIS 正/负理想解。

四、数据说明

采用本站练习数据集 cumcm2011a-points.csv(96 采样点 × 8 金属 + 坐标)。按 5 大功能区(生活区、工业区、山区、主干道区、公园绿地区)汇总得到均值矩阵 CC(单位 mg/kg),并与土壤元素背景基准 B=[As 3.6, Cd 0.13, Cr 31.4, Cu 12.8, Hg 0.038, Ni 12.2, Pb 20.8, Zn 42.3]B=[\text{As}\,3.6,\ \text{Cd}\,0.13,\ \text{Cr}\,31.4,\ \text{Cu}\,12.8,\ \text{Hg}\,0.038,\ \text{Ni}\,12.2,\ \text{Pb}\,20.8,\ \text{Zn}\,42.3] 对照。各金属跨区域标准差 σ=[As 15, Cd 0.3, Cr 90, Cu 35, Hg 0.15, Ni 40, Pb 35, Zn 100]\sigma=[\text{As}\,15,\ \text{Cd}\,0.3,\ \text{Cr}\,90,\ \text{Cu}\,35,\ \text{Hg}\,0.15,\ \text{Ni}\,40,\ \text{Pb}\,35,\ \text{Zn}\,100] 用于单因子指数量纲统一。功能区均值如下:

功能区 As Cd Cr Cu Hg Ni Pb Zn
生活区 12.0 0.45 85 55 0.25 38 60 180
工业区 18.0 1.20 140 160 0.60 55 140 320
山区 10.0 0.25 70 28 0.12 32 30 90
主干道区 14.0 0.80 110 120 0.45 48 110 260
公园绿地区 11.0 0.35 78 42 0.20 35 48 130

数据呈现出清晰的"城市强度梯度":工业区与主干道区在 Cd、Cu、Hg、Pb 四项上遥遥领先(如工业区 Cu 为山区的 5.7 倍),而 As、Cr、Ni 等"地质本底型"金属在五区之间差异较小。一个值得注意的现象是,交通—工业特征金属之间存在极強的同步性:以五区均值为样本,Cd 与 Pb 相关系数达 0.989、Cu 与 Zn 达 0.984、Hg 与 Pb 达 0.999,说明它们很可能共享同一类排放过程(机动车与工业活动),这既为后文的"复合源"判断埋下伏笔,也提示在赋权时若不加区分会把高度共变的金属重复计数——这正是第十节引入 CRITIC 对照的动机之一。

五、模型与方法(综合评价主线)

5.1 单因子污染指数

Pij=Cijσj,i=1,…,5; j=1,…,8P_{ij}=\frac{C_{ij}}{\sigma_j},\qquad i=1,\dots,5;\ j=1,\dots,8

以标准差为相对基准,Pij>1P_{ij}>1 表示该金属浓度相对其跨区域变异性显著偏高,可作"相对超标"的初步筛选。这里以"跨区域标准差"而非"背景值"作分母,目的是回答"各功能区之间谁更异常",属于相对评价;而 5.4 节的富集系数改用背景值作分母,回答"相对自然本底抬高多少",属于源示踪。两者分母不同、职能互补:单因子指数用于横向比较功能区,富集系数用于纵向判断人为叠加强度。需要强调的是,单独的 PijP_{ij} 只能给出"哪一金属在哪一区偏高",无法综合成全区排序,因此需要 5.2–5.3 的加权综合。

5.2 熵权法客观赋权

设已构建标准化矩阵 PP(5 行 × 8 列)。对各列(金属)做列归一化:

pij=Pij∑k=15Pkj,j=1,…,8p_{ij}=\frac{P_{ij}}{\sum_{k=1}^{5}P_{kj}},\qquad j=1,\dots,8

第 jj 列的信息熵

ej=−1ln⁡5∑i=15pijln⁡pije_j=-\frac{1}{\ln 5}\sum_{i=1}^{5}p_{ij}\ln p_{ij}

熵越小说明该金属在功能区之间分布越不均匀、区分能力越强。由此得权重

wj=1−ej∑k=18(1−ek),∑j=18wj=1w_j=\frac{1-e_j}{\sum_{k=1}^{8}(1-e_k)},\qquad \sum_{j=1}^{8}w_j=1

该式将"数据自身的离散信息"转化为权重,避免人为设定。

5.3 改进内梅罗指数

经典内梅罗指数 PN=(max⁡Pij)2+(Pij‾)22P_N=\sqrt{(\max P_{ij})^2+(\overline{P_{ij}})^2\over 2} 对最大值过度敏感。本文采用加权改进形式:

PN,i=(max⁡jPij)2+(∑jwjPij)22P_{N,i}=\sqrt{\frac{\big(\max_j P_{ij}\big)^2+\big(\sum_j w_j P_{ij}\big)^2}{2}}

第一项为单因子极值(保障"最差因子"不被淹没),第二项为熵权加权的综合项(体现主导污染物贡献),二者均衡,比经典内梅罗更突出主导污染物。

数值对照(以工业区为例):工业区的 8 金属单因子指数分别为 As 1.00、Cd 4.00、Cr 1.56、Cu 4.57、Hg 4.00、Ni 1.38、Pb 4.00、Zn 3.20,极大值 max⁡P=4.57\max P=4.57(Cu),算术平均 P‾=2.96\overline P=2.96。经典内梅罗得 PN=(4.572+2.962)/2=3.85P_N=\sqrt{(4.57^2+2.96^2)/2}=3.85;而熵权加权综合项 ∑jwjPij=3.78\sum_j w_jP_{ij}=3.78(高权重的 Cu/Cd/Hg/Pb 同时偏高,把综合项拉到接近极值),改进式得 PN,i=(4.572+3.782)/2=4.20P_{N,i}=\sqrt{(4.57^2+3.78^2)/2}=4.20。可见改进指数(4.20)比经典(3.85)更"重",因为它没有用算术平均稀释掉高权重金属的协同抬升——这正是引入熵权的意义:让真正区分度高的污染物主导综合评价。

5.4 富集系数

EFij=CijBjEF_{ij}=\frac{C_{ij}}{B_j}

以地球化学背景为归一基准,EF≫1EF\gg1 指示强烈人为叠加。按 Sutherland(2000)的分级习惯:EF∈(1,3]EF\in(1,3] 为轻微富集、(3,5](3,5] 中等、(5,20](5,20] 显著乃至重度富集、>20>20 极度富集。本文取 Cd、Cu、Hg、Pb 四类交通—工业特征金属的平均富集系数刻画源强空间格局(具体数值见 6.2 与图 4):工业区平均 11.1(显著富集)、主干道区 8.2(显著)、生活区 4.3(中等偏上)、公园绿地区 3.4(中等)、山区 2.2(轻微)——富集强度随"城区→外围"的递降,正是源强空间梯度的直接证据。

5.5 TOPSIS 综合评分(横向对照)

对加权矩阵 Xij=wjPijX_{ij}=w_j P_{ij} 构造正、负理想解

v+=(max⁡iXi1,…,max⁡iXi8),v−=(min⁡iXi1,…,min⁡iXi8)\mathbf{v}^+=\big(\max_i X_{i1},\dots,\max_i X_{i8}\big),\quad \mathbf{v}^-=\big(\min_i X_{i1},\dots,\min_i X_{i8}\big)

各功能区到理想解的距离 Di+=∥Xi−v+∥D_i^+=\|X_i-\mathbf{v}^+\|、Di−=∥Xi−v−∥D_i^-=\|X_i-\mathbf{v}^-\|,贴近度

Ci∗=Di−Di++Di−∈[0,1]C_i^*=\frac{D_i^-}{D_i^++D_i^-}\in[0,1]

Ci∗C_i^* 越大污染越重,用于与熵权—改进内梅罗结论做横评。

5.6 CRITIC 赋权(对照方案)

为在第十节做敏感性对照,同时给出 CRITIC 权重。其先对矩阵 PP 作 min-max 无量纲化得 P~ij\tilde P_{ij},再计算第 jj 列标准差 σj\sigma_j 与列间相关系数 rjkr_{jk}:

cj=σj∑k=18(1−∣rjk∣),wjCRITIC=cj∑k=18ckc_j=\sigma_j\sum_{k=1}^{8}(1-|r_{jk}|),\qquad w_j^{\text{CRITIC}}=\frac{c_j}{\sum_{k=1}^{8}c_k}

CRITIC 兼顾"指标自身波动"与"指标间冲突性",可与熵权形成方法对照,检验主导污染物判定的稳健性。

六、模型求解

6.1 空间分布与区域污染程度(任务一)

对 8 种金属分别计算单因子指数并绘制热力图(图 3)。工业区与主干道区的 Cd、Cu、Hg、Pb 普遍 P>1P>1,其中工业区 Cu 的 P=4.57P=4.57、Cd/Hg/Pb 均为 4.004.00,呈显著相对超标;山区各金属 PP 多接近或低于 1,最为清洁。以熵权对单因子指数加权,求得各功能区改进内梅罗指数(图 2):

  • 工业区 PN=4.20P_N=4.20(重污染);主干道区 PN=3.15P_N=3.15(重污染);
  • 生活区 PN=1.69P_N=1.69、公园绿地区 PN=1.30P_N=1.30(中度);山区 PN=0.86P_N=0.86(清洁)。

即污染程度排序 工业区 > 主干道区 > 生活区 > 公园绿地区 > 山区,空间上呈现"城区高、外围低"的格局。

各金属的单因子指数(图 3)在五区间的分布如下(仅列四类主导金属,均保留两位小数):

功能区 Cd PP Cu PP Hg PP Pb PP
生活区 1.50 1.57 1.67 1.71
工业区 4.00 4.57 4.00 4.00
山区 0.83 0.80 0.80 0.86
主干道区 2.67 3.43 3.00 3.14
公园绿地区 1.17 1.20 1.33 1.37

这张表有三个信息:其一,Cd/Cu/Hg/Pb 在生活区、工业区、主干道区、公园绿地区四类均满足 P>1P>1,仅山区 < 1,说明这四类交通—工业特征金属在城市建成区内已普遍"相对偏高",并非个别点异常;其二,工业区在四项上都是最大值(Cu 达 4.57、其余三项 4.00),污染最为集中;其三,主干道区紧随其后且四项数值接近(2.67~3.43),呈现典型的"道路沿线均匀累积"形态,与机动车排放的弥散特征吻合。

从指数量级看,工业区 PN=4.20P_N=4.20 已远超"重污染"的经验阈值 3,说明该区并非单一金属偏高,而是多金属(Cu、Cd、Hg、Pb)协同抬升;主干道区 PN=3.15P_N=3.15 紧随其后,体现交通干线两侧的累积效应;生活区与公园绿地区处于 1~2 的中度区间,反映城市日常活动(供暖、生活垃圾、绿地施肥)的弥散贡献;山区 PN=0.86<1P_N=0.86<1 接近背景状态,验证"远离源则指数回落"的基本判断。这一梯度与城市土地利用强度高度吻合,也为第三节的源定位提供了空间线索。

6.2 污染主要原因(任务二)

熵权法给出 8 种金属的客观权重(图 1):

w=(As 0.028, Cd 0.194, Cr 0.042, Cu 0.238, Hg 0.182, Ni 0.026, Pb 0.173, Zn 0.116)w=(\text{As}\,0.028,\ \text{Cd}\,0.194,\ \text{Cr}\,0.042,\ \text{Cu}\,0.238,\ \text{Hg}\,0.182,\ \text{Ni}\,0.026,\ \text{Pb}\,0.173,\ \text{Zn}\,0.116)

Cu、Cd、Hg、Pb 合计权重达 0.238+0.194+0.182+0.173=0.7870.238+0.194+0.182+0.173=0.787,为四大主导污染物。结合富集系数(图 4,Cd/Cu/Hg/Pb 平均相对背景值):工业区 11.1、主干道区 8.2、生活区 4.3、公园绿地区 3.4、山区 2.2。进一步把四类金属的富集系数拆开看(表 below),可发现源贡献的"指纹差异":

功能区 Cd EFEF Cu EFEF Hg EFEF Pb EFEF 平均
工业区 9.2 12.5 15.8 6.7 11.1
主干道区 6.2 9.4 11.8 5.3 8.2
生活区 3.5 4.3 6.6 2.9 4.3
公园绿地区 2.7 3.3 5.3 2.3 3.4
山区 1.9 2.2 3.2 1.4 2.2

Hg 的富集在所有城区都最突出(工业区 15.8、主干道区 11.8),这与燃煤飞灰、垃圾焚烧中 Hg 的高挥发性一致;Cd、Pb 在主干道区的富集(6.2、5.3)高于生活区(3.5、2.9),体现轮胎/刹车磨损与尾气的道路源特征;Cu 在工业区的富集(12.5)最为显著,指向工业冶炼与电子废弃物。整体看,五区的平均 EFEF 与综合污染指数 PNP_N 同序递降,说明"富集强度"与"综合污染程度"是同一污染过程的两面。

从环境地球化学语义看,这四类金属具有鲜明的"人为源指纹":Cd、Pb 及其伴生 Zn 主要源自交通尾气、轮胎与刹车磨损颗粒以及含铅汽油的历史残留,其富集随距干道距离衰减明显;Cu、Hg 则与工业冶炼、电镀、燃煤及城市垃圾焚烧密切相关。As、Cr、Ni 虽在工业区也有所升高(与工业本底叠加有关),但其熵权较低,说明它们在各功能区之间的差异相对温和、区分度不及前述四类。因此可判定:交通源与工业源复合贡献是城市土壤重金属污染的主因,其中交通源主导 Cd/Pb/Zn、工业源主导 Cu/Hg,二者在空间上于工业区—主干道交叉带叠加,形成最强源区。这一结论与文献中城市土壤重金属"交通—工业双源"的经典认知一致。

6.3 传播特征与源定位(任务三)

由富集系数空间分布可见,高值区集中在工业区与主干道沿线,向公园、山区方向单调递降(图 4),说明污染物以局地源(工厂、道路)为中心,经大气干湿沉降与地表径流向外扩散,传输距离有限(典型扩散尺度约数公里)。据此将工业区与主干道交叉带判定为主要污染源区(源强最大),与 6.1 的污染程度高值区一致,互为印证。

从机理上,可用一个"源强 × 距离衰减"的概念模型刻画这种梯度。设某功能区到最近主导源的距离为 dd,则其相对背景的累积量近似满足指数衰减形式

EF(d)≈EF0exp⁡(−λd),λ>0EF(d)\approx EF_0\exp(-\lambda d),\qquad \lambda>0

即离源越远,富集系数越低。将五区的平均 EFEF(11.1、8.2、4.3、3.4、2.2)与它们到工业区—主干道交叉带的近似距离排序对照,呈单调下降,与该模型的定性预测一致,说明存在一个主导近源中心,而非多个势均力敌的远源。需要说明:本篇作为"综合评价主线"只做定性的源区圈定;更严格的源解析(PCA/APCS 混合源分解)见范文二,基于空间插值与衰减反演的点位级源定位见范文三。源定位结论的定量稳健性另见第十一节 bootstrap 分析。

6.4 模型优缺点与拓展(任务四)

见第十二、十三节。

七、结果与分析

汇总关键结论:综合污染指数工业区 4.20 居首,主导污染物为 Cu/Cd/Hg/Pb(累计熵权 0.787),富集系数梯度指向交通—工业复合源,源区锁定于工业区—主干道带。TOPSIS 贴近度(图 6)给出完全一致的顺序:工业区 C∗=1.000C^*=1.000、主干道区 0.6760.676、生活区 0.2380.238、公园绿地区 0.1310.131、山区 0.0000.000。

功能区 内梅罗 PNP_N TOPSIS C∗C^* 污染等级 平均富集系数
工业区 4.20 1.000 重 11.1
主干道区 3.15 0.676 重 8.2
生活区 1.69 0.238 中 4.3
公园绿地区 1.30 0.131 中 3.4
山区 0.86 0.000 清洁 2.2

图6 熵权-TOPSIS 综合污染得分

TOPSIS 贴近度(图 6)与改进内梅罗的"绝对数值"不同,它给出的是相对排序位置:山区被推到负理想解(所有金属都最低),故 C∗=0.000C^*=0.000;工业区独占正理想解,故 C∗=1.000C^*=1.000;其余三区按与理想解的贴近程度线性分布于其间。两种方法的"数值口径"不同(一个是加权距离比,一个是极值—加权和开方),却给出完全相同的五区排序,说明结论不依赖"综合指数"的具体数学形式——只要权重客观、单因子信息保留,排序就稳定。这本身也是对主结论的一次交叉验证。

八、结果可视化

图1 各重金属熵权

图2 各功能区改进内梅罗指数

图3 单因子超标热力图

图4 核心金属平均富集系数

九、配套代码与手册

十、方法横评(灵敏度)

将熵权替换为等权与 CRITIC 权两种方案重算内梅罗指数,并与 TOPSIS 排序对照(图 7)。三种赋权给出的五功能区污染程度排序均为 工业区 > 主干道区 > 生活区 > 公园绿地区 > 山区,完全一致;工业区与主干道区的绝对差值在 ±0.2 内波动,山区始终最低。

图7 三种综合评价方法排序对比

进一步考察主导污染物的判定:熵权下 Cu/Cd/Hg/Pb 居前四(累计 0.787);而 CRITIC 法给出的权重为 As 0.220、Cd 0.101、Cr 0.106、Cu 0.113、Hg 0.076、Ni 0.080、Pb 0.105、Zn 0.199——与熵权外观差异很大,As、Zn 被显著抬高,Cu/Hg 被压低。原因在于 CRITIC 同时惩罚"高相关指标":前文已算得 Cd–Pb 相关 0.989、Cu–Zn 0.984、Hg–Pb 0.999,这些金属高度共变,CRITIC 认为它们"信息重复",于是降低其权、抬高相对独立的 As、Zn。然而即便权重体系天差地别,五区污染排序却纹丝不动——这是因为工业区的 Cd/Cu/Hg/Pb 富集(表 6.2)是压倒性的,无论权重如何分配,它都稳居第一;排序由"谁绝对偏高"决定,而非"用哪种权重"。这说明"交通—工业源主导"这一核心结论不依赖于单一权重方案,方法选择只影响次要金属的细微排序,不影响决策主轴。

三方法排序一致性的定量刻画见图 7 与图 7b:以 TOPSIS 顺序为基准,单因子均值法、改进内梅罗法(熵权/等权/CRITIC)给出的排名(1=最重)高度重合,Spearman 秩相关系数均大于 0.95,从统计上佐证结论稳健。

图7b 三方法排名一致性(Spearman)

十一、模型检验

为确认结论不是抽样或算法偶然所得,做两项统计检验:

  1. 熵权 bootstrap 稳定性(图 5):对 5 区 × 8 金属矩阵做 2000 次有放回重采样,每次重算 Cu/Cd/Hg/Pb 的熵权。四种金属熵权的中位分别为 0.239 / 0.191 / 0.182 / 0.174,四分位区间(IQR)分别为 [0.226,0.256][0.226,0.256]、[0.169,0.204][0.169,0.204]、[0.170,0.189][0.170,0.189]、[0.166,0.187][0.166,0.187]。区间窄且与基点估计高度重合,且 Cu/Cd/Hg/Pb 在每一次重采样中均稳定占据权重前四,说明"主导污染物为交通—工业特征金属"的判定对样本扰动稳健,并非个别高值点驱动。

图5 熵权 bootstrap 敏感性(2000 次重采样)

  1. 内梅罗蒙特卡洛置信带(图 8):对 5 区做 3000 次重采样,每次重算全局平均内梅罗指数,得到其经验分布。95% 置信带为 [1.11, 2.94][1.11,\ 2.94],中位数 1.98;置信带整体位于 1 之上,进一步支持"城市土壤整体处于中度以上污染、且至少达中度"的判断,而非由个别功能区拉高均值所致。

图8 改进内梅罗全局均值蒙特卡洛分布

  1. 留一法(LOO)一致性补充:针对"排序结论是否依赖某一功能区"的疑问,依次剔除单个功能区后重算其余四区的相对排序,结果五区排序在每次剔除下均不翻转,说明任一功能区都不是排序结论的"杠杆点"。三项检验共同表明,本文的综合评价结论在统计意义上是可靠的。

十二、模型评价(优缺点)

  • 优点:熵权客观、可解释;改进内梅罗兼顾极值与综合;富集系数提供源示踪视角;TOPSIS 横评增强说服力;bootstrap 与蒙特卡洛检验提升结论可靠性;计算高效、易复现。
  • 不足:功能区均值会平滑点尺度空间异质性;未显式建模传输过程(扩散机制为定性推断);背景值选取影响富集系数绝对值;单因子指数以标准差为基准属相对量纲,正式评价应接入 GB 15618 阈值。

十三、还应收集的信息

建议补充:① 更密集的点位与深层剖面数据(刻画垂向迁移);② 同期大气沉降、交通流量、企业排放清单(支撑源解析定量);③ 时间序列数据(判断污染趋势);④ 土壤理化性质(pH、有机质)以解释迁移转化;⑤ 官方土壤环境质量标准阈值,将相对指数转为绝对风险等级。

十四、结论

以熵权—改进内梅罗综合评价为主线,本文完整回答了 2011A 的 4 个子问题:城市土壤重金属呈城区高、外围低的分布,工业区与主干道区为重污染核心(内梅罗 4.20 / 3.15);Cu/Cd/Hg/Pb 为主导污染物(累计熵权 0.787),主因为交通—工业复合源;污染源区锁定于工业区—主干道带;并给出模型优缺点与数据补充建议。TOPSIS 横评与 bootstrap/蒙特卡洛检验共同表明评价结论稳健、可复现。

十五、参考文献

[1] Nemerow N L. Scientific Stream Pollution Analysis[M]. Washington: Scripta Book Co., 1974.(内梅罗指数)
[2] Shannon C E. A Mathematical Theory of Communication[J]. Bell System Technical Journal, 1948.(信息熵)
[3] Sutherland R A. Bed sediment-associated trace metals in an urban stream[J]. Environmental Geology, 2000.(富集系数 EF)
[4] Hwang C L, Yoon K. Multiple Attribute Decision Making[M]. Springer, 1981.(TOPSIS)
[5] 生态环境部. 土壤环境质量 农用地污染风险管控标准 GB 15618-2018[S].
[6] 全国大学生数学建模竞赛组委会. 2011 年高教社杯 A 题题目与优秀论文选编.
[7] 本站点《熵权法》《TOPSIS》《PCA 综合评价》算法深度手册(配套代码与数据集).


附录:核心 Python 实现(熵权 + 改进内梅罗 + 富集系数 + TOPSIS)

# 纯标准库,读取 cumcm2011a-points.csv 复现正文数值
import csv, math

# 5 功能区 8 金属均值(与正文数据表一致)
RMEAN = {
    "生活区":   [12.0,0.45,85,55,0.25,38,60,180],
    "工业区":   [18.0,1.20,140,160,0.60,55,140,320],
    "山区":     [10.0,0.25,70,28,0.12,32,30,90],
    "主干道区": [14.0,0.80,110,120,0.45,48,110,260],
    "公园绿地区":[11.0,0.35,78,42,0.20,35,48,130],
}
STD = [15,0.3,90,35,0.15,40,35,100]          # 各金属跨区域标准差(相对量纲)
BG  = [3.6,0.13,31.4,12.8,0.038,12.2,20.8,42.3]  # 背景值
REGIONS = list(RMEAN.keys())

def entropy_weights(P):
    n, m = len(P), len(P[0])
    p = [[P[i][j]/sum(P[k][j] for k in range(n)) for j in range(m)] for i in range(n)]  # 列归一化
    k = 1/math.log(n)
    e = [-k*sum(p[i][j]*math.log(p[i][j]) for i in range(n) if p[i][j] > 0) for j in range(m)]
    d = [1 - ej for ej in e]; sd = sum(d)
    return [dj/sd for dj in d]

P = [[RMEAN[r][j]/STD[j] for j in range(8)] for r in REGIONS]
w = entropy_weights(P)
print("熵权:", {m: round(x,3) for m, x in zip(
    ["As","Cd","Cr","Cu","Hg","Ni","Pb","Zn"], w)})

pn = {}
for r in REGIONS:
    row = [RMEAN[r][j]/STD[j] for j in range(8)]
    mx = max(row); wsum = sum(w[j]*row[j] for j in range(8))
    pn[r] = math.sqrt((mx*mx + wsum*wsum)/2)
print("改进内梅罗:", {r: round(pn[r],2) for r in REGIONS})

# TOPSIS 贴近度
X = [[P[i][j]*w[j] for j in range(8)] for i in range(5)]
vpos = [max(X[i][j] for i in range(5)) for j in range(8)]
vneg = [min(X[i][j] for i in range(5)) for j in range(8)]
C = {}
for i, r in enumerate(REGIONS):
    dpos = math.sqrt(sum((X[i][j]-vpos[j])**2 for j in range(8)))
    dneg = math.sqrt(sum((X[i][j]-vneg[j])**2 for j in range(8)))
    C[r] = dneg/(dpos+dneg)
print("TOPSIS C*:", {r: round(C[r],3) for r in REGIONS})

# 富集系数(Cd,Cu,Hg,Pb)
pick = [1,3,4,6]
for r in REGIONS:
    ef = sum(RMEAN[r][j]/BG[j] for j in pick)/len(pick)
    print(r, "平均富集系数:", round(ef,1))

本范文为写作示范,数值为合成数据,仅用于展示建模与表述范式。