2022年亚太杯APMCM数学建模大赛C题全球变暖与否全过程文档及程序

news2024/11/19 6:11:53

2022年亚太杯APMCM数学建模大赛

C题 全球变暖与否

原题再现:

  加拿大的49.6°C创造了地球北纬50°以上地区的气温新纪录,一周内数百人死于高温;美国加利福尼亚州死亡谷是54.4°C,这是有史以来地球上记录的最高温度;科威特53.5°C,甚至在阳光下超过70°C,在中东的许多国家超过50°C。
在这里插入图片描述
  自今年以来,我们已经看到了大量惊人的温度报告。地球正在燃烧的事实是毫无疑问的。在6月底到7月初这些地区出现可怕的高温之后,意大利再次创下欧洲气温纪录,达到惊人的48.8°C,许多国家宣布意大利处于高温状态紧急事件,全球气候变暖是一种与自然有关的现象。这是由于温室效应的持续积累,导致地球大气系统吸收和释放的能量不平衡,以及能量在地球大气系统中的不断积累,导致温度上升和全球气候变暖。
  在工业革命之前,二氧化碳(CO2)在大气中一直在百万分之280(ppm)左右。CO的浓度22004年3月,大气中达到了377.7 ppm,导致了当时10年的最大平均增长。[1]根据美国国家海洋和大气管理局(NOAA)和斯克里普斯海洋研究所(SIO)的科学家称,每月平均CO2浓度水平在2022年5月达到421 ppm。[2]的一个经济合作与发展组织(OEC
D)的报告预测了一个CO2到2050年,该水平为685 ppm。[3]
  APMCM组委会已经要求您的团队解决当前报告和未来全球温度水平的预测。他们提供了数据集2022_APMCM_C_Data。csv,其中包含239177条记录,以协助您的研究。
  要求
  1.你同意有关全球气温的说法吗?使用2022_APMCM_C_Data。附件中的csv和其他您的团队收集的数据集,以分析全球温度变化。
  a)你同意2022年3月全球气温的上升导致了比过去10年期间更大的上升吗?为什么或为什么不呢?
  b)根据历史数据,请建立两个或两个以上的数学模型来描述过去,并预测未来的全球温度水平。
  c)使用1个(b)中的每个模型来分别预测2050年和2100年的全球气温。你们的模型是否同意2050年或2100年全球观测点的平均温度将达到20.00°C的预测?如果
不是在2050年或2100年,那么您的预测模型中的观测点的平均温度何时会达到20.00°C?
  d)你认为1(b)的模型最准确?为什么
  2.影响温度变化的原因是什么?
  a)使用问题1的结果和附件2022_ APMCM_C_ Data中的数据。csv和您的团队收集的其他数据集,建立一个数学模型来分析全球温度、时间和位置之间的关系(如果有的话),并解释这种关系或证明它们之间没有关系。
  b)请收集相关数据,分析自然灾害的因素(如火山爆发、森林火灾、COVID-19等)。这对全球温度有什么影响吗?
  c)你认为影响全球温度变化的主要原因是什么?
  d)你认为有什么措施来遏制或减缓全球变暖吗?
  3.准备一篇非技术性的文章(最多1页),请写一篇非技术性的文章文章(最多1页)给APMCM组委会,解释你的团队的发现和对未来的建议。
  您的PDF解决方案总共不超过25页,应该包括:
  一页汇总表。
  目录。
  你的完整解决方案。
  有一页纸的非技术性文章。
  注:APMCM竞赛的页面限制版数为25页。您提交的所有方面都达到了25页的限制(摘要,表,目录,文章)。但是,参考文献列表和附录的页面并不受限制。

