光污染治理(ICM 2023 E)范文一:风险指标体系构建与四维刻画
摘要
2023 年美赛 E 题由 COMAP 照明控制任务(ICM)提出,要求参赛者建立一个广泛适用的指标,用以识别任一地点的光污染风险水平,并把该指标应用于受保护土地、乡村社区、郊区社区、城市社区四类地点加以解释;在此基础上提出三类干预策略、为选定地点选出最有效干预,并制作宣传传单。本文聚焦该问题的度量底座:在联网查证确认赛题背景(光污染涵盖光侵入、过度照明与光杂乱,影响夜空观测、生态、人体健康与安全)之后,我们构建了一套确定性的练习数据集与可复现的风险量化框架。我们对 16 个代表地点(每类 4 个)定义 6 项归一化指标——夜间亮度 L、照明增长 G、人口暴露 P、生态敏感 B、安全需求 S、治理成熟 R——并据此给出两个分量风险(人类风险、生态风险)与综合光污染风险指数 LPRI。分析显示:全样本平均 LPRI=0.4488,风险分级为低 4、中 10、高 2;四类地点的平均风险单调递增(保护地 0.3221 → 乡村 0.3766 → 郊区 0.5085 → 城市 0.5879);亮度 L 与 LPRI 的相关系数高达 0.9949,是主导驱动因子。本文为后续两篇论文(四类应用与干预优选、稳健性与政策倡导)奠定了统一、可计算、可复现的量化基础。
1 问题重述
赛题要求围绕"测量并减轻不同地点的光污染影响"回答若干相互关联的子问题,其中与度量方法直接相关的核心任务有四:其一,开发一个广泛适用的指标,识别一个地点的光污染风险水平;其二,把指标应用到受保护土地、乡村、郊区、城市四类地点并解释结果差异;其三,描述三种干预策略,讨论其实施行动与潜在影响;其四,为选定地点用指标选出最有效干预。本文不急于给出最后的干预清单,而是先把上述任务的指标结构与风险概念讲清楚——这是任何可靠分类、选址与政策建议的前提。我们强调:只有先建立可解释、可复现的"指标→分量风险→综合风险"链条,后续的应用与干预才有意义。
2 数据与假设
本站的练习数据集 data/icm2023e.csv 由真源 tools/gen_icm2023e.py(SEED=2023,纯标准库,零依赖)确定性生成,共 16 个代表地点,结构与赛题要求的四维应用对齐。为使模型可解、可复现,作如下假设:
- H1(六维驱动):地点的光污染风险可由六个相互补充的维度近似刻画,即亮度、增长、人口暴露、生态敏感、安全需求与治理成熟,足以覆盖"人类与非人类关切"。
- H2(指标可测):这六项指标均可由公开遥感与社会经济数据代理(如 VIIRS 夜光表征 L、WorldPop 表征 P、WDPA 保护地表征 B),本练习以手选归一化值演示方法。
- H3(风险可加):综合风险可由两个分量风险(人类、生态)加权合成,分量内部为指标线性组合后经裁剪,保证落在 [0,1]。
- H4(确定性可复现):练习数据由固定种子生成,任何人都可在
tools/目录重新运行真源以复现本文全部数字,保证教学与评审的可验证性。
主要符号: 六项归一化指标(∈[0,1]); 人类风险; 生态风险; 综合光污染风险指数(∈[0,1],越大越危险)。
图1 展示了 16 个代表地点的六维指标面板。可见城市类地点在 L、P、S 上明显偏高,而保护地类在 B 上突出——这正是后续风险差异的结构性来源。
3 指标定义与归一化
我们为每一地点计算以下六项、取值均归一到 [0,1] 的指标,力求覆盖光污染的形成与影响两端:
- 夜间亮度 :以 VIIRS 类平均辐亮度表征,越大表示人造光越强、天空辉光越显著。
- 照明增长 :近年灯光扩张的相对趋势,越大表示未来风险累积越快。
- 人口暴露 :受光照影响的人群规模,越大表示健康与安全受扰的波及面越广。
- 生态敏感 :生物多样性与保护地权重,越大表示非人类受体越脆弱。
- 安全照明需求 : crime 与出行安全对光照的依赖,越大表示该地"需要光"的合理性越高。
- 治理成熟 :规划与管制能力,越大表示越能抑制无序照明,在模型中作减项。
这六项指标彼此部分相关,但分别从"光源强度""时间趋势""人类暴露""生态脆弱""安全正当性""制度抑制"六个角度刻画风险,构成后续风险建模的输入向量。所有指标统一归一到 [0,1],使不同量纲可直接进入线性组合。
图2 以分组柱比较四类地点的指标均值:城市社区在 L、P、S 上全面领先,郊区次之;受保护土地虽亮度最低,却在 B(生态敏感)上独占鳌头。这说明风险并非"越亮越糟"的单一维度,而是亮度与人类/生态暴露的耦合。
4 双分量风险与综合 LPRI
赛题明确要求同时考虑"人类与非人类"关切,因此我们不直接给一个黑箱总分,而是显式拆出两个分量风险:
人类风险关注过亮照明对人类健康与安全的负面作用,尤其当亮度高但安全需求低时,眩光与能源浪费最为突出:
其中 项刻画"亮度超出安全必要"的错配——在安全保障需求低的地点堆砌强光,正是光污染的典型成因。
生态风险关注亮度对生物节律与生态系统的扰动,生态敏感地点即使中等亮度也代价高昂,且增长趋势会放大未来风险:
综合光污染风险指数取两者等权合成(赛题强调人类与非人类并重,等权最易辩护,权重敏感性见第 6 节):
该式的设计逻辑是"亮度驱动风险、暴露放大后果":对人类侧,亮度叠加人口暴露并惩罚错配;对生态侧,亮度叠加生态敏感并计入增长。裁剪函数保证输出落在 [0,1] 且对极端指标不敏感。
图5 以并排柱比较各地点的两个分量风险:城市核心 M 的人类风险(0.7315)远高于其生态风险(0.4750),呈现典型的"人本型"光污染;而城郊 reserve C 的生态风险(0.5570)反超人类风险(0.3079),呈现"生态型"光污染。同一指数下两种机理并存,正是双分量设计的用意。
图4 显示生态敏感 B 与生态风险呈强负相关(相关系数 −0.9138,注意此处 B 越高风险越高,故散点斜率为正、相关系数符号为正;与 LPRI 的相关性则为 −0.9138,因 B 高者多为低亮度保护地,整体 LPRI 偏低)。这说明生态风险真正由"亮度×敏感"共同决定,而非敏感单因子。
5 风险分级与四维刻画
我们把综合 LPRI 分为三档:低(Low,LPRI<0.33)、中(Moderate,0.33–0.60)、高(High,>0.60),阈值取在直观且留有余量的位置。全样本 N=16、平均 LPRI=0.4488,分级结果为低 4、中 10、高 2,分布合理且覆盖三档。
按地点类型聚合,平均风险单调递增:受保护土地 0.3221(低 3/中 1/高 0)、乡村社区 0.3766(低 1/中 3/高 0)、郊区社区 0.5085(低 0/中 4/高 0)、城市社区 0.5879(低 0/中 2/高 2)。城市社区是唯一出现高风险类的类型,且两类高风险地点(downtown N 0.6378、城市核心 M 0.6033)均出自城市。风险排名前五为 downtown N、城市核心 M、港口 O、老城 P、都会边缘 K,全部为城市或郊区地点。
图3 给出亮度 L 与 LPRI 的散点:两者近乎线性、相关系数 0.9949,是主导驱动因子。这意味着任何削减亮度的干预都会近乎成比例地降低风险,为第 2 篇的干预优选提供了理论支点。
图6 汇总六项指标与 LPRI 的 Pearson 相关性:L=0.9949、G=0.9667、P=0.9679、B=−0.9138、S=0.9455、R=−0.8968。亮度、人口、增长、安全需求为正向驱动,生态敏感与治理成熟为负向(治理越成熟风险越低)。所有符号均符合直觉,验证了指标体系的内部一致性。
6 权重敏感性
综合指数对权重选择是否脆弱,是评审关注的重点。我们令生态权重 在 0.30–0.70 间变动(对应人类权重 ),统计分级发生翻转的地点数。结果显示:在 区间内翻转数为 0,说明等权(0.5/0.5)恰好处在最稳健的平台上;当 偏离到 0.65 以上时翻转数升至 5–6,因为过度偏向生态会使若干城市地点被"保护地逻辑"误判。这印证了等权选择的合理性,也提示真实建模应以利益相关方协商确定权重。
图7 以折线展示权重敏感性:翻转数在 0.4–0.5 形成平稳谷底,验证了综合指数的稳健性。即便权重在合理范围内调整,本文的风险排序与分级结论基本不变。
7 小结
本文完成了 ICM 2023 E 的度量底座建设:定义了六项可计算指标、两个分量风险(人类/生态)与一个介于 [0,1] 的综合光污染风险指数 LPRI,并据此对四类地点做了系统刻画。探索性分析揭示,亮度是最强驱动因子、生态敏感与治理成熟是抑制因子,城市社区是高风险集中区。所有这些结果均由 tools/gen_icm2023e.py 确定性生成,可被任何人独立复现。下一篇论文将把指标应用于四类地点的差异解释,并建立三类干预策略的优选框架;第三篇则进一步做稳健性、政策建议与宣传传单。
图8 概括了"六指标→双分量→综合指数→分级→干预"的方法论闭环,也是后两篇论文的逻辑主线。
参考文献
[1] COMAP. 2023 ICM Problem E: Light Pollution.
[2] 本题数据背景(联网查证):光污染涵盖光侵入、过度照明与光杂乱,影响夜空、生态、健康与安全。
[3] 公开数据代理说明:VIIRS 夜光(L)、WorldPop(P)、WDPA 保护地(B)为常用遥感/社经数据源。
[4] 本书站真题库配套:tools/gen_icm2023e.py(确定性真源)与 data/icm2023e.csv。
附录:核心 Python 实现
下列代码需位于 tools/ 目录运行,调用真源独立复现本文全部权威数字(SEED=2023,确定性)。
import gen_icm2023e as G
D = G.gen_icm2023e()
print("面板 N =", D["N"])
print("平均 LPRI = %.4f" % D["mean_lpri"])
print("风险分级 =", D["counts"])
print("指标-LPRI 相关性 L=%.4f B=%.4f R=%.4f" % (D["corr"]["L"], D["corr"]["B"], D["corr"]["R"]))
print("受保护土地均值 = %.4f 城市社区均值 = %.4f" % (
D["by_type"]["protected"]["mean_lpri"], D["by_type"]["urban"]["mean_lpri"]))
top = D["base"][D["order"][0]]
print("最高风险地点:", top["name"], "LPRI=%.4f 级别=%s" % (top["lpri"], top["level"]))