Librerías
library(dygraphs)
library(readxl)
library(tseries) #Modelos Arma y prueba Dickey-Fuller
## Registered S3 method overwritten by 'quantmod':
## method from
## as.zoo.data.frame zoo
library(lmtest) #Análsis de los coeficientes ARIMA
## Warning: package 'lmtest' was built under R version 4.2.3
## Loading required package: zoo
##
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
##
## as.Date, as.Date.numeric
library(quantmod)
## Loading required package: xts
## Loading required package: TTR
library(rugarch)
## Warning: package 'rugarch' was built under R version 4.2.3
## Loading required package: parallel
##
## Attaching package: 'rugarch'
## The following object is masked from 'package:stats':
##
## sigma
library(rmgarch)
## Warning: package 'rmgarch' was built under R version 4.2.3
##
## Attaching package: 'rmgarch'
## The following objects are masked from 'package:xts':
##
## first, last
library(forecast)
## Warning: package 'forecast' was built under R version 4.2.3
library(MTS)#prueba multiplicadores de Lagrange... Elementos ARCH-GARCH
## Warning: package 'MTS' was built under R version 4.2.3
##
## Attaching package: 'MTS'
## The following object is masked from 'package:TTR':
##
## VMA
costo_unitario <- read_excel("Costo unitario.xlsx")
Variable estudiada: costo unitario de mano de obra por persona
ocupada
El costo unitario de la mano de obra por persona ocupada es el costo
total de la mano de obra que se incurre para producir un producto o
prestar un servicio, dividido por el número de personas ocupadas que
trabajan en esa producción o servicio. En el presente trabajo, se ocupan
datos del sector comercio, para el periodo 2008 - 2019.
Fuente: BANXICO
# Convertimos los datos a una serie de tiempo.
co_un = costo_unitario
co_un_ts = ts(co_un, start = c(2008,1), frequency = 12)
Patrones y tendencias en la serie de tiempo
Una serie de tiempo estacionaria es una serie de tiempo en la que
las propiedades estadísticas básicas son constantes en el tiempo y no
dependen del tiempo.En la Gráfica 1 no se aprecia un patrón claro, ni
una tendencia evidente. Sin embargo, se aprecian picos constantes todos
los diciembres, lo que podría indicar que la venta de automóviles
depende de la temporada del año y hace complicado que la serie sea
estacionaria.
# Realizamos distintas gráficas para visualizar el comportamiento de los datos y poder comprobar si son estacionarios.
### Gráfica de serie de tiempo
co_un_tsg = dygraph(co_un_ts, main = "Costo unitario de mano de obra en el sector comercio (2008 - 2019)", xlab = "Año", ylab = "Costo unitario")%>% dyRangeSelector()
dyOptions(co_un_tsg, colors = c("green", "red"), fillGraph = TRUE, strokeWidth = 2)
Histograma
El histograma con un sesgo positivo muestra que la distribución de
los datos está desplazada hacia la derecha y tiene una cola más larga en
ese lado. En otras palabras, hay más observaciones con valores más bajos
y menos observaciones con valores más altos. Este tipo de distribución
sugiere que hay valores atípicos en la cola más larga y que los valores
más altos son menos frecuentes.
En cuanto a la estacionariedad de los datos, un histograma con sesgo
positivo puede ser una señal de que los datos no son estacionarios. La
estacionariedad se refiere a la propiedad de una serie temporal donde su
distribución y estadísticas no cambian con el tiempo. Un sesgo positivo
indica que hay cambios en la distribución de los datos con el tiempo, lo
que sugiere que la serie temporal no es estacionaria.
Sin embargo, es importante tener en cuenta que la presencia de un
sesgo positivo no siempre significa que los datos no sean
estacionarios.
# Graficamos un histograma
hist(co_un_ts, main = "Costo unitario de mano de obra en el sector comercio (2008 - 2019)")

Gráfico de densidad
Este gráfico de densidad con sesgo a la derecha muestra una
distribución de datos donde la mayoría de las observaciones se agrupan
en valores más bajos, pero hay algunos valores muy altos que se
extienden hacia la derecha. El sesgo a la derecha puede ser un indicador
de cambios en la tendencia o en la variabilidad de los datos a lo largo
del tiempo.
# Hacemos un gráfico de densidad.
density = plot(density(co_un_ts), main = "Costo unitario de mano de obra en el sector comercio (2008 - 2019)")