整体求解过程概述(摘要)

  全球变暖引发的一系列危害,影响到人类生存的方方面面。本文通过数学模型分析,采用多种预测与分析的算法研究全球温度变化、影响全球温度变化的原因,并且基于研究结果对于全球变暖的问题提出科学合理的建议。
  针对问题一,首先,我们将题目所提供的数据进行数据预处理,基于题目提供的2012年到2013年的数据出的绘制拟合曲线图与统计分析,得到气温变化规律,再通过Python从网站上采集了从2012年至今的每日全球平均气温数据,分析出2022年3月全球气温上升导致比过去10年观察到的增幅更大是不正确的。其次,综合第一小问绘制的拟合曲线图,我们建立多项式拟合模型以及根据实际背景在模型中加入适当熵权参数λ修正后的利用指数平滑法的时间序列模型,描述过去并且预测未来的全球温度水平,并且预测出2050年与2100年的平均气温分别为19.6℃与20℃。最后,对建立的两个模型进行分析,得到时间序列模型的准确性更高。
  针对问题二,首先,我们选择两个城市为代表,将数据可视化,采用控制变量法,得到同一地点一年中不同时间与温度的关系、同一时间不同地点与温度的关系,再选择一个城市为代表,得到同一地点不同年份与温度的关系。其次,将题目提供的位置数据处理成单一变量,将位置、时间、平均温度、平均温度的置信度进行斯皮尔曼相关性分析,得到温度、时间、位置之间的关系。接着,通过Python在网络上搜集火山爆发、森林火灾、COVID-19、极端气候、冰川融化、海平面上升等自然灾害对温度影响的数据,对数据进行基于熵权法的多元因子分析,得到自然灾害对全球气温的影响,并且获得自然灾害对温度影响权重占比。最后,我们通过查阅相关资料,分析出我们认为的影响全球气变化的主要因素,再通过结合第三小问中分析出的主要影响因素,提出抑制或减缓全球变暖的措施。
  针对问题三,我们解释了我们的发现,得到了气温变化与位置、时间以及经济的关系和规律,并且提出了对于气温影响人口和环境保护的建议。
  综合来看,本文较好地分析了全球气温水平,对未来全球温度增长水平进行预测,并且为抑制或减缓全球气候变暖提供一份强有力的理论依据。

模型假设:

  为了便于模型建立,简化运算,本文对模型做出如下基本假设:
  1. 假设题目所给的数据大部分真实可靠;
  2. 假设我们爬取的数据里已涵盖战争,疫情等因素对于全球气温的影响;
  3. 假设在考虑预测全球变暖未来气温时环境保护思想已深入人心;
  4. 假设未来科技发展均符合低碳环保理念;
  5. 假设未来疫情消失且全球各个国家和平共处;

问题分析:

  问题一的分析
  问题一可以分为四个小问,第一小问需要我们通过数据分析出2022年3月全球气温上升导致比过去10年观察到的增幅更大是否正确。对于第一小问,我们先将题目所提供的数据进行数据预处理,转换日期数据格式,基于题目提供的各国的2012年到2013年的数据出的绘制拟合曲线图与统计分析,得到气温变化规律,再通过Python从伯克利地球气温统计网站上采集了从2012年至今的每日全球平均气温数据,基于这些数据可以分析出,2022年3月全球气温上升导致比过去10年观察到的增幅更大是否正确。第二小问需要我们建立两个模型描述过去并且预测未来的全球温度水平。综合第一小问绘制的拟合曲线图,我们通过多项式拟合和函数逼近的方法,得到拟合多项式曲线函数,从而描述过去并且预测未来的全球温度水平;除此之外,我们建立利用指数平滑法的时间序列模型,并且根据实际背景在模型中加入适当熵权参数λ修正该模型,从而描述过去并且预测未来的全球温度水平。对于第三小问,我们可以基于第二小问中得到的模型预测2050年和2100年的全球平均温度,并观测到平均温度在什么时候达到20℃。第四小问需要我们判断第二小问中建立的哪一个模型更为准确,我们可以通过考虑多方面因素,如社会因素等判断哪一个模型更为准确。

  问题二的分析
  问题二可以分为四个小问,第一小问需要我们根据题目提供数据已经自己收集的数据建立一个数学模型研究全球温度、时间、位置之间的关系。对于第一小问,首先,选择两个代表国家为例,将数据可视化,采用控制变量法进行初步分析,得到同一地点一年中不同时间与温度的关系、同一时间不同地点与温度的关系。其次,控制位置不变,选择一个城市为代表,得到同一地点不同年份与温度的关系[5]。最后,将题目提供的位置数据处理成单一变量,将位置、时间、平均温度、平均温度的置信度进行斯皮尔曼相关性分析,得到温度、时间、位置之间的关系。对于第二小问,先通过Python在网络上搜集火山爆发、森林火灾、COVID-19、极端气候、冰川融化、海平面上升等自然灾害对温度影响的数据,对数据进行基于熵权法的多元因子分析,得到自然灾害对全球气温的影响,并且获得自然灾害对温度影响权重占比。对于第三小问,我们通过查阅相关资料,分析出我们认为的影响全球气变化的主要因素。对于第四小问,我们通过结合第三小问中分析出的主要影响因素,并结合相关资料,提出抑制或减缓全球变暖的措施。

  问题三的分析
  问题三需要撰写一篇非技术性文章,解释团队的发现和对未来的建议。我们基于问题一与问题二得到的结果,得到了气温变化与位置、时间以及经济的关系和规律,并加以解释,最后提出了对于气温影响人口和环境保护的建议。

