En general, busque en un libro de texto de análisis de series de tiempo avanzado (los libros introductorios generalmente le indicarán que solo confíe en su software), como Time Series Analysis by Box, Jenkins & Reinsel. También puede encontrar detalles sobre el procedimiento de Box-Jenkins buscando en Google. Tenga en cuenta que existen otros enfoques además de Box-Jenkins, por ejemplo, los basados en AIC.
En R, primero convierte sus datos en un objeto ts
(serie temporal) y le dice a R que la frecuencia es 12 (datos mensuales):
require(forecast)
sales <- ts(c(99, 58, 52, 83, 94, 73, 97, 83, 86, 63, 77, 70, 87, 84, 60, 105, 87, 93, 110, 71, 158, 52, 33, 68, 82, 88, 84),frequency=12)
Puede trazar las funciones de autocorrelación (parcial):
acf(sales)
pacf(sales)
Estos no sugieren ningún comportamiento AR o MA.
Luego se ajusta a un modelo y lo inspecciona:
model <- auto.arima(sales)
model
Ver ?auto.arima
para ayuda. Como vemos, auto.arima
elige un modelo simple (0,0,0), ya que no ve tendencia ni estacionalidad ni AR ni MA en sus datos. Finalmente, puede pronosticar y trazar las series de tiempo y el pronóstico:
plot(forecast(model))
Mire ?forecast.Arima
(tenga en cuenta la A mayúscula).
Este libro de texto en línea gratuito es una excelente introducción al análisis y pronóstico de series de tiempo usando R. Muy recomendable.
Dos cosas. Su serie temporal es mensual, necesita al menos 4 años de datos para una estimación ARIMA razonable, ya que los 27 puntos reflejados no dan la estructura de autocorrelación. Esto también puede significar que sus ventas se ven afectadas por algunos factores externos, en lugar de estar correlacionadas con su propio valor. Intente averiguar qué factor afecta sus ventas y si se está midiendo ese factor. Luego puede ejecutar una regresión o VAR (Vector Autoregression) para obtener pronósticos.
Si no tiene absolutamente nada más que estos valores, su mejor manera es utilizar un método de suavizado exponencial para obtener un pronóstico ingenuo. El suavizado exponencial está disponible en R.
En segundo lugar, no vea las ventas de un producto de forma aislada, las ventas de dos productos podrían estar correlacionadas, por ejemplo, el aumento en las ventas de café puede reflejar una disminución en las ventas de té. use la otra información del producto para mejorar su pronóstico.
Esto suele suceder con los datos de ventas en el comercio minorista o en la cadena de suministro. No muestran mucha estructura de autocorrelación en la serie. Mientras que, por otro lado, los métodos como ARIMA o GARCH generalmente funcionan con datos del mercado de valores o índices económicos en los que generalmente tiene autocorrelación.
fuente
Esto es realmente un comentario, pero excede lo permitido, por lo que lo publico como una respuesta cuasi ya que sugiere la forma correcta de analizar datos de series de tiempo. .
El hecho bien conocido, pero a menudo ignorado aquí y en otros lugares, es que el ACF / PACF teórico que se utiliza para formular una premisa tentativa del modelo ARIMA sin pulsos / cambios de nivel / pulsos estacionales / tendencias de tiempo local. Además, cuenta con parámetros constantes y varianza de error constante a lo largo del tiempo. En este caso, la vigésima primera observación (valor = 158) se marca fácilmente como un valor atípico / Pulso y un ajuste sugerido de -80 produce un valor modificado de 78. El ACF / PACF resultante de la serie modificada muestra poca o ninguna evidencia de estructura estocástica (ARIMA). En este caso, la operación fue un éxito, pero el paciente falleció. La muestra de ACF se basa en la covarianza / varianza y una variación indebidamente inflada / hinchada produce un sesgo hacia abajo para la ACF. El profesor Keith Ord se refirió una vez a esto como el "efecto Alicia en el país de las maravillas"
fuente
Como ha sido señalado por Stephan Kolassa, no hay mucha estructura en sus datos. Las funciones de autocorrelación no sugieren una estructura ARMA (ver
acf(sales)
,pacf(sales)
) yforecast::auto.arima
no elige ningún orden AR o MA.Sin embargo, observe que el nulo de normalidad en los residuos se rechaza al nivel de significancia del 5%.
Nota aparte:
JarqueBera.test
se basa en la funciónjarque.bera.test
disponible en el paquetetseries
.Incluyendo el aditivo atípico en la observación 21 que se detecta con
tsoutliers
normalidad en los residuos. Por lo tanto, la estimación de la intercepción y el pronóstico no se ven afectados por la observación periférica.fuente