2022年 APMCM 亚太地区大学生数学建模竞赛——C题解决思路
程序和数据资源获取链接:https://mbd.pub/o/bread/Y5yYm59s
加拿大49.6°C创下地球北纬50°以上地区气温新纪录,一周内数百人热死;美国加利福尼亚州死亡谷为54.4°C,这是地球有记录以来的最高温度;科威特53.5℃,阳光直射下甚至超过70℃,中东很多国家甚至超过50℃。
问题要求 1
(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℃?
d) 您认为您在1(b)中构建的哪个模型最准确?为什么?
解决思路
(a)是否同意2022年3月全球气温上升导致的升幅大于以往任何10年期间观测到的升幅。分析该问题需要使用全球数据,计算出2022年3月份全球气温上升值,升幅是否大于以往任何10年期间观测到的升幅。需要使用统计检验的方法。任何10年期间观测到的升幅,根据现有的数据可以计算出着一组的数值。然后利用分布检验、均值检验等方法,计算出结果。也可以和数据的可视化相结合进行辅助分析。
(b)建立两个或多个数学模型来描述过去和预测未来的全球温度水平。 该问题时一个典型的时间序列数据预测问题。由于时间的变化具有周期性,可以使用SARIM、指数平滑状态空间模型、Prophet等几种时间序列预测模型。 选择合适的数据进行建模与分析即可。 数据可以按月、或者按照年都可以尝试。(也可以尝试一些深度时间序列预测算法)。
(c)使用建立好的模型预测2050年和2100年的全球温度。(注意更具现有的数据,预测未来那么远的数据,准确率时不受保证的)。但是也没有什么好办法。是否能达到20.00℃,根据预测结果而定。
(d)哪个模型最准确,根据验证集的预测误差,可以判断。如果时间序列模型,大概率Prophet模型较准。
解决使用的程序
解决时使用的程序为R语言,其在数据可视化、统计分析时间序列分析等方面较擅长,部分程序和分析结果:
升幅是否大于以往任何10年期间观测到的升幅
##可视化比较结果
p1 <- ggbetweenstats(data = dftest, x = group,
y = Month_Anomaly,
title = dftest$group[1])
print(p1)
均值比较结果1
建立两个或多个数学模型来描述过去和预测未来的全球温度水平
以年为单位建立Prophet等几种时间序列预测模型。部分程序如下所示:
## 可视化每年气温的波动情况
p1 <- ggplot(data = Yeardf,aes(x= Year,y = AirTemp))+
geom_line()+geom_point(size = 1)+
ggtitle("温度变化情况")
p1
温度波动情况
建立prophet时间序列模型,程序如下所示:
## 建立prophet时间序列模型
proh_mod <- prophet_reg(growth = "linear",season = "multiplicative",
seasonality_daily = FALSE,
seasonality_weekly = FALSE,
changepoint_num = 25,
changepoint_range = 0.8,
)%>%
set_engine(engine = "prophet") %>%
fit(AirTemp ~ Year, data = train)
proh_mod
# 准备将模型应用到测试集上
proh_cal <- proh_mod %>% modeltime_calibrate(new_data = test)
## 计算测试集上的预测精度
proh_cal%>% modeltime_accuracy()
## 对测试集进行预测并可视化预测结果
proh_test_pre <- proh_cal %>%
modeltime_forecast(new_data = test, actual_data = Yeardf)
## 可视化不可交互图像
proh_test_pre %>% plot_modeltime_forecast(.legend_max_width = 15,
.interactive = FALSE)
建立prophet模型的预测结果
问题要求 2
问题2、影响温度变化的原因有哪些?
a) 使用问题1的结果和附件2022_APCMM_C_Data.csv中的数据和你团队收集的其他数据集,建立一个数学模型来分析全球温度、时间和位置之间的关系(如果有的话),并解释 关系或证明他们之间没有关系。
b) 请收集相关数据并分析自然灾害(如火山爆发、森林火灾和 COVID-19)的因素。 对全球气温有影响吗?
c) 你认为影响全球气温变化的主要原因是什么?
d) 你认为有什么措施可以遏制或减缓全球变暖吗?
解决思路
(a)建立一个数学模型来分析全球温度、时间和位置之间的关系。和地理位置相关的模型,最简单的事多元回归分析之类的模型。关系应该是有的,不同位置的温度变化应该是不一样的。也可以对相关位置根据时间建立时间变化趋势的时序模型。
(b)数据收集,然后分析。
(c)和(d)都是额外的数据收集,然后证明的题目。言之有理即可,但是目前的共识应该是温室气体增加,导致全球会继续变暖。
程序和数据资源获取链接:https://mbd.pub/o/bread/Y5yYm59s
版权归原作者 Daitu_Adam 所有, 如有侵权,请联系我们删除。