模型的建立与求解整体论文缩略图

在这里插入图片描述

全部论文及程序请见下方“ 只会建模 QQ名片” 点击QQ名片即可

程序代码:

部分python程序如下:
import pandas as pd
import datetime 
df = pd.read_csv("2022_APMCM_C_Data.csv",encoding='gb2312')
df['dt'].apply(lambda x: type(x))
df['dt']=pd.to_datetime(df['dt'])
df['dt'] = df['dt'].apply(lambda x: x.strftime('%Y%m%d'))
df10years = df [(df['dt'] <= '20220228') & (df['dt'] >= '20120201')]
df10years = df10years.sort_values(by='dt')
df10yearsChina = df10years[df10years['Country']=='China']
df10yearsNanjing = df10years[df10years['City']=='Nanjing']
df10yearsRussia = df10years[df10years['Country']=='Russia']
from pyecharts import Bar
import pandas as pd
bar = Bar("Change of Russia and AverageTemperature in the past 10 years")
datax = df10yearsRussia['dt']
datay = df10yearsRussia['AverageTemperature']
bar.add("", datax, datay,is_random=True)
bar.render("近10年来俄罗斯温度直方图.html")
import pandas as pd
import datetime 
df = pd.read_csv("2022_APMCM_C_Data.csv",encoding='gb2312')
df['dt'].apply(lambda x: type(x))
df['dt']=pd.to_datetime(df['dt'])
df['dt'] = df['dt'].apply(lambda x: x.strftime('%Y%m%d'))
df10years = df [(df['dt'] <= '20220228') & (df['dt'] >= '20120201')]
df10years = df10years.sort_values(by='dt')
df10yearsChina = df10years[df10years['Country']=='China']
df10yearsNanjing = df10years[df10years['City']=='Nanjing']
df10yearsRussia = df10years[df10years['Country']=='Russia']
from pyecharts import Bar
import pandas as pd
bar = Bar("Change of Russia and AverageTemperature in the past 10 years")
datax = df10yearsRussia['dt']
datay = df10yearsRussia['AverageTemperature']
bar.add("", datax, datay,is_random=True)
bar.render("近10年来俄罗斯温度直方图.html")
全部论文及程序请见下方“ 只会建模 QQ名片” 点击QQ名片即可

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1109695.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Shiro安全框架登录验证实例解析

一、Shiro框架简单介绍 Apache Shiro是Java的一个安全框架&#xff0c;旨在简化身份验证和授权。Shiro在JavaSE和JavaEE项目中都可以使用。它主要用来处理身份认证&#xff0c;授权&#xff0c;企业会话管理和加密等。Shiro的具体功能点如下&#xff1a; &#xff08;1&#…

即刻报名,企业服务与新经济论坛亮点提前揭秘!