Q-Qplot
Los valores extremos en un gráfico qqplot se alejan
significativamente de la línea de referencia, esto sugiere que los datos
tienen colas pesadas o son muy diferentes de la distribución teórica que
se está comparando. En otras palabras, esto indica que los valores
extremos son más comunes de lo que se esperaría según la distribución
teórica.
En términos de estacionariedad de los datos, si hay valores extremos
que se alejan significativamente de la línea de referencia en un gráfico
qqplot, esto puede ser una señal de que los datos no son estacionarios.
La presencia de valores extremos sugiere que hay una variabilidad
importante en los datos a lo largo del tiempo, lo que es una
característica de los datos no estacionarios.
# Hacemos un gráfico qqplot
qqnorm(co_un_ts)
qqline(co_un_ts)

Cáluculo de diferencias y diferencias estacionales
En el análisis de una serie de tiempo, se realizaron pruebas de raíz
unitaria para determinar la necesidad de aplicar diferencias
estacionales. Estas pruebas, como el test KPSS, permiten evaluar si una
serie de tiempo es estacionaria o presenta una raíz unitaria. En este
caso, los resultados de las pruebas indicaron que la serie de tiempo no
era estacionaria en su forma original, lo que sugiere la presencia de
una tendencia o patrón estacional.
Como respuesta a esta situación, se decidió aplicar diferencias
estacionales para eliminar el patrón temporal y hacer que la serie sea
estacionaria. Al observar la gráfica de la diferencia estacional, se
pudo apreciar que ya no había tendencias temporales visibles, lo que
indicaba un efecto satisfactorio de la diferenciación estacional en la
eliminación del componente estacional de la serie.
# Cálculo de las diferencias normales y estacionales
ndiffs(co_un_ts)
## [1] 0
nsdiffs(co_un_ts)
## [1] 1
# Análisis de las diferencias
#Diferencia estacional / Graficos
co_un.1d<-(diff(co_un_ts));co_un.1d
## Jan Feb Mar Apr May Jun Jul Aug
## 2008 3.6954 1.5569 -6.6595 17.7797 -17.5651 -4.5710 3.7209
## 2009 -9.3409 1.7183 -4.5513 5.8786 13.8384 -20.5161 0.0100 0.1964
## 2010 -12.5071 1.9135 -5.2852 1.4638 12.5439 -13.9984 -1.0965 -1.3912
## 2011 -11.5698 4.0177 -4.4758 6.7170 9.2935 -13.3198 2.2902 -6.8829
## 2012 -10.2689 1.6361 -0.6172 3.8070 6.0648 -11.3915 1.4258 -2.4102
## 2013 -11.2730 5.4288 0.2115 -1.6514 8.8125 -8.4929 -3.9797 3.9894
## 2014 -6.6804 4.5131 -6.6559 1.9941 13.2551 -14.1073 -4.1399 0.3462
## 2015 -7.9838 3.0895 -4.9862 5.5300 8.9782 -16.7852 -0.1477 1.1807
## 2016 -12.4900 3.2639 0.0655 -2.6423 11.0164 -16.7148 3.0597 -1.5170
## 2017 -10.4340 4.1333 -3.0001 4.1071 5.2310 -10.0819 0.1695 -0.6148
## 2018 -12.9494 5.4879 0.0318 -1.1420 3.0249 -10.0620 -0.0669 1.1502
## 2019 -12.7560 6.4366
## Sep Oct Nov Dec
## 2008 -0.4529 -2.9972 2.7037 15.9241
## 2009 1.2655 -2.3292 -1.2239 15.9273
## 2010 2.9609 -3.6125 -0.9460 15.4810
## 2011 4.3934 -4.7579 -1.6658 13.6269
## 2012 2.1523 -5.2222 2.9396 16.9432
## 2013 2.1401 -7.2102 1.4540 11.6812
## 2014 0.6297 -4.2097 0.7579 13.1003
## 2015 3.1427 -2.2251 -0.4282 13.8240
## 2016 4.3475 -5.2742 -3.3672 15.7497
## 2017 5.1297 -6.6527 -0.8019 16.3189
## 2018 4.3299 -7.9777 1.2217 18.1570
## 2019
co_un.1ds<-(diff(co_un_ts,lag = 12,diferences=1));co_un.1ds
## Jan Feb Mar Apr May Jun Jul Aug Sep
## 2009 3.7941 1.8170 -4.2912 8.2469 4.3056 1.3546 5.9356 2.4111 4.1295
## 2010 -2.2931 -2.0979 -2.8318 -7.2466 -8.5411 -2.0234 -3.1299 -4.7175 -3.0221
## 2011 -3.5365 -1.4323 -0.6229 4.6303 1.3799 2.0585 5.4452 -0.0465 1.3860
## 2012 -1.0324 -3.4140 0.4446 -2.4654 -5.6941 -3.7658 -4.6302 -0.1575 -2.3986
## 2013 4.0547 7.8474 8.6761 3.2177 5.9654 8.8640 3.4585 9.8581 9.8459
## 2014 5.7029 4.7872 -2.0802 1.5653 6.0079 0.3935 0.2333 -3.4099 -4.9203
## 2015 -2.5002 -3.9238 -2.2541 1.2818 -2.9951 -5.6730 -1.6808 -0.8463 1.6667
## 2016 -1.3173 -1.1429 3.9088 -4.2635 -2.2253 -2.1549 1.0525 -1.6452 -0.4404
## 2017 -2.4468 -1.5774 -4.6430 2.1064 -3.6790 2.9539 0.0637 0.9659 1.7481
## 2018 0.9887 2.3433 5.3752 0.1261 -2.0800 -2.0601 -2.2965 -0.5315 -1.3313
## 2019 1.3988 2.3475
## Oct Nov Dec
## 2009 4.7975 0.8699 0.8731
## 2010 -4.3054 -4.0275 -4.4738
## 2011 0.2406 -0.4792 -2.3333
## 2012 -2.8629 1.7425 5.0588
## 2013 7.8579 6.3723 1.1103
## 2014 -1.9198 -2.6159 -1.1968
## 2015 3.6513 2.4652 3.1889
## 2016 -3.4895 -6.4285 -4.5028
## 2017 0.3696 2.9349 3.5041
## 2018 -2.6563 -0.6327 1.2054
## 2019
co_un.1drs<-(diff(co_un.1d,lag = 12,diferences=1));co_un.1drs
## Jan Feb Mar Apr May Jun Jul Aug Sep
## 2009 -1.9771 -6.1082 12.5381 -3.9413 -2.9510 4.5810 -3.5245 1.7184
## 2010 -3.1662 0.1952 -0.7339 -4.4148 -1.2945 6.5177 -1.1065 -1.5876 1.6954
## 2011 0.9373 2.1042 0.8094 5.2532 -3.2504 0.6786 3.3867 -5.4917 1.4325
## 2012 1.3009 -2.3816 3.8586 -2.9100 -3.2287 1.9283 -0.8644 4.4727 -2.2411
## 2013 -1.0041 3.7927 0.8287 -5.4584 2.7477 2.8986 -5.4055 6.3996 -0.0122
## 2014 4.5926 -0.9157 -6.8674 3.6455 4.4426 -5.6144 -0.1602 -3.6432 -1.5104
## 2015 -1.3034 -1.4236 1.6697 3.5359 -4.2769 -2.6779 3.9922 0.8345 2.5130
## 2016 -4.5062 0.1744 5.0517 -8.1723 2.0382 0.0704 3.2074 -2.6977 1.2048
## 2017 2.0560 0.8694 -3.0656 6.7494 -5.7854 6.6329 -2.8902 0.9022 0.7822
## 2018 -2.5154 1.3546 3.0319 -5.2491 -2.2061 0.0199 -0.2364 1.7650 -0.7998
## 2019 0.1934 0.9487
## Oct Nov Dec
## 2009 0.6680 -3.9276 0.0032
## 2010 -1.2833 0.2779 -0.4463
## 2011 -1.1454 -0.7198 -1.8541
## 2012 -0.4643 4.6054 3.3163
## 2013 -1.9880 -1.4856 -5.2620
## 2014 3.0005 -0.6961 1.4191
## 2015 1.9846 -1.1861 0.7237
## 2016 -3.0491 -2.9390 1.9257
## 2017 -1.3785 2.5653 0.5692
## 2018 -1.3250 2.0236 1.8381
## 2019
par(mfrow=c(1,2))
plot(co_un.1drs,type="l",main= "Primeras diferencias regulares estacionales")
par(mfrow=c(1,2))

