当前位置: 首页 > news >正文

2022亚太杯C题思路代码分析

C题就是数学比较开放的题目了,属于一个数据分析类题目,跟前两年的华为杯差不多,考察的也是全球变暖问题。更多内容文末名片查看

问题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)的模型最准确?为什么

然后第一问主要是一个数据的预处理和预测类问题,首先是数据的预处理,对于给出的温度数据均经过严格的质量控制和均一性检验,对个别缺失数据采用相邻站点线性回归方法进行插补,保证经过处理修正后的气象数据具有很好的连续性,然后可以基RClimDex软件对数据异常值与错误值进行过滤筛选(也可以直接筛除),以满足分析要求。

上面的公式为均一性检验

根据给出的数据,我们进行一个数据可视化处理,这里着重讲一下,亚太杯、包括美赛其实是很看重你的数据可视化能力的,图画的好不好,最终能够很大程度影响到你的成绩,这里推荐大家使用可视化工具tableau,比较简单好用,或者用python也可以,主要问题a就是通过对比来进行一个分析。

类似于上面的折线图就可以比较清晰的反映平均温度的变化

然后b是一个预测问题的话,推荐使用ARMA,比较适用,其他的像线性回归、灰色预测等等也可以用到。也可以使用LSTM模型来分析,这里我们用LSTM来求解一下,流程图如下:

 

 

LSTM 的气候变化时空数据关键信息提取及趋势分析模型求解过程如下:

Step1:原始数据输入

输入给出的各个国家温度时间数据图

Step2:数据集化

将原始数据进行输入时空数据集化作为程序自变量的输入:

T[ ( u , v )

Step3M-K 非参数统计

输出趋势检验指标如下:

 输出突变趋势检验检验如下:

Step4:数据集输入 LSTM 气候时空趋势变化模型:

时空趋势模型通过 Python/matlab 进行程序实现,并且将 Step2 中的数据集输入程序。

部分 LSTM 机器学习代码

import numpy as np 
import pandas as pd 
import matplotlib.pyplot as plt 
import torch 
from torch import nn 
from torch. aut ograd import Variable 
#LSTM(长短期记忆网络) 
data_csv = pd.read_csv 
#pandas.read_csv读取时空序列数据 
plt.plot(dat a_csv) 
plt.show() 
#数据预处理 
data_ csv = dat a csv. dropna() 
dat aset = dat_csv. values 
dataset = dat aset.astype ('float32') 
max_value = np. max (dataset) 
min value = np. min(dat aset) 
scalar = max_value-min_value 
dataset = list (map(
lambda x∶ x/scalar,dataset))#将数据标准化到0~1之间 
def create_dataset(
dataset,look_back=2)∶#look back 以前的时间步数用作输入变量来预测下—个时间段 
datak,dat aY=[ ],[ ] 
for i in range(len(dat aset)- look_back): 
a = dataset [i∶(
i+look_back] #i和i+1赋值 
dat alX. append(a) 
dataY.append(
dataset [i+look back]) #i+2赋值 
return np.array(
dataX),np.array(
datal) #np.array构建数组 
data X,data_Y = create_dataset (dataset) 
#data_Y: 1*142 data X: 2*142 
#划分训练集和测试集,70%作为训练集 
train_size = int (len(data_X)* 0.7) 
test_size = len(data_X)-train_size 
train_X = data_X[:train_size] 
train_Y = data_Y[:train_size] 
rrain_X =data_X[train_size:] 
train_Y = data_Y[train_size:] 
train_X = train_X.reshape(-1,1,2) 
#reshape中,-1使元素变为一行,然后输出为1列,每列2个子元素 
train_Y=train_Y.reshape(-1,1,1)#输出为1列,每列1个子元素 
Train_X=test_X.reshape(-1,1,2)

 更多思路↓

相关文章:

  • 涨知识!Python 的异常信息还能这样展现
  • JDBC编程
  • HTML+CSS期末大作业 中国传统美食网站设计 节日美食13页 html5网页设计作业代码 html制作网页案例代码 html大作业网页代码
  • 基于Java+Spring+Vue+elementUI大学生求职招聘系统详细设计实现
  • matlab在管理学中的应用简matlab基础【二】
  • 【安装Ubuntu18.04遇到的问题】未找到WIFI适配器
  • 发明专利与实用新型专利的不同
  • 【Educoder作业】CC++数组实训
  • Qt+Win10使用QAxWidget控件实现远程桌面控制
  • java毕业设计现有传染病查询系统mybatis+源码+调试部署+系统+数据库+lw
  • C++ 语法基础课4 —— 数组
  • 【Pygame实战】这游戏有毒,刷爆朋友圈:小编已与病毒版贪吃蛇大战了三百回合,最高分339?
  • 软件测试 | 怎么写测试用例?设计测试用例的思路和方法......
  • shell命令以及运行原理
  • 【MySQL】 B+ 树存储的原理
  • hexo+github搭建个人博客
  • [iOS]Core Data浅析一 -- 启用Core Data
  • 【347天】每日项目总结系列085(2018.01.18)
  • 【RocksDB】TransactionDB源码分析
  • Node.js 新计划:使用 V8 snapshot 将启动速度提升 8 倍
  • VuePress 静态网站生成
  • 浮动相关
  • 关于Android中设置闹钟的相对比较完善的解决方案
  • 基于 Babel 的 npm 包最小化设置
  • 前嗅ForeSpider采集配置界面介绍
  • 一道闭包题引发的思考
  • 一个项目push到多个远程Git仓库
  • 由插件封装引出的一丢丢思考
  • 资深实践篇 | 基于Kubernetes 1.61的Kubernetes Scheduler 调度详解 ...
  • ​创新驱动,边缘计算领袖:亚马逊云科技海外服务器服务再进化
  • ​软考-高级-系统架构设计师教程(清华第2版)【第20章 系统架构设计师论文写作要点(P717~728)-思维导图】​
  • #DBA杂记1
  • #FPGA(基础知识)
  • #NOIP 2014# day.1 生活大爆炸版 石头剪刀布
  • (52)只出现一次的数字III
  • (C#)if (this == null)?你在逗我,this 怎么可能为 null!用 IL 编译和反编译看穿一切
  • (附源码)ssm基于jsp高校选课系统 毕业设计 291627
  • (九)信息融合方式简介
  • (利用IDEA+Maven)定制属于自己的jar包
  • (切换多语言)vantUI+vue-i18n进行国际化配置及新增没有的语言包
  • (一)appium-desktop定位元素原理
  • (一)基于IDEA的JAVA基础10
  • *++p:p先自+,然后*p,最终为3 ++*p:先*p,即arr[0]=1,然后再++,最终为2 *p++:值为arr[0],即1,该语句执行完毕后,p指向arr[1]
  • ../depcomp: line 571: exec: g++: not found
  • .aanva
  • .CSS-hover 的解释
  • .equal()和==的区别 怎样判断字符串为空问题: Illegal invoke-super to void nio.file.AccessDeniedException
  • .NET 中小心嵌套等待的 Task,它可能会耗尽你线程池的现有资源,出现类似死锁的情况
  • .w文件怎么转成html文件,使用pandoc进行Word与Markdown文件转化
  • @cacheable 是否缓存成功_Spring Cache缓存注解
  • [20150629]简单的加密连接.txt
  • [20160807][系统设计的三次迭代]
  • [APIO2015]巴厘岛的雕塑
  • [AR]Vumark(下一代条形码)
  • [C#]winform部署yolov5-onnx模型