时间序列图表未显示流体线

时间:2017-03-29 13:13:37

标签: r time-series forecasting timeserieschart

我对r很新,我正在尝试执行ARIMA时间序列预测。我每15分钟看一次电力负荷的数据。我的数据如下:

 day month year PTE periode_van periode_tm gemeten_uitwisseling
 1   1    01 2010   1      0 secs   900 secs                 2636
 2   1    01 2010   2    900 secs  1800 secs                 2621
 3   1    01 2010   3   1800 secs  2700 secs                 2617
 4   1    01 2010   4   2700 secs  3600 secs                 2600
 5   1    01 2010   5   3600 secs  4500 secs                 2582
 geplande_import geplande_export                date weekend
 1             719            -284 2010-01-01 00:00:00       0
 2             719            -284 2010-01-01 00:15:00       0
 3             719            -284 2010-01-01 00:30:00       0
 4             719            -284 2010-01-01 00:45:00       0
 5             650            -253 2010-01-01 01:00:00       0
 weekday Month gu_ma
 1       5    01    NA
 2       5    01    NA
 3       5    01    NA
 4       5    01    NA
 5       5    01    NA

创建时间序列我使用了以下代码

library("zoo")
ZOO <- zoo(NLData$gemeten_uitwisseling, 
order.by=as.POSIXct(NLData$date, format="%Y-%m-%d %H:%M:%S"))

ZOO <- na.approx(ZOO)
tsNLData <- ts(ZOO)

plot(tsNLData)

我也尝试了以下

NLDatats <- ts(NLData$gemeten_uitwisseling, frequency = 96)

然而,当我绘制数据时,我得到以下内容;

StartPosition

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

图表似乎没有任何问题,但您的数据间隔为15分钟,而您正在绘制4年的数据。因此,它自然会看起来像一个黑色阴影区域,因为无法在单个图中显示系列中的数千个数据点。

如果您正在努力处理这么多数据,您可以在绘图前考虑从数据框中采样,尽管这会消除季节性和结果的自相关性。如果您想知道结果随时间的平均值,那么这可能会有所帮助,但对于查看数据中的季节性和自相关结构没有帮助。

请参阅下面的代码,该代码使用dplyrggplot2绘制一些模拟时间序列来说明这些问题。最好先从模拟数据开始,然后使用自己的数据。

require(ggplot2)
require(dplyr)

sim_data <- arima.sim(model=list(ar=.88,order=c(1,0,0)),n=10000,sd=.3)

#Too many points
data_frame(y=as.numeric(sim_data),x=1:10000) %>% ggplot(aes(y=y,x=x)) + geom_line() + 
  theme_minimal() + xlab('Time') + ylab('Y_t')


#Sample from data (random sample)
#However, this will remove autocorrelation/seasonality
data_frame(y=as.numeric(sim_data),x=1:10000) %>% sample_n(500) %>% 
  ggplot(aes(y=y,x=x)) + geom_line() + theme_minimal() + xlab('Time') + ylab('Y_t')


# Plot a subset, which preserves autocorrelation and seasonality
data_frame(y=as.numeric(sim_data),x=1:10000) %>% slice(1:300) %>% 
  ggplot(aes(y=y,x=x)) + geom_line() + theme_minimal() + xlab('Time') + ylab('Y_t')