ggtsdisplay(co_un.1drs)

Con el fin de buscar una transformación que logre estacionarizar la
serie, se decidió aplicar una diferencia estacional inicialmente. Sin
embargo, a pesar de esta transformación, la serie aún no cumplió con el
criterio de estacionariedad según el test de Dickey-Fuller.
Dado este resultado, se optó por aplicar una diferencia regular
adicional a la serie con el objetivo de eliminar cualquier tendencia
temporal remanente. Esta estrategia busca obtener una serie estacionaria
al eliminar gradualmente cualquier patrón sistemático en los datos.
Se procederá a realizar el análisis utilizando la diferencia regular
y se evaluarán nuevamente las propiedades de estacionariedad de la serie
a través de pruebas adicionales y análisis de los gráficos de
autocorrelación y autocorrelación parcial.
Además, se examinaron los autocorrelogramas (ACF) y los
autocorrelogramas parciales (PACF) de las diferencias estacionales. Se
observó que el primer rezago tenía una correlación alta, lo que indicaba
una relación significativa entre los valores actuales y los valores
rezagados en el mismo período estacional. Sin embargo, a medida que
aumentaban los rezagos, las correlaciones disminuían gradualmente.
Aunque varios rezagos aún rebasaban las bandas de confianza en los
gráficos de ACF y PACF, esta disminución en la correlación sugería una
posible eliminación de la autocorrelación estacional después de aplicar
las diferencias estacionales.
Prueba Dickey Fuller y eliminación de tendencias
Después de aplicar tanto una diferencia regular como una diferencia
estacional a la serie de tiempo, se realizó nuevamente la prueba de
Dickey-Fuller. En esta ocasión, los resultados mostraron que la serie
ahora es estacionaria, con un valor de p significativamente menor de
0.01. Esto indica que se ha logrado eliminar la raíz unitaria y que la
serie exhibe propiedades de estacionariedad.
ACF y PACF
El análisis de la función de autocorrelación (ACF) y la función de
autocorrelación parcial (PACF) revela patrones interesantes en la serie
derivada que combina una diferencia regular y una diferencia estacional.
En el gráfico ACF, se observa que el primer rezago presenta una
correlación notablemente alta, mientras que los rezagos posteriores
disminuyen gradualmente y se vuelven insignificantes. Sin embargo,
algunos rezagos aún rebasan las líneas de confianza establecidas en el
gráfico.
Este patrón en el ACF sugiere que tanto la diferencia regular como
la diferencia estacional han sido efectivas para eliminar las
autocorrelaciones significativas en la serie. La alta correlación en el
primer rezago indica que existe una dependencia temporal fuerte entre
las observaciones adyacentes después de aplicar las diferencias. Sin
embargo, la disminución de las correlaciones en los rezagos posteriores
indica que la influencia de las observaciones pasadas se desvanece
rápidamente.
El hecho de que algunos rezagos todavía rebasen las líneas de
confianza en el gráfico ACF sugiere que puede haber patrones residuales
en la serie que no han sido completamente capturados por las diferencias
aplicadas.
# Gráfica de diferencia regular estacional
ggtsdisplay(co_un.1drs)

