2017-03-29 2 views
0

Je suis assez nouveau pour essayer d'effectuer des prévisions de séries temporelles ARIMA. Les données que je regarde dans la charge de l'électricité par 15 min. Mes données se présente comme suit:Le graphique des séries chronologiques ne montre pas de ligne fluide

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 

pour créer une série de fois que je l'ai utilisé le code suivant

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) 

J'ai aussi essayé le

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

Cependant quand je indiquerez les données Je reçois ce qui suit;

Time Series plot

Comment puis-je résoudre ce problème?

+0

Il semble qu'il y ait des cycles saisonniers et diurnes dans vos données. Le graphique semble être correct et peut-être même attendu compte tenu de ce que vous tracez. – Roland

+0

@Roland J'essaie de faire une prévision ARIMA, mais elle obtient constamment des valeurs p très élevées et mon ACF et PACF génèrent des valeurs élevées. Je me demandais donc si j'avais fait quelque chose de mal dans mes séries chronologiques, car dans d'autres exemples, les graphiques ne se présentent pas de cette façon. J'ai supprimé la saisonnalité, mais je n'ai pas supprimé les cycles diurnes, ce qui pourrait résoudre le problème. – NikkiB

+0

Donc, votre problème réel est quelque chose que vous ne montrez pas ... – Roland

Répondre

0

Il ne semble pas y avoir de problème avec votre graphique, mais vos données viennent à intervalles de 15 minutes, et vous tracez 4 années de données. Donc, naturellement, cela ressemblera à une région ombrée parce qu'il n'y a aucun moyen de montrer les milliers de points de données que vous avez dans votre série dans une seule parcelle.

Si vous avez du mal à gérer autant de données, vous pouvez envisager d'échantillonner à partir de votre base de données avant le traçage, bien que cela supprime la saisonnalité et l'autocorrélation des résultats. Cela peut être utile si vous voulez connaître les valeurs moyennes de votre résultat au fil du temps, mais pas aussi utile pour voir la structure saisonnière et autocorrélative dans les données.

Voir le code ci-dessous qui utilise dplyr et ggplot2 pour tracer des séries temporelles simulées qui illustrent ces problèmes. Il est toujours préférable de commencer avec des données simulées et de travailler ensuite avec vos propres données. Pouvez-vous expliquer plus en détail ce problème?

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')