C 题 全球变暖与否——思路数据分析与代码实现
对于第一问,首先要考虑的是如此庞大且粗糙的数据我们应该如何处理。
首先,很常见的想法,控制变量法,固定城市,做趋势对比(等会讲如何趋势对比)。但是看很多城市的数据,都是残次不全的,我们需要处理一下,数据缺失,当然首选插值或者拟合,这里都可以使用,在分析趋势的时候,这两者带来的误差并不大。(这里建议抽取同一个城市同一个月不同年的数据进行修补,也就是用一月的数据修正一月的数据,二月的数据修正二月的数据)(插值和拟合 MATLAB、python 都有特定的函数,上网搜一下如何使用即可,当然下个 SPSS找个教程点点鼠标也行),完整的代码:
各地区每月平均温度(1899——2022)
如何趋势对比,最好的方法就是对数据做移动平均线模型,显露出长期趋势,在回看今年 3 月的变化较之前 10 年的变化趋势是否明显增高。
如果想做的更精细一点,耗点功夫给往年 3 月的温度抽取出来,只看三月的往期趋势,再进行对比(相当于再多控制一个变量)
LSTM部分代码
%% 训练 LSTM 网络
%使用 trainNetwork 以指定的训练选项训练 LSTM 网络。
net = trainNetwork(XTra