Tengo datos mensuales de 1993 a 2015 y me gustaría hacer pronósticos sobre estos datos. Utilicé el paquete tsoutliers para detectar los valores atípicos, pero no sé cómo continúo pronosticando con mi conjunto de datos.
Este es mi código:
product.outlier<-tso(product,types=c("AO","LS","TC"))
plot(product.outlier)
Esta es mi salida del paquete tsoutliers
ARIMA(0,1,0)(0,0,1)[12]
Coefficients:
sma1 LS46 LS51 LS61 TC133 LS181 AO183 AO184 LS185 TC186 TC193 TC200
0.1700 0.4316 0.6166 0.5793 -0.5127 0.5422 0.5138 0.9264 3.0762 0.5688 -0.4775 -0.4386
s.e. 0.0768 0.1109 0.1105 0.1106 0.1021 0.1120 0.1119 0.1567 0.1918 0.1037 0.1033 0.1040
LS207 AO237 TC248 AO260 AO266
0.4228 -0.3815 -0.4082 -0.4830 -0.5183
s.e. 0.1129 0.0782 0.1030 0.0801 0.0805
sigma^2 estimated as 0.01258: log likelihood=205.91
AIC=-375.83 AICc=-373.08 BIC=-311.19
Outliers:
type ind time coefhat tstat
1 LS 46 1996:10 0.4316 3.891
2 LS 51 1997:03 0.6166 5.579
3 LS 61 1998:01 0.5793 5.236
4 TC 133 2004:01 -0.5127 -5.019
5 LS 181 2008:01 0.5422 4.841
6 AO 183 2008:03 0.5138 4.592
7 AO 184 2008:04 0.9264 5.911
8 LS 185 2008:05 3.0762 16.038
9 TC 186 2008:06 0.5688 5.483
10 TC 193 2009:01 -0.4775 -4.624
11 TC 200 2009:08 -0.4386 -4.217
12 LS 207 2010:03 0.4228 3.746
13 AO 237 2012:09 -0.3815 -4.877
14 TC 248 2013:08 -0.4082 -3.965
15 AO 260 2014:08 -0.4830 -6.027
16 AO 266 2015:02 -0.5183 -6.442
Tengo estos mensajes de advertencia también.
Warning messages:
1: In locate.outliers.iloop(resid = resid, pars = pars, cval = cval, :
stopped when ‘maxit’ was reached
2: In locate.outliers.iloop(resid = resid, pars = pars, cval = cval, :
stopped when ‘maxit’ was reached
3: In locate.outliers.oloop(y = y, fit = fit, types = types, cval = cval, :
stopped when ‘maxit’ was reached
4: In arima(x, order = c(1, d, 0), xreg = xreg) :
possible convergence problem: optim gave code = 1
5: In auto.arima(x = c(5.77, 5.79, 5.79, 5.79, 5.79, 5.79, 5.78, 5.78, :
Unable to fit final model using maximum likelihood. AIC value approximated
Dudas:
- Si no me equivoco, el paquete tsoutliers eliminará los valores atípicos que detecta y, mediante el uso del conjunto de datos con los valores atípicos eliminados, nos dará el mejor modelo de arima adecuado para el conjunto de datos, ¿es correcto?
- El conjunto de datos de la serie de ajuste se está desplazando mucho debido a la eliminación del cambio de nivel, etc. ¿No significa esto que si el pronóstico se realiza en la serie ajustada, la salida del pronóstico será muy imprecisa, ya que los datos más recientes ya son más de 12, mientras que los datos ajustados lo cambian a alrededor de 7-8.
- ¿Qué significan los mensajes de advertencia 4 y 5? ¿Significa que no puede hacer auto.arima usando la serie ajustada?
- ¿Qué significa [12] en ARIMA (0,1,0) (0,0,1) [12]? ¿Es solo mi frecuencia / periodicidad de mi conjunto de datos, que configuré mensualmente? ¿Y esto también significa que mi serie de datos también es estacional?
- ¿Cómo detecto la estacionalidad en mi conjunto de datos? A partir de la visualización de la trama de series de tiempo, no puedo ver ninguna tendencia obvia, y si uso la función de descomposición, ¿supondrá que hay una tendencia estacional? Entonces, ¿solo creo lo que me dicen los tsoutliers, donde hay una tendencia estacional, ya que hay un MA de orden 1?
- ¿Cómo continúo haciendo mi pronóstico con estos datos después de identificar estos valores atípicos?
- ¿Cómo incorporar estos valores atípicos a otros modelos de pronóstico: suavizado exponencial, ARIMA, modelo estructural, caminata aleatoria, theta? Estoy seguro de que no puedo eliminar los valores atípicos ya que hay un cambio de nivel, y si solo tomo datos de series ajustadas, los valores serán demasiado pequeños, entonces, ¿qué debo hacer?
¿Necesito agregar estos valores atípicos como regresores en el auto.arima para pronosticar? ¿Cómo funciona esto entonces?