5 votos

Previsión de series temporales horarias

Tengo las siguientes series temporales:

enter image description here

Los datos están disponibles aquí datos

La serie temporal representa una carga horaria de eletricidad. Comienza en 2018-09-13 19:00:00 y termina en 2018-12-23 15:00:00.

Quiero predecir los valores de las próximas 36 horas.

He probado varios métodos pero sin éxito.

Este es mi código:

load.msts <- msts(df$Power), seasonal.periods = c(7, 365.25))
load.tbats <- tbats(load.msts)
load.pred <- forecast(load.tbats, h = 100)

El resultado de la predicción es: enter image description here

Entonces lo intenté:

load.stlm <- stlm(load.msts, s.window = 'periodic', method = 'ets')
load.pred <- forecast(load.stlm, h = 100)

El resultado de la predicción es: enter image description here

También he probado el profeta de Facebook:

load.prophet.df <-prophet(load.df,yearly.seasonality=TRUE)
load.prophet.model <- make_future_dataframe(load.prophet.df, periods = 
200, freq = 3600)
load.prophet.pred <- predict(load.prophet.df, load.prophet.model)

Resultados: enter image description here

Creo que el problema está relacionado con la cantidad de datos. No tengo suficientes datos (sólo un año de datos).

¿Cómo puedo mejorar mis previsiones? Gracias

2 votos

El grado de incertidumbre es demasiado alto para una predicción sensata. Si alguien se va de vacaciones y apaga la electricidad, la mejor manera de predecir el uso sería preguntar cuánto tiempo estará fuera.

0 votos

¿Sería posible publicar o adjuntar los datos? Ya sea en texto plano o a través de una herramienta de intercambio de datos como sharecsv.com

1 votos

Sí. He subido el csv [enlace] ( sharecsv.com/s/f2b58c4304ffa69599fb5ef09f70eb6e/… )

3voto

icelava Puntos 548

Su problema no es (tanto) la falta de datos. Su problema es que el proceso de generación de datos cambia bruscamente varias veces. Primero hay un cambio brusco en torno al 20 de septiembre, luego hay un periodo de variabilidad extrañamente baja a principios de noviembre, casi dos semanas de datos perdidos a principios de diciembre y, finalmente, una caída precipitada a finales de diciembre.

Esto último es un problema particular para sus modelos, y lo será para cualquier modelo. Sus modelos se ajustan o bien a una tendencia descendente, que extrapolan (TBATS y Prophet), o bien a otro cambio de paso (ETS). ¿Cuál tiene más sentido? No sabemos, ya que no conocemos lo que ha ocurrido recientemente, si la tendencia a la baja continuará, o si su serie ha alcanzado un nuevo equilibrio, o si volverá a aumentar hasta el nivel que mostraba antes de la caída.

Le recomiendo encarecidamente que averigüe qué ocurrió con su serie en el pasado y que lo incluya en cualquier modelo. Por ejemplo, podrías hacer una regresión de tu serie sobre las variables explicativas y ajustar tu serie temporal a los residuos. Esto está relacionado con ¿Cómo saber que su problema de aprendizaje automático no tiene solución?

1voto

Owen Fraser-Green Puntos 642

El problema que tiene es que los programas que ha probado no 1) detectan el impacto repetitivo único de 12 periodos de tiempo específicos en su ciclo de 24 horas, los periodos 8 a 19 2) detectan el punto de cambio en la tendencia en el periodo 214 3) detectan los cambios de intercepción en los periodos 546,528 y 1906 4) detectan los puntos de cambio (¡YA VISUALMENTE OBVIOSOS!) en el cambio de la varianza del error del modelo en los periodos 1278 y 1704. Utilicé AUTOBOX que trata los datos examinando no sólo los efectos de memoria (arima) SINO los efectos deterministas. AUTOBOX fue desarrollado (en parte por mí) para tratar conjuntos de datos como éste, que a menudo son del mundo real y están totalmente fuera de los espacios de solución triviales que tratan de encasillar los datos en modelos preespecificados en lugar de tratar de identificar/ajustar el modelo basado en los datos reales.

Como otros han señalado, la grave caída sugerida por los numerosos pulsos recientes necesita ser investigado y, o bien se cree que es un nuevo regimineto, o bien se ajusta como hizo AUTOBOX. Su previsión dependerá de esta investigación.

Este es el gráfico de la realidad y la previsión enter image description here

Este es el gráfico de ajuste y previsión enter image description here

Aquí está el g real/ajuste y la previsión enter image description here gráfico

La ecuación está aquí en 3 partes enter image description here

enter image description here

enter image description here

y la prueba TSAY http://docplayer.net/12080848-Outliers-level-shifts-and-variance-changes-in-time-series.html para una varianza de error constante

enter image description here

Aquí está lo real y lo limpiado enter image description here

A menos que el software que elijas cuestione los supuestos y ofrezca soluciones, puede haber algún coste oculto por utilizarlo.

0voto

Ajay Mistry Puntos 1

Como ha señalado Carl, el grado de incertidumbre es demasiado alto. Si quieres que tu modelo sea capaz de predecir una determinada periodicidad en los datos, necesitas tener al menos un ciclo de los datos donde se observe esa periodicidad. Porque el modelo aún no ha "aprendido" esa periodicidad. Así que si la disminución repentina de los datos al final (la parte que has intentado predecir) es algo que crees que es periódico, tienes que proporcionar un rango en el que eso ya haya ocurrido una vez, para que el modelo pueda anticiparlo.

En segundo lugar, creo que tus datos no son estacionarios, y tienen una tendencia decreciente (al menos en el rango dado). Los métodos estadísticos estándar funcionan bien con datos estacionarios, por lo que es posible que tengas que convertirlos en datos estacionarios para obtener un mejor rendimiento.

0 votos

Yo pensé lo mismo. Lo intentaré con datos diferenciados

0 votos

El rango debe ( como mínimo ) ser al menos dos veces el período no una vez . En segundo lugar, la no estacionariedad puede remediarse a menudo despreciando los datos stats.stackexchange.com/questions/385684/ .

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X