时间序列图不显示流体线

Time series graph does not show a fluid line

我对 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)

然而,当我绘制数据时,我得到以下信息;

我该如何解决这个问题?

您的图表似乎没有任何问题,但您的数据以 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')