6 votos

Análisis de series de tiempo en los datos de inicio de sesión para pronosticar la demanda de CPU utilizando R

Motivación: fui contratada como becaria hace un par de semanas para averiguar si mi empresa necesarios para la compra de nuevas máquinas con seis meses de anticipación. Base de datos de las máquinas tomar hasta 4 meses para instalar y hay de 2 meses de periodo de gracia.

He firmado un contrato de confidencialidad, así que no creo que me puede dar datos reales.

La única información fiable que tengo ahora, es la información sobre el número de inicios de sesión y los registros de una compañía de educación, de 2002 a 2011. Creo que puedo conseguir más reciente información sobre los registros, y la gente está trabajando en obtener información de inicio de sesión. Nos detuvimos registro de información de inicio de sesión en el 2011, por lo que habrá una brecha de datos no cuando me tratan de pronosticar :(

La información se recoge a diario.

He creado una serie de tiempo de la previsión de los datos mediante R. he utilizado este tutorial http://a-little-book-of-r-for-time-series.readthedocs.org/en/latest/src/timeseries.html#arima-models Para hacer una holt winters modelo exponencial con frecuencia diaria (frecuencia = 365). Me he quitado el 29 de febrero a partir de los datos. Por desgracia, la brecha en los datos de inicio de sesión, significa que se tiene que tratar de manera más específica ARIMA derecho? Voy a ser capaz de utilizar arima si hay largas lagunas en los datos? También, el arima función en R no permite frecuencias de más de 350, y de que se agote la memoria rápidamente, así que tendría que usar mensual de un modelo (freq = 12). He intentado usar la transformada de fourier, pero las predicciones no se ven a la derecha de forma intuitiva. Ya quiero saber lo que el pico de usos, lo que si, creo que yo podría querer ser más específico. Es aceptar el uso de una frecuencia semanal (freq = 52) y acaba de quitar el 31 de diciembre?

Es de frecuencia diaria admisible? Como puedo utilizar el suavizado exponencial con frecuencia diaria aunque Septiembre 7, 2012 podría caer en domingo, mientras que el 7 de Septiembre de 2011 y de 2010 y 2009 podría ser todos los días de la semana. No es un diario, semanal y anual de la estacionalidad de la demanda y del número de inicios de sesión. Por ejemplo. 6pm, y el lunes, y septiembre son los más cargados en general que a las 4 de la madrugada, y los sábados, y de Mayo. Hay una estacionalidad anual en el número de registros.

He estado teniendo algunos problemas con el inicio de sesión predicciones El problema es que la variabilidad aumenta mucho antes de los 6 meses han pasado aún. En el 80% del intervalo de confianza. La proyección de la línea se extiende en 2012 y la zona naranja es el 80% de intervalo de confianza. El registro y el uso de aditivos de suavizado exponencial me dio mucho más variabilidad que multiplicativo de suavizado exponencial.

No es útil a la empresa para decir que "bien podría tener 8 jillion inicios de sesión en algún momento en los próximos 6 meses, y usted podría tener 20% más de lo que había el año pasado." ¿Cómo puedo reducir la varianza en la proyección?

http://img836.imageshack.us/img836/8460/holtwintersloginmultipl.png

Por último, yo estaba pensando que después de que me proyecciones, yo pondría los inicios de sesión y de registros en una red neuronal, y me gustaría poner algo como el tiempo promedio de espera en un par de máquinas como la variable de salida, y me gustaría pronóstico del pico de procesamiento se prevé la demanda de energía en 6 meses. Hay otras variables a considerar, como el de las versiones de software que cambiar la cpu de la demanda por usuario, pero tengo la esperanza de que la red neuronal se aprende cuando estos ocurren, o que son fáciles de detectar y de la cuenta. No tengo buenos datos sobre el promedio de tiempo de espera, pero suponiendo que me parece, es este un buen plan?

7voto

mat_geek Puntos 1367

La suavización exponencial es simplemente un caso especial de un modelo ARIMA. Si hay un beneficio para el ajuste de un general modelo ARIMA es debido a su generalidad y no la que gestiona las lagunas en los datos mejor que exponetial suavizado. No veo ninguna razón para tirar el 29 de febrero. Fechas individuales no tendrían ninguna appriciable efecto en la estacionalidad de si hay algún componente periódico a la serie. La unidad de tiempo para el análisis de series de tiempo puede ser cualquier unidad de tiempo de medir los datos (puede ser días, semanas o años). Usted puede acumular datos para crear intervalos de tiempo más largos para el modelo de serie temporal. El hecho de que una fecha en un año cae en un día diferente de la semana que en un año no tiene nada que ver con su utilidad. Si hay semanales efectos que esto puede manifestarse en un día 7 el componente periódico. Las lagunas en los datos no perjudicar su capacidad para ajustar el modelo. Pero si un solo modelo ARIMA habría encajado bien a la serie completa usted probablemente puede identificar que juntando las partes disponibles de la serie el mantenimiento de la cuenta a través del índice de tiempo de la cantidad de días que faltan en cada hueco. No entiendo por qué no puedes tener días como las unidades de tiempo. Hay un problema con el hecho de tener una larga serie porque me parece que la unidad de tiempo sólo afecta al número de puntos de tiempo im la serie?

1voto

Boris Tsirelson Puntos 191

En primer lugar, usted debe comprobar fuera de la auto.arima y ets funciones en el pronóstico del paquete.

En segundo lugar, se debe considerar que la frecuencia es más adecuado para los datos. ¿De verdad esperan que los inicios de sesión en 11/1/2011 va a estar directamente relacionada con los inicios de sesión en 11/1/2001, 11/1/2002...11/1/2010? Hacer algunos seasonplots de sus datos a diferentes frecuencias, y a ver si puedes identificar lo que parece ser la más "natural". Yo sugeriría tratando de frecuencia=7, como se hace intuitivo sentido para mí que el número de inicios de sesión en un domingo va a estar directamente relacionada con el número de inicios de sesión del pasado domingo, y el domingo antes de que.

En tercer lugar, si se utiliza un modelo arima, puede utilizar el xreg plazo para pasar variables ficticias para representar otros períodos estacionales, tales como el día del mes, día del año, los meses del año y días festivos. El holidayNYSE función en timeDate es útil para encontrar las vacaciones.

En cuarto lugar, si usted iniciar la colocación de las redes neuronales, asegúrese de validación cruzada de ellos! La validación cruzada serie de tiempo es difícil, pero he aquí algunos R código para ayudarle a salir.

Por último, antes de ir demasiado loco con el análisis, considere la posibilidad de su objetivo general. Por ejemplo, si su único objetivo es pronosticar con precisión el pico de la CPU de la demanda de 6 meses de antelación, tal vez usted debería agregar todos tus datos a nivel mensual antes de hacer sus pronósticos. Usted podría ajustar un modelo arima para la CPU de la demanda, y el uso de los inicios de sesión y los registros como el externo regresores.

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