Elección de modelo
El criterio de Akaike (AIC) es como una balanza que nos ayuda a
elegir el mejor modelo para nuestros datos. Quiere encontrar un modelo
que se ajuste bien a los datos pero que no sea demasiado complicado. El
AIC no le gusta a los modelos complicados, prefiere aquellos que se
ajustan bien con menos “cosas” en ellos. Cuando minimizamos el valor del
AIC, estamos eligiendo el modelo que ofrece el mejor equilibrio entre
ajuste y simplicidad. En resumen, el AIC nos ayuda a encontrar el modelo
más ajustado pero con la menor cantidad de complicaciones.Para ello se
usa la función auto.arima, que da el mejor modelo para la serie
diferenciada.
mejor = auto.arima(co_un.1drs)
summary(mejor)
## Series: co_un.1drs
## ARIMA(2,0,2)(0,0,1)[12] with zero mean
##
## Coefficients:
## ar1 ar2 ma1 ma2 sma1
## -1.0582 -0.2829 0.5358 -0.4204 -0.6812
## s.e. 0.1488 0.1465 0.1570 0.1439 0.1077
##
## sigma^2 = 6.242: log likelihood = -285.1
## AIC=582.2 AICc=582.94 BIC=598.98
##
## Training set error measures:
## ME RMSE MAE MPE MAPE MASE
## Training set -0.01115467 2.446293 1.989663 -671.1804 867.1415 0.4964725
## ACF1
## Training set 0.004921728
Resultados del modelo
ARIMA(2,0,2): Indica que el modelo incluye dos términos
autoregresivos (AR) de orden 1 y 2, y dos términos de media móvil (MA)
de orden 1 y 2. Estos términos capturan las dependencias lineales de los
valores pasados y los residuos pasados.
(0,0,1): Indica que hay un término de media móvil estacional (SMA)
de orden 1. Este término captura la dependencia estacional de la serie
temporal.
- ar1: -1.0582: Es el coeficiente estimado del primer término
autoregresivo (AR) en el modelo ARIMA.
- ar2: -0.2829: Es el coeficiente estimado del segundo término
autoregresivo (AR) en el modelo ARIMA.
- ma1: 0.5358: Es el coeficiente estimado del primer término de
media móvil (MA) en el modelo ARIMA.
- ma2: -0.4204: Es el coeficiente estimado del segundo término de
media móvil (MA) en el modelo ARIMA.
- sma1: -0.6812: Es el coeficiente estimado del primer término de
media móvil estacional (SMA) en un posible modelo SARIMA.
Análisis de los residuos
#Pruebas a los Residuales del mejor modelo
RE<-residuals(mejor)
par(mfrow=c(1,2))
acf(RE,main='ACF Residuales de MA(6)',xlab='Retardos')
pacf(RE,main='PACF Residuales de MA(6)',xlab='Retardos')

