2024年认证杯SPSSPRO杯数学建模
C题 云中的海盐
原题再现:
巴黎气候协定提出的目标是:在2100年前,把全球平均气温相对于工业革命以前的气温升幅控制在不超过2摄氏度的水平,并为1.5摄氏度而努力。但事实上,许多之前的研究已经指出,全球的碳排放以及气温升温的前景都无法达到这一预期标准。而且传统的减排措施的实施效果较为有限。为了应对全球变暖,一些科学家提出了叫做"地球工程"的改造手段。包括使用人工手段从空气中分离并储存二氧化碳,或者给大气中注入气溶胶以降低地表接收到的日光辐射量等等。由于大型火山活动喷出的硫化物微粒可以使全球大气在数年间有明显的降温,所以有人提出可以向平流层释放硫酸盐气溶胶等颗粒物以模拟这类效应。但这种思路引起了许多反对意见,因为硫酸盐进入大气会造成大气化学成分的变化,可能造成后果未知的污染问题。进而,有人又提出,可以在海面上空以及低层海云内喷洒雾化的海水,使海盐气溶胶混入云层,也能起到增加云层反照率、降低海面接收到的日光辐射量的效应。而且由于海盐气溶胶本就在海上广泛存在,所以不容易造成新的污染。对这个方案,我们希望建立合理的数学模型以估算它的一系列后果。请你和你的团队建立合理的数学模型以解决下列问题:
第二阶段问题:
3. 如果我们希望维持或增加北冰洋的海冰总量,请你设计一个喷洒海盐气溶胶的方案,需要确定的参数包括喷洒的区域、喷洒量、时间和频率等。
4. 地球上的气候是一个极为复杂的动态系统,很难精确地认识和掌控,以至于人类对气候的大规模干预行为往往会带来风险。如果要实施喷洒海盐气溶胶的工程项目,应如何监控其效果,使我们能够在必要时进行调节?
5. 人们普遍认为,对地球气候进行过强的干预恐怕会带来不可控的严重影响。所以对这个工程项目也存在这样的质疑:是否存在某种强度阈值,超过该阈值的干预将会导致不可逆的负面影响?请你建立合理的数学模型来试着回答这个问题。
整体求解过程概述(摘要)
随着全球气候变化对极地海冰覆盖的显著影响,本研究设计了一种喷洒海盐气溶胶方案,旨在维持或增加北冰洋的海冰总量。该方案基于层次分析法、机器学习回归和Stacking 融合等方法;借助MATLAB、SPSS等软件首先求解了喷洒气溶胶的关键参数,然后客观评估了喷洒海盐气溶胶方案的实时效果,并允许在必要时进行调节,最后确定了影响地球气候的强度阈值,为实施喷洒海盐气溶胶的工程项目提供一定的科学依据。
针对问题1,基于喷洒海盐气溶胶方案的参数确定问题。首先,通过查找文献与搜集数据,对北冰洋海冰动态进行深入分析,并考虑海盐气溶胶对海水结冰过程的潜在促进作用。然后采用定性与定量相结合的方法建立指标体系,同时应用层次分析法对定性数据进行赋值,并对定量数据指标进行描述性统计、缺失值探索及数据特征分析,以此设计了一个综合的喷洒海盐气溶胶指标体系。通过对这些指标(包括最佳喷洒区域、喷洒量、时间及频率)的精确控制和监测,可以优化喷洒方案,以达到预期气候调节效果。
针对问题2,基于喷洒海盐气溶胶项目的监控调节问题。首先针对地球上气候系统的复杂性,本研究通过使用GBDT、XGBoost、RUSBoost模型对测试集进行回归预测。然后使用MSE、RMSE、MAE、MAPE、R²对回归效果进行评估,通过对比干预前后的数据,以评估喷洒海盐气溶胶方案的实际效果。最后应用Stacking融合技术建立反馈调节机制,并根据监控结果调整喷洒策略。
针对问题3,基于实施喷洒海盐气溶胶方案时可能存在影响地球气候的强度阈值。首先应用问题2构建的喷洒海盐气溶胶监控模型提取关键特征属性。然后基于特征属性的重要度就喷洒海盐气溶胶监控的强度阈值进行估计,模型结果表明,确实存在一个阈值,超过该阈值的干预可能会触发不稳定的气候反馈循环。最后对机器学习回归模型进行模型检验,同时模拟不同强度的干预措施,评估其对气候系统的潜在影响。 最后,通过精确控制喷洒海盐气溶胶的方案,不仅能促进海冰的恢复,还能为未来气候工程提供一定的科学依据。此外,本文还进行了喷洒海盐气溶胶监控模型的灵敏性分析和鲁棒性检验,并强调了在实施任何气候干预措施之前进行全面风险评估的必要性。
问题分析:
(1)对于问题1,针对喷洒海盐气溶胶时确定的参数指标,本研究采用定性与定量相结合方法建立指标体系。通过查找文献与搜集数据,首先应用层次分析法对定性数据进行赋值,同时对定量数据指标进行描述性统计、缺失值探索以及数据特征分析,以此设计一个综合的喷洒海盐气溶胶指标体系。
(2)对于问题2,本文研究的喷洒海盐气溶胶监控预测是对训练集建模,通过使用GBDT、XGBoost、RUSBoost 模型对测试集进行回归预测,然后使用MSE、RMSE、MAE、MAPE、R²对回归效果进行评估,通过对比干预前后的数据,评估喷洒海盐气溶胶的效果。最后应用Stacking融合技术建立反馈调节机制,并根据监控结果调整喷洒策略。
(3)对于问题3,在实施喷洒海盐气溶胶的工程项目时,首先应用问题2构建的喷洒海盐气溶胶监控模型提取关键特征属性。然后基于特征属性的重要度就喷洒海盐气溶胶监控的强度阈值进行估计,通过模型分析,确定干预措施的强度阈值,避免超过导致不可逆影响的水平。最后对机器学习回归模型进行模型检验,同时模拟不同强度的干预措施,评估其对气候系统的潜在影响。 基于上述对问题的分析,本文研究思路及技术路线如图2所示。
模型假设:
为了构建更为精确的数学模型,本文根据实际情况做出以下合理的假设或条件约束:
(1)假设海冰覆盖的减少与地表反照率的降低成正比;
(2)假设喷洒的海盐气溶胶能有效增加海水的结冰速率;
(3)假设喷洒量与海冰增加量之间存在线性关系;
(4)假设海冰的形成和融化具有明显的季节性特征;
(5)假设长期干预的生态影响目前无法完全预测;
(6)假设气候系统在没有外部干预时是稳定的。
完整论文缩略图
全部论文请见下方" 只会建模 QQ名片" 点击QQ名片即可
部分程序代码:
bash
load sic%导入数据
m_proj('stereographic', 'lon',0, 'lat',90, 'rad', 90 )
m_pcolor(lon,lat,reshape(sic(1992 - 1977, ...
5 ,:,:),304,448));%设定年份和月份
shading flat
m_coast('patch',[.7 .7 .7],'edgecolor','k');
m_grid('xtick',-180:45:180,'xticklabel',[],'ytick',[60 70 80 90], ...
'linest',':','fontsize',14, 'ticklen',0.001);
axis equal%使在每个方向的数据单位都相同
axis tight%自动调整坐标轴的范围
set(gca,'fontsize',16)
colorbar;%显示颜色栏
caxis([0 100])
colormap jet
m_proj('stereographic', 'lon',0, 'lat',90, 'rad', 25 )
h = m_pcolor(lon,lat,reshape(sic(1978-1977, ...
8 ,:,:),304,448));%设定年份和月份
shading flat
m_coast('patch',[.7 .7 .7],'edgecolor','k');
m_grid('xtick',-180:45:180,'xticklabel',[],'ytick',[60 70 80 90], ...
'linest',':','fontsize',14, 'ticklen',0.001);
axis equal%使在每个方向的数据单位都相同
axis tight%自动调整坐标轴的范围
set(gca,'fontsize',16)
colorbar;%显示颜色栏
caxis([0 100])
colormap jet
bash
sic1 = sic;%将数据赋给新数组,避免原数组被修改
Empty = isnan(sic1);%统计非海冰位置数量
sic1(Empty) = 0;%非海冰位置厚度设为0
ice = sum(sum(sum(sic1,4),3),2)./sum(sum(sum(~Empty,4),3),2);%定义冰层厚度变量
plot(ice,'-o', 'MarkerFaceColor','g','MarkerSize',3)%绘制海冰年均厚度变化表
title('1978-2019北极海冰年均厚度')%补充表格信息
xlabel('年份')
ylabel('厚度')
set(gca,'xticklabel',{'0','1982','1987','1992','1997', ...
'2002','2007','2012','2017','2022'})%更改横坐标刻度
bash
area = sum(sum(~Empty,4),3);%定义面积变量
plot(area(:,3),'-o', 'MarkerFaceColor','g','MarkerSize',3)%绘制冬季海冰面积图
hold on
plot(area(:,9),'-o', 'MarkerFaceColor','g','MarkerSize',3)%绘制夏季海冰面积图
hold off
legend('冬季','夏季')%补充表格信息
title('1978-2019 北极海冰面积夏季、冬季对比')
xlabel('年份')
ylabel('面积')
set(gca,'xticklabel',{'0','1982','1987','1992','1997', ...
'2002','2007','2012','2017','2022'})%更改横坐标刻度