如何解决如何使用时间数据设置时间序列中的开始日期
> head(load2)
# A tibble: 6 x 4
datetime fecha hora load_MWH
<dttm> <date> <dbl> <dbl>
1 2018-01-01 00:00:00 2018-01-01 0 7594
2 2018-01-01 01:00:00 2018-01-01 1 7091
3 2018-01-01 02:00:00 2018-01-01 2 6652
4 2018-01-01 03:00:00 2018-01-01 3 6308
5 2018-01-01 04:00:00 2018-01-01 4 5972
6 2018-01-01 05:00:00 2018-01-01 5 5810
我想创建一个具有每日季节性和开始日期为2018-01-01 00:00:00的时间序列对象,其中包含一年的数据-但是,我无法正确获取日期轴。我尝试了以下方法:
my_ts = ts(load2[,4],frequency = 24,start= c(as.numeric(as.Date("2018-01-01")),1))
似乎可行:
head(my_ts)
Time Series:
Start = c(17532,1)
End = c(17532,6)
Frequency = 24
load_MWH
[1,] 7594
[2,] 7091
[3,] 6652
[4,] 6308
[5,] 5972
[6,] 5810
但是时间序列的时间轴是一个数字(即自1970-01-01以来的秒数),但是不是日期格式,因此我无法对日期进行任何操作,自动绘图会显示该数字,但不会每年的月份:
> autoplot(energyireland2018_ts2[,1]) + scale_x_date(date_labels = "%b/%d")
Scale for 'x' is already present. Adding another scale for 'x',which will replace the
existing scale.
Error: Invalid input: date_trans works with objects of class Date only
类似地,我不能使用任何操纵日期的预测包函数。
所以问题是:如何将这个时间序列的时间轴转换为Date对象?(仍使用预测程序包)。非常感谢!
解决方法
ts
类和预测软件包不适用于每小时数据。我建议您使用较新的tsibble
类,在 feasts 包中有一个autoplot
函数,在寓言包中有一个预测函数。这是一个使用半小时电力需求数据的示例。
library(feasts)
library(tsibbledata)
vic_elec
#> # A tsibble: 52,608 x 5 [30m] <Australia/Melbourne>
#> Time Demand Temperature Date Holiday
#> <dttm> <dbl> <dbl> <date> <lgl>
#> 1 2012-01-01 00:00:00 4383. 21.4 2012-01-01 TRUE
#> 2 2012-01-01 00:30:00 4263. 21.0 2012-01-01 TRUE
#> 3 2012-01-01 01:00:00 4049. 20.7 2012-01-01 TRUE
#> 4 2012-01-01 01:30:00 3878. 20.6 2012-01-01 TRUE
#> 5 2012-01-01 02:00:00 4036. 20.4 2012-01-01 TRUE
#> 6 2012-01-01 02:30:00 3866. 20.2 2012-01-01 TRUE
#> 7 2012-01-01 03:00:00 3694. 20.1 2012-01-01 TRUE
#> 8 2012-01-01 03:30:00 3562. 19.6 2012-01-01 TRUE
#> 9 2012-01-01 04:00:00 3433. 19.1 2012-01-01 TRUE
#> 10 2012-01-01 04:30:00 3359. 19.0 2012-01-01 TRUE
#> # … with 52,598 more rows
autoplot(vic_elec,Demand)
由reprex package(v0.3.0)于2020-09-21创建
有关处理这些对象的软件包的信息,请参见http://tidyverts.org。
有关预测模型和相关语法的教科书介绍,请参见http://OTexts.com/fpp3
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。