¿Cómo hacer pronósticos para una serie de tiempo?

9

No estoy tan familiarizado con el análisis de datos de series temporales. Sin embargo, tengo lo que creo que es una tarea de predicción simple para abordar.

Tengo alrededor de cinco años de datos de un proceso generador común. Cada año representa una función monotónicamente creciente con un componente no lineal. Tengo recuentos por semana durante un ciclo de 40 semanas por año. El proceso comienza, la función comienza en cero, aumenta bastante rápido durante la primera mitad de la función, disminuyendo la velocidad durante la segunda mitad antes de nivelar durante las últimas cinco semanas. El proceso es consistente a lo largo de los años con pequeñas diferencias en la tasa de cambio y el volumen en los segmentos de un año a otro.

y1={0 0,nortet1,nortet2,...nortet39,nortet40}

y5 5={0 0,nortet1,nortet2,...nortet39,nortet40}

Donde igual al recuento en el tiempo x.nortetX

El objetivo es tomar en t x (o mejor t 0 a t x , o la pendiente hasta ese punto) y predecir el N en t 40 . Por ejemplo, si N t 10 es 5000, ¿cuál es el valor esperado de N t 40 para ese año? Entonces, la pregunta es, ¿cómo modelaría esos datos? Es bastante fácil resumir y visualizar. Pero me gustaría un modelo para facilitar las predicciones e incorporar una medida de error.nortetXt0 0tXnortet40Nt10Nt40

Brett
fuente
2
¿Estás seguro de que quieres limitarte tan severamente? Si este problema tiene alguna aplicación práctica, cuando conozca el recuento en el momento x también sabrá todos los recuentos anteriores. ¿Por qué no usarlos para ayudar con la predicción?
whuber
En efecto. Estás en lo correcto. Gracias por señalar eso.
Brett

Respuestas:

6

Probablemente, el enfoque más simple es, como sugirió Andy W, utilizar un modelo de serie temporal univariante estacional. Si usa R, intente con auto.arima()o ets()desde el paquete de pronóstico .

Cualquiera de los dos debería funcionar bien, pero un método de serie temporal general no utiliza toda la información proporcionada. En particular, parece que conoce la forma de la curva en cada año, por lo que sería mejor usar esa información modelando los datos de cada año en consecuencia. Lo que sigue es una sugerencia que intenta incorporar esta información.

Parece que algún tipo de curva sigmoidal hará el truco. por ejemplo, una logística desplazada: para el añoty lasemanajdondeat,btyrtson parámetros a estimar. rtes el máximo asintótico,atcontrola la tasa de aumento ybtes el punto medio cuandoft,j=rt/2

Ft,j=rtmiunat(j-sit)1+miunat(j-sit)
tjunatsitrtrtunatsitFt,j=rt/ /2. (Se necesitará otro parámetro para permitir la asimetría que usted describe, según la cual la tasa de aumento hasta el tiempo es más rápida que la que aparece después de b t . La forma más sencilla de hacerlo es permitir que a t tome valores diferentes antes y después del tiempo b t .)sitsitunatsit

Los parámetros se pueden estimar utilizando mínimos cuadrados para cada año. Los parámetros de cada forma de series de tiempo: , b 1 , ... , b n y r 1 , ... , r n . Estos pueden pronosticarse utilizando métodos de series de tiempo estándar, aunque con n = 5 probablemente no pueda hacer mucho más que usar la media de cada serie para producir pronósticos. Entonces, por año 6, una estimación del valor en la semana j es simplemente f ( 6 , juna1,...,unanortesi1,...,sinorter1,...,rnortenorte=5 5j dondese utilizanlos pronósticos de a 6 , b 6 y r 6 .F^(6 6,j)una6 6si6 6r6 6

Una vez que comiencen a observarse los datos para el año 6, querrá actualizar esta estimación. A medida que se obtiene cada nueva observación, calcule la curva sigmoidal a los datos del año 6 (para comenzar, necesitará al menos tres observaciones, ya que hay tres parámetros). Luego tome un promedio ponderado de los pronósticos obtenidos usando los datos hasta el año 5 y el pronóstico obtenido usando solo los datos del año 6, donde los pesos son iguales a y ( t - 4 ) / 36(40-t)/ /36(t-4 4)/ /36respectivamente. Eso es muy ad hoc, y estoy seguro de que se puede hacer más objetivo al colocarlo en el contexto de un modelo estocástico más grande. Sin embargo, probablemente funcionará bien para sus propósitos.

Rob Hyndman
fuente
4

Lo que pregunta es esencialmente lo que hace el modelado ARIMA de Box Jenkins (sus ciclos anuales se denominarían componentes estacionales). Además de buscar materiales por su cuenta, sugeriría

Análisis de series de tiempo aplicado para las ciencias sociales 1980 por R McCleary; RA Hay; EE Meidinger; D McDowall

Aunque puedo pensar en razones razonables de por qué desea pronosticar más en el futuro (y, por lo tanto, evaluar el error al hacerlo), a menudo es muy difícil en la práctica. Si tiene componentes estacionales muy fuertes, será más factible. De lo contrario, sus estimaciones probablemente alcanzarán un equilibrio en relativamente pocos períodos de tiempo futuros.

Si planea usar R para adaptarse a sus modelos, probablemente debería visitar el sitio web de Rob Hyndman (¡ojalá le dé mejores consejos que yo!)

Andy W
fuente
-2

tienes 5 años de datos y 40 observaciones por año. ¿Por qué no los publica en la web y nos permite responder esto en la zona cero en lugar de filosofar a 500 millas de altura? Espero los números. Hemos visto datos como este, por ejemplo, el número de clientes que intercambian su semana de tiempo compartido semanalmente. La serie comienza cada año en cero y se acumula a un valor límite.

IrishStat
fuente
1
-1 Esto suena más como un anuncio de uno mismo que como una respuesta útil.
whuber
@whuber: No intencional. Solo una reflexión sobre un "problema difícil" similar con el que me encontré.
IrishStat
Eso haría un comentario interesante, entonces. Los comentarios son buenas maneras de inyectar algo de esta valiosa experiencia que nos complace que nos comparta. Las respuestas deben reservarse para las respuestas reales a la pregunta: se votarán, archivarán, podrán buscarse, etc. y, por lo tanto, deberán ser más directamente relevantes, de valor permanente y poder resistir mejor las críticas. (Por supuesto, esta es una idealización, pero es por lo que nos esforzamos. :-)
whuber
@whuber: ¡Tú enseñas! Aprendo ! Reservaré comentarios para el "área de comentarios". Para reiterar que no había absolutamente ninguna intención de promover nada o cualquier pieza de software / consultoría en particular, solo una buena intención de compartir experiencias con otras personas de la aldea. Estoy bastante seguro de que el OP consideró mis comentarios útiles. ¿Qué dices Brett?
IrishStat