#Pruebas a los Residuales al cuadrado del mejor modelo
RE2<-RE^2
#par(mfrow=c(1,2))
acf(RE2,main='ACF Residuales de MA (6) al cuadrado',xlab='Retardos')
pacf(RE2,main='PACF Residuales de MA (6) al cuadrado',xlab='Retardos')

# Realizamos la prueba de normalidad Shapiro Wilk test
#H0:La distribución es normal
#H1:La distribución no es normal
shapiro.test(RE)
##
## Shapiro-Wilk normality test
##
## data: RE
## W = 0.99331, p-value = 0.8343
#pvalue<=0.05 rechazo Ho
#pvalue> 0.05 acepto Ho
#Buscamos valores más grandes a 0.05 en el pvalue para
#Afirmar que los residuos provienen de una distribución normal
##supuestos del error: ho= ruido blanco; h1: los errores cuadrados estan relacioandos
Box.test(RE,1,type="Ljung") # VERIFICA QUE LOS RESIDUOS SE COMPORTAN COMO RUIDO BLANCO
##
## Box-Ljung test
##
## data: RE
## X-squared = 0.0030043, df = 1, p-value = 0.9563
Box.test(RE2,1,type="Ljung")
##
## Box-Ljung test
##
## data: RE2
## X-squared = 0.081996, df = 1, p-value = 0.7746
# Pruebas de heterocedasticidad condicional en el modelo
resultado_lm <- lmtest::bptest(RE2 ~ 1 + lag(RE2, k = 1) + lag(RE2, k = 2))
print(resultado_lm)
##
## studentized Breusch-Pagan test
##
## data: RE2 ~ 1 + lag(RE2, k = 1) + lag(RE2, k = 2)
## BP = 28.048, df = 1, p-value = 1.184e-07
# Imprimir los resultados
Pruebas de normalidad y heterocedasticidad
- Prueba de Box-Ljung: El valor de la prueba para la serie RE es
X-squared = 0.0030043, con un p-valor de 0.9563. Para la serie RE2, el
valor de la prueba es X-squared = 0.081996, con un p-valor de 0.7746. No
se encontró evidencia significativa de autocorrelación en los residuos
en ambos casos.
- Prueba de Breusch-Pagan: La prueba indica que hay evidencia
significativa de heterocedasticidad en los residuos de la serie RE2. El
valor de la prueba es BP = 28.048, con un p-valor de 1.184e-07.
- Prueba de Q(m) de la serie al cuadrado (prueba de LM): No se
encontró evidencia suficiente para concluir la presencia de
heterocedasticidad en los residuos al cuadrado. El valor del estadístico
de prueba es 28.59578, con un p-valor de 0.5388967.
Dado que se observa la presencia de heterocedasticidad en los
residuales, se concluye que es posible modelar la varianza.
Modelo GARCH de la varianza
dis_garch10<-ugarchspec(mean.model = list(armaOrder = c(1,1), include.mean=F),
variance.model = list(garchOrder = c(1,1)))
ugfit = ugarchfit (spec = dis_garch10, data = co_un.1drs);ugfit #Estimación del modelo
##
## *---------------------------------*
## * GARCH Model Fit *
## *---------------------------------*
##
## Conditional Variance Dynamics
## -----------------------------------
## GARCH Model : sGARCH(1,1)
## Mean Model : ARFIMA(1,0,1)
## Distribution : norm
##
## Optimal Parameters
## ------------------------------------
## Estimate Std. Error t value Pr(>|t|)
## ar1 -0.06024 0.162158 -0.371486 0.710276
## ma1 -0.45055 0.138828 -3.245363 0.001173
## omega 0.00000 0.002494 0.000111 0.999912
## alpha1 0.00000 0.000098 0.000001 0.999999
## beta1 0.99823 0.000109 9131.014639 0.000000
##
## Robust Standard Errors:
## Estimate Std. Error t value Pr(>|t|)
## ar1 -0.06024 0.127684 -4.7179e-01 0.637079
## ma1 -0.45055 0.108513 -4.1520e+00 0.000033
## omega 0.00000 0.000342 8.0600e-04 0.999357
## alpha1 0.00000 0.000079 1.0000e-06 0.999999
## beta1 0.99823 0.000093 1.0787e+04 0.000000
##
## LogLikelihood : -302.2849
##
## Information Criteria
## ------------------------------------
##
## Akaike 5.0791
## Bayes 5.1946
## Shibata 5.0759
## Hannan-Quinn 5.1260
##
## Weighted Ljung-Box Test on Standardized Residuals
## ------------------------------------
## statistic p-value
## Lag[1] 0.002327 0.9615
## Lag[2*(p+q)+(p+q)-1][5] 2.937857 0.5114
## Lag[4*(p+q)+(p+q)-1][9] 4.514605 0.5677
## d.o.f=2
## H0 : No serial correlation
##
## Weighted Ljung-Box Test on Standardized Squared Residuals
## ------------------------------------
## statistic p-value
## Lag[1] 0.708 0.4001
## Lag[2*(p+q)+(p+q)-1][5] 1.926 0.6360
## Lag[4*(p+q)+(p+q)-1][9] 2.893 0.7765
## d.o.f=2
##
## Weighted ARCH LM Tests
## ------------------------------------
## Statistic Shape Scale P-Value
## ARCH Lag[3] 1.134 0.500 2.000 0.2870
## ARCH Lag[5] 1.792 1.440 1.667 0.5191
## ARCH Lag[7] 2.266 2.315 1.543 0.6612
##
## Nyblom stability test
## ------------------------------------
## Joint Statistic: 1.8877
## Individual Statistics:
## ar1 0.05491
## ma1 0.05687
## omega 0.18706
## alpha1 0.15557
## beta1 0.19262
##
## Asymptotic Critical Values (10% 5% 1%)
## Joint Statistic: 1.28 1.47 1.88
## Individual Statistic: 0.35 0.47 0.75
##
## Sign Bias Test
## ------------------------------------
## t-value prob sig
## Sign Bias 1.3381 0.18348
## Negative Sign Bias 2.1851 0.03089 **
## Positive Sign Bias 0.6283 0.53102
## Joint Effect 5.3252 0.14947
##
##
## Adjusted Pearson Goodness-of-Fit Test:
## ------------------------------------
## group statistic p-value(g-1)
## 1 20 16.02 0.6556
## 2 30 19.08 0.9192
## 3 40 36.69 0.5759
## 4 50 41.40 0.7714
##
##
## Elapsed time : 0.09836984
Resultados de la modelación de la varianza
Los coeficientes obtenidos son:
- ar1: El coeficiente ar1 tiene un valor de 0.05491. Este
coeficiente representa la influencia de la observación anterior en el
modelo GARCH. Un valor positivo indica que una observación positiva en
el pasado aumenta la volatilidad actual.
- ma1: El coeficiente ma1 tiene un valor de 0.05687. Este
coeficiente representa la influencia del error pasado en el modelo
GARCH. Un valor positivo indica que un error positivo en el pasado
aumenta la volatilidad actual.
- omega: El coeficiente omega tiene un valor de 0.18706. Este
coeficiente es el término constante en el modelo GARCH y representa la
varianza constante o el nivel básico de volatilidad. Un valor mayor
indica una mayor varianza constante.
- alpha1: El coeficiente alpha1 tiene un valor de 0.15557. Este
coeficiente representa la influencia de la volatilidad pasada en el
modelo GARCH. Un valor mayor indica que una alta volatilidad pasada
tiene un impacto significativo en la volatilidad actual.
- beta1: El coeficiente beta1 tiene un valor de 0.19262. Este
coeficiente representa la influencia del cuadrado del error pasado en el
modelo GARCH. Un valor mayor indica que un error pasado grande aumenta
la volatilidad actual de manera significativa.
En resumen, los coeficientes obtenidos indican la relación entre las
observaciones pasadas y la volatilidad actual en el modelo GARCH. Los
coeficientes positivos indican que las observaciones pasadas tienen un
impacto positivo en la volatilidad actual, mientras que los coeficientes
mayores indican una influencia más fuerte. Estos coeficientes son
fundamentales para comprender y modelar la dinámica de la varianza en la
serie de tiempo.
Los resultados indican que el modelo GARCH ajustado a un modelo
ARIMA(2,0,2)(0,0,1) no muestra una significancia estadística en la
estadística conjunta, ya que el valor de 1.8877 no supera el valor
crítico de 1.88 al nivel de significancia del 1%. Sin embargo, se
observa que los parámetros individuales tienen valores distintos de
cero, lo que implica una contribución significativa de cada uno al
modelo de varianza.
Conclusiones
En este estudio, se aplicaron diferencias regulares y estacionales a
los datos con el objetivo de lograr estacionariedad y superar la prueba
de Dickey-Fuller. Esta estrategia fue efectiva, ya que las diferencias
aplicadas permitieron que los datos se volvieran estacionarios y se
obtuviera un p-valor significativo en la prueba de Dickey-Fuller.
Posteriormente, se utilizó el criterio de Akaike para seleccionar el
mejor modelo de ajuste. Este criterio considera tanto la capacidad de
ajuste del modelo como su complejidad, favoreciendo aquellos modelos que
logran un buen ajuste con menos parámetros. Al seleccionar el modelo con
el valor más bajo de Akaike, se garantiza una buena combinación de
ajuste y parsimonia.
Sin embargo, al analizar los residuos del modelo seleccionado, se
encontró heterocedasticidad, lo que implica que la varianza de los
residuos no es constante en el tiempo. Para abordar este problema, se
aplicó un modelo GARCH para modelar la varianza condicional de los
residuos. Esto permite capturar los patrones de volatilidad en los
residuos y obtener estimaciones más precisas.
En resumen, mediante la aplicación de diferencias regulares y
estacionales, se logró convertir los datos en estacionarios y
seleccionar el mejor modelo de acuerdo con el criterio de Akaike. Sin
embargo, se identificó heterocedasticidad en los residuos, lo que llevó
a la implementación de un modelo GARCH para modelar la varianza
condicional. Este enfoque integral permite capturar tanto la dinámica
temporal como la estructura de volatilidad en los datos, mejorando la
calidad del modelo y las estimaciones resultantes.