峰会官网已上线&#xff0c;最新议程请关注&#xff1a;doris-summit.org.cn 即刻报名 Doris Summit 是 Apache Doris 社区一年一度的技术盛会&#xff0c;由飞轮科技联合 Apache Doris 社区的众多开发者、企业用户和合作伙伴共同发起&#xff0c;专注于传播推广开源 OLAP 与实…

每日一题 1726. 同积元组(中等,计数)

直接统计数组中的数字两两组合可以得到的乘积求将相同乘积的组合再两两组合的数量最后由于abcd的值可以互换&#xff0c;每一个组合通过呼唤位置可以得到8种不同的组合&#xff0c;所以最后乘以8 class Solution:def tupleSameProduct(self, nums: List[int]) -> int:d de…

【财政金融】全国各地区财政收入与支出面板数据合集(2000-2022年)

数据简介&#xff1a;2000年到2022年中国经历了快速的经济发展和城市化进程&#xff0c;各地区的财政收入和支出也呈现出显著的增长和变化&#xff0c;全国各地区财政收入与支出的面板数据可用于评估经济发展水平和区域差距&#xff0c;通过比较不同地区之间的财政收入和支出水…

MySQL 从一个表中查出数据并插入到另一个表处理方案(详细)

PS&#xff1a;来源表&#xff1a;t_source、目标表&#xff1a;t_target 第一种 来源表和目标表字段完全一致 insert into t_target select * from t_source; 第二种 来源表和目标表字段部分一致&#xff0c;只想导入来源表部分字段到目标表 insert into t_target(字段1,字…

详解自定义类型:结构体,位段,枚举,联合

目录 1.结构体 1.1 结构的基础知识 1.2 结构的声明 1.3 特殊的声明 1.4 结构的自引用 1.5 结构体变量的定义和初始化 1.6 结构体内存对齐 1.7 修改默认对齐数 1.8 结构体传参 2. 位段 2.1 什么是位段 2.2 位段的内存分配 2.3 位段的跨平台问题 2.4 位段的应用 3. 枚举…

2023年中国恋爱社区未来发展趋势分析:多元化盈利模式实现可持续发展[图]

恋爱社区指满足情侣之间互动、记录及娱乐需求&#xff0c;以维护情侣恋爱关系的虚拟社区。恋爱社区行业主要以线上APP的虚拟形式为用户提供相关服务&#xff0c;其业务包括情侣记录、情侣互动、情侣娱乐、公共社区、线上购物、增值服务。 恋爱社区主要业务 资料来源&#xff1…

【LeetCode】47. 全排列 II

1 问题 给定一个可包含重复数字的序列 nums &#xff0c;按任意顺序 返回所有不重复的全排列。 示例 1&#xff1a; 输入&#xff1a;nums [1,1,2] 输出&#xff1a; [[1,1,2], [1,2,1], [2,1,1]] 示例 2&#xff1a; 输入&#xff1a;nums [1,2,3] 输出&#xff1a;[[1…

新手如何学习嵌入式Linux?

今日话题&#xff0c;新手如何学习嵌入式Linux&#xff1f;嵌入式底层开发是一项至关重要的技能&#xff0c;广泛应用于各种嵌入式系统中&#xff0c;已经成为我们生活中不可或缺的一部分。因此&#xff0c;学习嵌入式开发变得愈发重要。我这里提供了一份嵌入式学习资料&#x…

ASO优化之增加应用APP安装量的技巧2

我们需要更新应用程序&#xff0c;并且最好以用户会注意到的方式进行更新&#xff0c;季节性或节日的更新非常适合这种情况&#xff0c;例如主题的改变&#xff0c;活动的推出或者是某种折扣。活动是能够让用户相信产品是高质量的关键。 1、应用描述也是优化的一部分。 它是应…

磁珠元器件:微小却强大的科技奇迹 | 百能云芯

