程振兴 @czxa.top
截止今天,我已经在本博客上写了607.9k个字了!
本文是学习Climate change: Modeling 140+ years of temperature data with tsibble and fable的笔记。
加载包
首先是加载本文所需要的一些包:
1 | library(tsibble) |
如果你的fable包安装失败了,你可能可以参考这篇文章Mac OS X R error “ld: warning: directory not found for option” - Stack Overflow,在终端运行下面两行代码解决:
1 | curl -O http://r.research.att.com/libs/gfortran-4.8.2-darwin13.tar.bz2 |
准备数据集
我已经把两份数据集都下载好了:
TN_STAID000011.txt
TX_STAID000011.txt
将温度变成tsibbles并添加日平均
1 | # 整理最低温数据: |
绘图:
1 | krem %>% |
这幅图展示了奥地利地区克雷姆斯明斯特: 2001-2018每日平均气温,从图中可以略微看出,气温似乎有上升趋势。
可视化不同时期的月份温度范围
1 | krem_narrow <- gather(krem, key = 'type', |
温度异常与平均值相比
气候学家经常将温度与基准线的偏差定义为温度的异常。在这里,我们绘制出年平均异常与100年的基准线(1876——1976)。我们可以注意到自20世纪70年代以来,温度呈上升趋势。
1 | krem_narrow %<>% mutate( |
可以看出1970年以来温度异常确实有上升的趋势。
每年低于零度的天数
1 | krem_narrow %<>% mutate( |
由于气候变暖,每年气温低于0度的天数越来越少了。
每年气温高于30˚C的天数
1 | num_hot_days <- krem_high %>% |
年度超出30度的温度累计值在飙升
我们通过计算一年中超过30˚C的每日最高温度的累计来构建一个有多热的度量标准。这不仅仅可以了解每年有多少炎热天气,还能了解累计的多余热量。
1 | krem_high %>% |
建模
由于tsibble包的改进,fable包最近出了一些问题,所以只能展示略去建模部分的学习了。
问题可以参考fable包的issues-100:Unable to forecast using fable ets #100