3 votos

¿Cómo puedo predecir fuertes subidas o bajadas de una serie temporal, por ejemplo, de más del 25%?

Tengo una serie temporal. Me gustaría tener un modelo que toma en valores pasados y actuales y salidas algo como una probabilidad / número que me dice:

  • Si el valor sube más del 25%
  • Si el valor baja más del 25%
  • Ninguna de las anteriores

Quería probar las redes neuronales (no me interesan las LSTM), pero ¿hay otras técnicas? Si no es así, ¿sabe usted de un buen recurso?

4voto

icelava Puntos 548

Cualquier método de previsión que produzca densidades de predicción (también conocido como previsiones de densidad (es decir, funciones de densidad que dan la distribución predicha de la siguiente observación) responderían a sus necesidades. (Tenga en cuenta que éstas están relacionadas con un intervalo de predicción que a su vez es no lo mismo que un intervalo de confianza una confusión común).

Supongamos que la última observación fue $y$ y la densidad de predicción para la siguiente observación es $\hat{F}$ . Entonces la probabilidad de que el siguiente valor sea un 25% inferior es $\hat{F}(0.75y)$ la probabilidad de que sea un 25% mayor será $1-\hat{F}(1.25y)$ y la probabilidad de "ninguna de las anteriores" será $\hat{F}(1.25y)-\hat{F}(0.75y)$ .

No dices qué tipo de serie temporal tienes (continua, discreta, serie de tiempo intermitente , lumpy), pero, por supuesto, debe utilizar un método de previsión que sea apropiado para su serie.

Por ejemplo, aquí hay una ilustración utilizando ets() en el forecast paquete. Este no es un caso de uso que forecast.ets() por lo que la salida es un poco dolorosa de analizar.

# library(forecast)
# model <- ets(AirPassengers)
# pred <- forecast(model,h=1,level=51:99,simulate=TRUE)
# tail(AirPassengers,1)
[1] 432
# pred
         Point Forecast    Lo 51    Hi 51    Lo 52    Hi 52    Lo 53    Hi 53
Jan 1961       441.7166 430.5646 452.6473 430.1879 452.9241 429.9727 453.1164
            Lo 54    Hi 54    Lo 55   Hi 55   Lo 56    Hi 56    Lo 57    Hi 57
Jan 1961 429.6617 453.4028 429.3353 453.696 429.021 454.0116 428.6747 454.2898
            Lo 58    Hi 58    Lo 59    Hi 59    Lo 60    Hi 60   Lo 61   Hi 61
...

La última observación fue de 432. Tomando intervalos algo más estrechos (porque las previsiones simplemente no contemplan descensos o aumentos repentinos del 25%), y observando la producción, vemos que $0.95\times 432=410.4$ corresponde aproximadamente a la entrada "Lo 95", mientras que $1.05\times 432=453.6$ corresponde aproximadamente a la entrada "Hi 55". Así pues, parece que hay un 5% de posibilidades de que se produzca un descenso del 5% o más, y un 45% de posibilidades de que se produzca un aumento del 5% o más. La asimetría no es sorprendente, dada la tendencia y la estacionalidad.

4voto

Craig Puntos 5169

En general, se pueden realizar previsiones con cualquier método de clasificación:

  • crear una variable de clase que describa lo que se quiere poder predecir (en su ejemplo podría ser una variable nominal con tres valores: descendente, estable y ascendente)
  • añadiendo copias retardadas de los predictores existentes a su conjunto de datos.

Por ejemplo, si se quiere predecir el rendimiento de los cultivos a partir de los datos de temperatura y precipitación, se añadiría un predictor para del mes pasado la temperatura y las precipitaciones, del año pasado temperatura y precipitación, etc., simplemente copiando los datos existentes y desplazándolos en la cantidad seleccionada. Está claro que hay que elegir y/o experimentar con el número y el desplazamiento temporal de los predictores rezagados que se van a utilizar, y se siguen aplicando los principios normales del número de predictores frente al tamaño de los datos y la necesidad de validar el modelo.

Paquetes como Weka incluyen herramientas de previsión mediante la creación de copias retardadas de los predictores.

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