用R做时间序列分析:使用NetAtmo网站数据进行测试

发布时间: 2015-12-23 阅读数: 1151

我有一个NetAtmo气象站,它可以通过web界面下载CSV格式的测量数据。我想做一个时间序列分析,并尝试下季节性成分的提取(或分解)。因此,利用我这个设备的温度测量数据是一个很好的机会。数据在这(得翻墙下载)

注:Netatmo是Netatmo公司推出的一套为iOS设备量身定做的天气监测仪器,除了可以监测基本的温度、湿度,还可以监测气压、空气污染指数、二氧化碳浓度等,可提供相对精确的气象监测功能。

为了简单起见,我仅使用14天的温度测量数据。具体包括2015年11月1日至2015年11月14日的所有测量数据。

原始数据看起来是这样的(在X轴上,是测量的顺序次数):

data <- read.table(“temps.csv”, header = T, sep = “t”)
plot(data$temp, type = “l”, bty = “n”, ylab = “Temperature in °C”)


不用对这个峰值超过30摄氏度的温度感到困惑——有时我们碰到的是一个特别暖和的十一月,气象站的户外传感器是放在太阳底下的。回到业务上来,下面一行的代码,我将temp列转化为时间序列。我想从时间序列中提取季节性成分,所以我指定了一个频率从参数。

data$temp <- ts(data = data$temp, frequency = 285)

285是从哪里来的呢?NetAtmo站每5分钟测量一次。因此,一个小时应该是测量12次,一天就是288次。然而,如果我们查看table(data$date)会发现,基本上每天都会少测量3次。所以我取285作为频率。

最后一步,分解并绘制时间序列。

plot(stl(data$temp, s.window = “periodic”))



图中包括原始数据、stl函数提取的季节性成分、时间序列趋势图、趋势和原始数据的差值。

本文由雪晴数据网负责翻译整理,原文请参考Time series analysis with R: Testing stuff with NetAtmo data,作者Sascha W。转载请注明本文链接http://www.xueqing.tv/cms/article/88

分享到:
热门文章

REmap发布,用R绘制百度迁徙图

2015年07月23日更新 21085次阅读

学习R语言,一篇文章让你从懵圈到入

2016年05月09日更新 14670次阅读

清华大学教授:大数据时代 统计学依

2015年08月07日更新 11291次阅读

在R中填充缺失数据—mice包

2015年12月31日更新 10743次阅读

精通 R plot—第一部分:颜色

2016年01月20日更新 9549次阅读

非统计学专业的人该如何学习 R 语

2015年07月24日更新 8107次阅读
热门课程

R语言初级课程

2015年02月20日发布 3231名学员

R语言高效数据清理工具包dplyr

2015年08月30日发布 1690名学员

R语言数据分析入门

2016年05月10日发布 1566名学员

如何用R做数据预处理

2016年06月03日发布 1160名学员

全栈数据工程师养成攻略

2016年11月08日发布 1019名学员

R语言大规模数据分析实战

2015年12月17日发布 952名学员
登录 注册