A

AdamDaitu

V1

2022/11/24阅读:43主题:雁栖湖

数学建模

2022年 APMCM 亚太地区大学生数学建模竞赛——C题解决思路

加拿大49.6°C创下地球北纬50°以上地区气温新纪录,一周内数百人热死;美国加利福尼亚州死亡谷为54.4°C,这是地球有记录以来的最高温度;科威特53.5℃,阳光直射下甚至超过70℃,中东很多国家甚至超过50℃。

1问题要求 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)中构建的哪个模型最准确?为什么?

2解决思路

(a)是否同意2022年3月全球气温上升导致的升幅大于以往任何10年期间观测到的升幅。分析该问题需要使用全球数据,计算出2022年3月份全球气温上升值,升幅是否大于以往任何10年期间观测到的升幅。需要使用统计检验的方法。任何10年期间观测到的升幅,根据现有的数据可以计算出着一组的数值。然后利用分布检验、均值检验等方法,计算出结果。也可以和数据的可视化相结合进行辅助分析。

(b)建立两个或多个数学模型来描述过去和预测未来的全球温度水平。 该问题时一个典型的时间序列数据预测问题。由于时间的变化具有周期性,可以使用SARIM、指数平滑状态空间模型、Prophet等几种时间序列预测模型。 选择合适的数据进行建模与分析即可。 数据可以按月、或者按照年都可以尝试。(也可以尝试一些深度时间序列预测算法)。

(c)使用建立好的模型预测2050年和2100年的全球温度。(注意更具现有的数据,预测未来那么远的数据,准确率时不受保证的)。但是也没有什么好办法。是否能达到20.00℃,根据预测结果而定。

(d)哪个模型最准确,根据验证集的预测误差,可以判断。如果时间序列模型,大概率Prophet模型较准。

3解决使用的程序

解决时使用的程序为R语言,其在数据可视化、统计分析时间序列分析等方面较擅长,部分程序和分析结果:

升幅是否大于以往任何10年期间观测到的升幅

##可视化比较结果
p1 <- ggbetweenstats(data = dftest, x = group,
                     y = Month_Anomaly,
                     title = dftest$group[1])
  print(p1)
均值比较结果1
均值比较结果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模型的预测结果
建立prophet模型的预测结果

4问题要求 2

问题2、影响温度变化的原因有哪些?

a) 使用问题1的结果和附件2022_APCMM_C_Data.csv中的数据和你团队收集的其他数据集,建立一个数学模型来分析全球温度、时间和位置之间的关系(如果有的话),并解释 关系或证明他们之间没有关系。

b) 请收集相关数据并分析自然灾害(如火山爆发、森林火灾和 COVID-19)的因素。 对全球气温有影响吗?

c) 你认为影响全球气温变化的主要原因是什么?

d) 你认为有什么措施可以遏制或减缓全球变暖吗?

5解决思路

(a)建立一个数学模型来分析全球温度、时间和位置之间的关系。和地理位置相关的模型,最简单的事多元回归分析之类的模型。关系应该是有的,不同位置的温度变化应该是不一样的。也可以对相关位置根据时间建立时间变化趋势的时序模型。

(b)数据收集,然后分析。

(c)和(d)都是额外的数据收集,然后证明的题目。言之有理即可,但是目前的共识应该是温室气体增加,导致全球会继续变暖。

资源获取链接:https://mbd.pub/o/bread/Y5yYm59s

分类:

后端

标签:

后端

作者介绍

A
AdamDaitu
V1