在现代科技的背后&#xff0c;有着许多微小而强大的元器件&#xff0c;其中之一是磁珠元器件。尽管它们可能不如计算机芯片或太阳能电池板那样广为人知&#xff0c;但磁珠元器件在各种应用中扮演着重要角色。本文将深入探讨什么是磁珠元器件&#xff0c;它们的工作原理以及在科…

springboot生鲜交易系统springboot46

大家好✌&#xff01;我是CZ淡陌。一名专注以理论为基础实战为主的技术博主&#xff0c;将再这里为大家分享优质的实战项目&#xff0c;本人在Java毕业设计领域有多年的经验&#xff0c;陆续会更新更多优质的Java实战项目&#xff0c;希望你能有所收获&#xff0c;少走一些弯路…

Python爬虫如何设置代理服务器(搭建代理服务器教程)

在Python爬虫中使用代理服务器可以提高爬取数据的效率和稳定性。本文将为您提供搭建代理服务器的详细教程&#xff0c;并提供示例代码&#xff0c;帮助您在Python爬虫中设置代理服务器&#xff0c;实现更高效、稳定的数据抓取。 Python爬虫怎么设置代理服务器&#xff08;搭建代…

【vSphere 8 自签名证书】企业 CA 签名证书替换 vSphere Machine SSL 证书Ⅰ—— 生成 CSR

目录 替换拓扑图证书关系示意图说明 & 关联博文 1. 默认证书截图2. 使用certificate-manager生成CSR2.1 创建存放CSR的目录2.2 记录PNID和IP2.3 生成CSR2.4 验证CSR 参考资料 替换拓扑图 证书关系示意图 默认情况下&#xff0c;VMCA 与 Machine SSL的关系是 本系列博文要…

剖析深度学习中的epoch与batch_size关系、代码

目录 前言1. 定义2. 代码 前言 为了区分深度学习中这两者的定义&#xff0c;详细讲解其关系以及代码 1. 定义 在 PyTorch 中&#xff0c;“epoch”&#xff08;周期&#xff09;和 “batch size”&#xff08;批大小&#xff09;是训练神经网络时的两个重要概念 它们用于控…

Scala语言入门

学习了这么久让我们来回顾一下之前的内容吧 Hadoop生态体系知识串讲 Scala编程语言 一、概述 http://scala-lang.org 专门为计算而生的语言&#xff0c;Scala将(Java后者C)面向对象设计和函数式编程结合在一起的简洁的高级编程语言。而函数式编程强调的是通过传递算子&…

统计学习方法 隐马尔可夫模型

文章目录 统计学习方法 隐马尔可夫模型基本概念概率计算问题直接计算法前向算法后向算法前向概率和后向概率 学习问题监督学习算法Baum-Welch 算法E 步M 步参数估计公式算法描述 解码问题近似算法Viterbi 算法 统计学习方法 隐马尔可夫模型 读李航的《统计学习方法》时&#x…

增加并行度后,发现Flink窗口不会计算的问题。

文章目录 前言一、现象二、结论三、解决 前言 窗口没有关闭计算的问题&#xff0c;一直困扰了很久&#xff0c;经过多次验证&#xff0c;确定了问题的根源。 一、现象 Flink使用了window&#xff0c;同时使用了watermark &#xff0c;并且还设置了较高的并行度。生产是设置了…

实时精准 自我防护 | 开源网安RASP平台能力获客户认可!

近日&#xff0c;开源网安收到了一封来自华润数科的感谢信&#xff0c;表达了对开源网安团队在网络安全工作中给予大力支持的衷心感谢。开源网安十分注重客户的需求和信任&#xff0c;客户的满意和认可是开源网安最大的追求。 在助力华润数科网络安全工作开展过程中&#xff0c…

运放供电设计

文章目录 运放供电设计如何产生负电压BUCK电路BOOST电路产生负电压FLYBUCK产生负电压 运放供电设计 注&#xff1a;使用0.1u跟10u并联 如何产生负电压 问题&#xff1a;电流小&#xff0c;使用并联方式改善&#xff0c;缺点价格贵&#xff0c;淘宝上买的都是假货ICL7662多是用…