INTRODUCCIÓN

A lo largo de la historia se han implementado cientos de herramientas que ayudan a medir el crecimiento y el desarrollo de un país. Estas herramientas han sido de carácter económico, político e incluso social. No obstante, una de las herramientas que más importancia tiene para la medición del crecimiento económico, es el Producto Interno Bruto. Ya que este es capaz de medir el valor total de los bienes y servicios finales producidos en una economía. Y dentro de estos bienes y servicios producidos, integra tres grandes sectores: el sector agropecuario, industrial y de servicios. Además de que es un indicador base para tomar decisiones de política económica.

Pero ¿es la medición del PIB totalmente confiable y certera? Jonathan Heath en su libro “Lo que indican los indicadores”, menciona que el PIB es uno de los indicadores más valiosos y que la mayoría de los países lo toman para medir su crecimiento, sin embargo, hay países que prefieren ponerlo en segundo o tercer lugar, pues “vale la pena aclarar que no mide absolutamente todo y, a veces, su comportamiento puede ocultar factores importantes o engañar en cuanto al verdadero estado de salud del país, dado que su frecuencia es trimestral, no tiene el impacto tan regular sobre los mercados que pudieran tener otros de mayor frecuencia”. (Heath, 2012)

Es por esto, que el presente trabajo tiene la intención de generar un pronóstico sobre el PIB de 2019 y 2020 por medio del modelo ARIMA, el cual es capaz de aplicarse en series de tiempo con la finalidad de obtener valores futuros. Se pretende hacer una comparación entre el resultado arrojado por el modelo, y el PIB real que existió en el 2019 y 2020, así como una explicación puntual de los eventos suscitados que marcan el margen de error.

PIB

El PIB es una herramienta eficiente que permite dimensionar el crecimiento económico en un país. Cuando el PIB de una economía presenta aumentos o tendencia al aumento revela que la salud de la economía expone avances. Asimismo, permite generar un pronóstico del comportamiento de los precios y tasas de interés en un fututo. Las empresas utilizan estos pronósticos para evaluar la toma decisiones importantes en relación con la expansión de sus actividades. Pero estos pronósticos también son de suma importancia dentro de la elaboración de políticas económicas, ya sea para mantener un crecimiento constante o incentivar el mismo.

Existen dos variantes en el Producto Interno Bruto, es decir, el PIB nominal y el PIB real. El primero hace referencia al valor calculado en precios corrientes o de mercado (no contemplan la inflación), mientras que el segundo se refiere al valor de la producción a precios constantes (deflactados). Es por esto por lo que el PIB real es el que se considera para determinar el crecimiento de una economía.

Ya que en el presente trabajo se tomarán datos de 1994 a 2018, se proporcionará un poco de contexto histórico en estos años. El año 1982 se marca el inicio de una nueva etapa con la instrumentación de un nuevo modelo o paradigma llamado neoliberalismo que pondría fin a la fuerte intervención del Estado en algunas actividades económica. La apertura externa se coronó con la firma y entrada en vigor del Tratado de Libre Comercio de América del Norte (TLCAN) en 1994.

Posteriormente, la devaluación de 1994 tuvo tres elementos detonantes: un creciente déficit en cuenta corriente, los lamentables asesinatos políticos de 1994 y la información privilegiada a la que tuvieron acceso algunos empresarios que vaciaron las reservas internacionales ante el inminente ajuste cambiario. Esa crisis sólo pudo ser superada gracias al rescate financiero del FMI y del Gobierno de Estados Unidos por 25 mil millones de dólares. A inicio de la década de 2000-2010, el objetivo de estabilidad económica, reflejada en una tasa de inflación de un dígito, ha sido alcanzado. Sin embargo, la estabilidad económica no es garantía de desarrollo y crecimiento económico. La economía mexicana crecía, en promedio, solamente un 2% cada año.

Finalmente, a Calderón le tocó la peor de las crisis en 2009, (7) importada originalmente de los Estados Unidos, se extendió al mundo entero, pero principalmente a Europa. Los efectos de estas 3 crisis se aprecian con caídas del PIB; en 1995 con Zedillo, del -6.29%, la peor de la historia reciente; en 2001 con Fox del -0.40% y en 2009 con Calderón del -5.29%, todas en PIB base 2013. A partir de 2015 el PIB de 3.29% comenzó a declinar como sigue: 2016 2.63%; 2017 2.11% y 2018 2.20%. Síntomas de recesión de la economía.

Es aquí donde se puede implementar un modelo autorregresivo integrado de promedio móvil o ARIMA (por sus siglas en inglés) para estimar de manera oportuna el PIB de trimestres posteriores. En este trabajo se contemplan 100 datos trimestrales para pronosticar el PIB a precios constantes de 2019 y 2020, partiendo del año 1994 y finalizando en el año 2018. Los datos serán recopilados del sitio web oficial del Instituto Nacional de Estadística y Geografía.

MODELO ARIMA

En un mundo utópico los seres humanos no necesitarían de tanto esfuerzo para vivir, pues no habría complicaciones que produzcan conflictos cognitivos que resolver, las cosas fluirían en armonía e incluso las series temporales serían estacionarias (media y varianza constante) lo cual no preocuparía a las personas con la incertidumbre de su evolución. Pero, en el mundo real la mayoría de las series temporales no son estacionarias es así como los modelos ARIMA surgen, una de la metodología de Box-Jenkins.

ARIMA es la abreviatura de “Auto Regressive Integrated Moving Average”, consiste en un modelo estadístico que utiliza variaciones y regresiones de datos estadísticos con el fin de encontrar patrones para una predicción hacia el futuro, es decir, las estimaciones futuras vienen explicadas por los datos del pasado y no por variables independientes, para ello una serie no estacionaria mediante n diferenciaciones se puede volver estacionaria y utilizar en el modelo.

Los modelos ARIMA son de gran utilidad en muchos campos. Por ejemplo en la economía son de gran utilidad para la predicción en el corto plazo, debido a su capacidad de aprender de los cambios en la dinámica de la serie, dando así un punto de referencia, además de que son baratos y rápidos de construir, pues la mayoría de series temporales económicas no son estacionarias. Entre las desventajas que se puede mencionar están la aplicabilidad a series con un número grande de observaciones, de por lo menos 30 datos para series afectadas solamente por la componente regular, y como mínimo 50 datos en series con estacionalidad, lo cual no permite ser aplicable a muchas variables económicas, por no contarse con la cantidad necesaria de datos.

DESARROLLO

El propósito principal del proyecto es utilizar las herramientas vistas a lo largo del curso, en este caso es el software de RStudio, el cuál es un entorno de desarrollo integrado, es decir un programa para manejar el lenguaje de programación R y utilizarlo de manera más cómoda en algunos aspectos. Entre todo lo que se puede realizar en el programa tenemos que en R podemos utilizar muchos tipos de modelos estadísticos: desde regresión lineal hasta redes neuronales, además de graficar y realizar cálculos matemáticos.

Lo que se presenta a continuación es una serie de funciones y gráficas que nos brinda RStudio para lograr hacer el pronóstico del PIB mediante un modelo ARIMA, para lo cual se describe cada paso desarrollado para llegar al resultado final.

1. Importar los datos

Arimar <- read.xlsx("Arimar.xlsx")

2. Convertir los datos en serie de tiempo y graficarla

Arimar.ts <- ts(Arimar, start=c(1994,1), frequency = 4)
print(Arimar.ts)
##          Qtr1     Qtr2     Qtr3     Qtr4
## 1994 10343388 10772526 10602753 10952773
## 1995 10189745  9795719  9802904 10198513
## 1996 10426431 10569228 10583112 11116527
## 1997 10862932 11460068 11408201 11887380
## 1998 11827638 12034464 11972372 12139817
## 1999 12100155 12315219 12325229 12554686
## 2000 12725022 12994569 13008792 13003302
## 2001 12796119 12967530 12857409 12901429
## 2002 12415541 13112363 12889950 13084104
## 2003 12803324 13182930 12954913 13305707
## 2004 13252630 13732336 13438260 13872035
## 2005 13354788 14104834 13782144 14306524
## 2006 14107960 14700504 14435868 14800897
## 2007 14393727 14993339 14783298 15204939
## 2008 14563428 15386334 14979495 15125054
## 2009 13752149 14012938 14231941 14882966
## 2010 14371721 14998399 14921453 15499605
## 2011 14902733 15413047 15526015 16139539
## 2012 15619752 16027465 15952811 16638866
## 2013 15719788 16361864 16186109 16840988
## 2014 16162068 16743445 16649896 17408792
## 2015 16710214 17261228 17331655 17866336
## 2016 17166340 17780991 17625602 18416024
## 2017 17757881 18085473 17900776 18744915
## 2018 18017127 18667812 18405690 18989547

Se utiliza el comando \(ts\) donde se indica el año en el que comienza y el trimestre, así como los trimestres por año. Aunque visualmente se observa que no es estacionaria se requiere hacer la prueba Dickey-Fuller.

3. Verificar si es estacionaria mediante la prueba Dickey-Fuller

## 
##  Augmented Dickey-Fuller Test
## 
## data:  Arimar.ts
## Dickey-Fuller = -3.3533, Lag order = 4, p-value = 0.06627
## alternative hypothesis: stationary

En este pasó se utiliza la prueba Dickey-Fuller para verificar si es estacionaria o no, esta función está en R y se llama \(daf.test\). Prácticamente consiste en detectar estadísticamente la presencia de conducta tendencial estocástica en las series temporales de las variables mediante un contraste de hipótesis, es decir cuanto más cerca esté el primer coeficiente de un modelo AR(1) de 1, más tardarán las observaciones a volver al valor medio. Esto es sinónimo de no estacionariedad ya que, si el proceso estocástico fuera estable, este coeficiente sería menor a 1 o muy próximo a 0. En este caso los parámetros son: si \(p>0.05\) la serie de tiempo no es estacionaria, mientras que si \(p<0.05\) se comprueba la estacionariedad.

Como se observa el resultado es de \(0.06627\) indicando que no es estacionaria

4. Volver la serie estacionaria mediante logaritmos y ver si es estacionaria

serielog <- log(Arimar.ts)
serielog
##          Qtr1     Qtr2     Qtr3     Qtr4
## 1994 16.15186 16.19251 16.17662 16.20910
## 1995 16.13689 16.09746 16.09819 16.13775
## 1996 16.15985 16.17346 16.17477 16.22394
## 1997 16.20087 16.25438 16.24984 16.29099
## 1998 16.28595 16.30329 16.29811 16.31200
## 1999 16.30873 16.32635 16.32716 16.34560
## 2000 16.35908 16.38004 16.38114 16.38071
## 2001 16.36465 16.37796 16.36943 16.37285
## 2002 16.33446 16.38907 16.37196 16.38691
## 2003 16.36522 16.39443 16.37699 16.40370
## 2004 16.39971 16.43526 16.41362 16.44539
## 2005 16.40739 16.46203 16.43888 16.47623
## 2006 16.46225 16.50339 16.48523 16.51020
## 2007 16.48230 16.52312 16.50901 16.53713
## 2008 16.49402 16.54899 16.52219 16.53186
## 2009 16.43671 16.45549 16.47100 16.51573
## 2010 16.48077 16.52345 16.51831 16.55633
## 2011 16.51706 16.55072 16.55803 16.59678
## 2012 16.56405 16.58981 16.58515 16.62725
## 2013 16.57043 16.61046 16.59966 16.63933
## 2014 16.59818 16.63352 16.62791 16.67249
## 2015 16.63153 16.66397 16.66805 16.69843
## 2016 16.65846 16.69364 16.68486 16.72873
## 2017 16.69234 16.71062 16.70035 16.74643
## 2018 16.70683 16.74231 16.72817 16.75940
adf.test(serielog, alternative = "stationary")
## 
##  Augmented Dickey-Fuller Test
## 
## data:  serielog
## Dickey-Fuller = -3.3806, Lag order = 4, p-value = 0.06171
## alternative hypothesis: stationary

Existen varios métodos para corregir la “no estacionariedad”, estos consisten en realizar una serie de transformaciones en los datos que eliminan características típicas como los cambios en la varianza y en la media.

El primero es la transformación logarítmica que hace que la dispersión sea más o menos constante a medida que crece la media. En este caso se aplicó la función \(log\) junto con la prueba Dickey-Fuller y se obtuvo un resultado de \(0.06171\), aunque desde la gráfica se sigue viendo la no estacionariedad.

Si una serie temporal tiene una media constante a lo largo del tiempo, decimos que es estacionaria con respecto a la media. Si tiene varianza constante con respecto al tiempo, decimos que es estacionaria en varianza. Si una serie temporal es estacionaria (en media y en varianza) encontrar un modelo que explique su autocorrelación es mucho más fácil pero para este caso no es así.

5. Volver la serie estacionaria mediante diferencias y verificar si es estacionaria

seriedif <- diff(Arimar.ts, differences = 2)
adf.test(seriedif, alternative = "stationary")
## Warning in adf.test(seriedif, alternative = "stationary"): p-value smaller than
## printed p-value
## 
##  Augmented Dickey-Fuller Test
## 
## data:  seriedif
## Dickey-Fuller = -6.36, Lag order = 4, p-value = 0.01
## alternative hypothesis: stationary

El segundo método es la transformación que elimina la tendencia (o que es lo mismo, induce estacionariedad en media) es la diferenciación. Tomar una diferencia regular consiste en calcular la diferencia entre cada dato y el anterior. Siempre se pierde el primer dato de la serie.

Para este caso se utilizaron 2 diferencias y la función \(diff\), de acuerdo a la prueba el valor de \(p=0.01\), indicando estacionariedad y además en la gráfica se puede apreciar por que los datos se encuentran alrededor de la media 0. Esto nos da paso para comenzar a hacer nuestro modelo ARIMA.

6. Obtener las funciones de autocorrelación y autocorrelación parcial

La autocorrelación y la autocorrelación parcial son medidas de asociación entre valores de series actuales y pasadas e indican cuáles son los valores de series pasadas más útiles para predecir valores futuros. Estas funciones sirven para saber cuántas medias móviles y autoregresivos se van a utilizar en el modelo.

Para este caso se utiliza el comando \(acf\) para la autocorrelación y \(pacf\) para la autocorrelación parcial. El \(acf\) nos da el número de medias móviles y el \(pacf\) el número de autoregresivos; es más fácil de ver gráficamente estos datos por ello se utilizan las gráficas, se visualizan juntas porque se utilizó el comando \(par\) para mayor practicidad y además se hizo coincidir los rezagos con las frecuencias. Estas bandas de significación se utilizan para saber qué coeficientes son distintos de cero (fuera de bandas) y cuales no (dentro de bandas) y así estimar los valores.

Finalmente se tiene que el número de medias móviles es \(20\) y el de autoregresivos es \(3\), con estos datos podrá determinar el orden de los procesos en un modelo ARIMA.

7. Hacer el modelo ARIMA

modelo <- arima(Arimar.ts,order=c(3,2,20))
summary(modelo)
## 
## Call:
## arima(x = Arimar.ts, order = c(3, 2, 20))
## 
## Coefficients:
## Warning in sqrt(diag(x$var.coef)): Se han producido NaNs
##           ar1      ar2      ar3     ma1     ma2      ma3     ma4      ma5
##       -0.9835  -0.9848  -0.9811  -4e-04  0.0319  -0.3236  -0.898  -0.0289
## s.e.      NaN      NaN      NaN     NaN     NaN      NaN     NaN   0.1640
##           ma6     ma7   ma8      ma9    ma10     ma11    ma12    ma13    ma14
##       -0.0976  0.1246  0.09  -0.1325  0.0094  -0.3539  0.1694  -0.019  0.3346
## s.e.      NaN     NaN   NaN   0.1245     NaN      NaN  0.0965     NaN     NaN
##         ma15    ma16     ma17    ma18    ma19     ma20
##       0.1024  -0.051  -0.0324  0.0592  0.0699  -0.0133
## s.e.  0.0304     NaN      NaN     NaN     NaN      NaN
## 
## sigma^2 estimated as 3.688e+10:  log likelihood = -1341.73,  aic = 2731.45
## 
## Training set error measures:
##                    ME     RMSE      MAE        MPE     MAPE      MASE
## Training set 13026.54 190118.5 139101.4 0.07681518 1.025647 0.3553077
##                      ACF1
## Training set -0.009450368

Para hacer el modelo se utiliza la función \(arima\) con los argumentos de la serie de tiempo original (Arimar.ts) y el order que contiene \(3\) autoregresivos, \(2\) diferencias y \(20\) medias móviles. El modelo nos da como resultado los coeficientes para los autoregresivos y las media móviles, así como su error; se gráfica por el comando \(tsdiag\) para hacer el diagnóstico del modelo para ver si es eficiente. La primera gráfica es de los errores estandarizados que debe ser similar al ruido blanco. En la última gráfica están los valores estadísticos de Ljung-Box \(p\), una herramienta que nos ayuda a revisar la existencia o no del ruido blanco

8. Hacer la prueba del ruido blanco

Box.test(residuals(modelo),type="Ljung-Box") #ruido blanco
## 
##  Box-Ljung test
## 
## data:  residuals(modelo)
## X-squared = 0.0092016, df = 1, p-value = 0.9236

Mediante la prueba del ruido blanco por la hipótesis de \(Ljung-Box\) se comprueba la existencia de ruido blanco, esto verifica si el modelo está ajustado, en otras palabras, indica que el error tiene media cero, la varianza es constante y no está correlacionada. Los parámetros de \(p\) son: \(p>0.05\) hay ruido blanco, \(p<0.05\) no hay ruido blanco.

En este caso se obtiene que \(p=0.9236\) haciendo referencia a la existencia de ruido blanco y confirmando la eficiencia del modelo.

9. Verificar el error del modelo

error <- residuals(modelo)
error
##             Qtr1        Qtr2        Qtr3        Qtr4
## 1994    4625.694  -12917.185 -132861.636   -3338.974
## 1995 -304932.915 -506889.255  273486.220   82253.140
## 1996  437790.956  141177.253   80666.714  223454.880
## 1997   -3748.522  366910.196  -19150.132 -150512.903
## 1998  131859.230   79874.164  -16643.210  -45996.921
## 1999   70501.157   37069.245   64052.929   26533.657
## 2000  340208.667  -15120.865  -15209.010 -145824.407
## 2001 -101540.701  -30440.554 -139047.334 -141773.263
## 2002 -352668.029  528087.958 -215314.668  -25709.008
## 2003   -1913.828   44277.411 -338855.891  185325.608
## 2004  165063.467  -29491.648 -264070.369  175922.595
## 2005 -102897.828  127648.379  -27983.521   -8539.367
## 2006  232626.269  -29672.731  126171.470  -91576.947
## 2007   -1402.227  -41011.079  164448.884 -109610.451
## 2008  -93927.665  220137.898 -113558.774 -318201.559
## 2009 -729830.443 -300475.673  313826.109   77471.239
## 2010  -25955.086  225605.794  -87930.664   52679.245
## 2011   72016.653  -95658.380   -4811.170  -95473.700
## 2012   61018.589   91113.676   46829.861  109295.765
## 2013 -364924.521  215180.993   95711.912  -18091.055
## 2014 -101109.415  160711.799   48794.066  180792.381
## 2015  -32675.775  100134.973  265249.650 -193544.804
## 2016   78379.930  219192.241   14685.511   64962.029
## 2017  183376.550 -149443.011  129794.079  193157.179
## 2018  -59608.761  255588.840   20653.732  -91856.585

El cálculo del error mediante el comando \(residuals\) nos ayuda a corroborar la existencia de ruido blanco, tal y como se ve en la gráfica esto se comprueba.

10. Realizar pronósticos con el Modelo ARIMA

pronostico <- forecast::forecast(modelo,h=8)
pronostico
##         Point Forecast    Lo 80    Hi 80    Lo 95    Hi 95
## 2019 Q1       18269634 18017944 18521323 17884708 18654560
## 2019 Q2       18621315 18263457 18979173 18074018 19168611
## 2019 Q3       18411616 17965881 18857350 17729923 19093308
## 2019 Q4       19050719 18568128 19533309 18312660 19788777
## 2020 Q1       18491948 17963795 19020101 17684208 19299688
## 2020 Q2       18805466 18236669 19374263 17935566 19675366
## 2020 Q3       18569168 17967749 19170588 17649377 19488960
## 2020 Q4       19213186 18593912 19832461 18266088 20160285
## Warning: `filter_()` was deprecated in dplyr 0.7.0.
## Please use `filter()` instead.
## See vignette('programming') for more help

Como el modelo ya es eficiente está listo para hacer pronósticos, en este caso se pronosticó el PIB para los siguientes 2 años, 8 trimestres, mediante la función \(forecast\) con los argumentos del modelo y el número de trimestres.

Forecasting es el proceso de hacer predicciones sobre el futuro mediante el análisis estadístico de tendencias observadas en datos históricos. Dicho de otra manera: utilizar el pasado para conocer el futuro. El paquete forecast fue desarrollado por Rob J. Hyndman y es utilizado para predecir series temporales estacionarias mediante los modelos ARIMA (p,d,q).

Los resultados que nos da son los pronósticos de la estimación del PIB de acuerdo a la serie de tiempo, la primer columna indica el pronóstico y las siguientes 4 son los limites en los que se podría encontrar con un \(80\) y \(95\) % de confianza.

RESULTADOS

En suma, es posible identificar que el modelo que mejor se ajustó para pronosticar el Producto Interno Bruto para los cuatro trimestres de 2019 y 2020 fue un modelo de pronóstico ARIMA (3, 2, 20), donde en primer lugar se buscó volver estacionaria la serie de tiempo a través de logaritmos, para lo cual se obtuvo un resultado negativo. Posteriormente se utilizó un segundo método mediante diferencias, donde se comprobó su estacionariedad con ayuda de la prueba Dickey-Fuller. Asimismo, se comprobó que la serie contará con validez o ruido blanco. Los pasos mencionados anteriormente se efectuaron con la intención de identificar si la serie de tiempo cumplía con los elementos para calcular el pronóstico con ayuda de un modelo autorregresivo integrado de promedio móvil.

Es importante reconocer la utilidad que este tipo de modelos estadísticos nos brinda cuando deseamos realizar predicciones en el corto plazo, a un bajo costo y con rapidez, de series que pueden tener un fuerte componente estacional, lo que la hace idónea para realizar predicciones económicas.

La técnica, no obstante, tiene dos limitaciones básicas: la primera se presenta cuando se intentan realizar predicciones en el medio y largo plazo donde los intervalos de confianza de la predicción se incrementan de manera considerable y por tanto se pierde precisión en la predicción. La segunda, es su carácter univariante que no permite hacer análisis explicativos sobre la evolución de la variable, ya que no es posible incluir más varibles, cosa que otros métodos como el ARCH o VAR sí.

CONCLUSIONES

Como estudiantes de economía no podemos quedarnos en el simple resultado numérico que el modelo nos arroja, debemos analizar con base en nuestros conocimientos qué es lo que significa cada dato. En la siguiente tabla se pueden observar las diferencias que se presentaron entre los datos que brindó el pronóstico y los datos reales del PIB para los cuatro trimestres de 2019 y 2020.

Se observa que en los primeros trimestres del 2019 la aproximación tiene un margen de error pequeño, lo que indica un buen pronóstico, es en el último trimestre cuando el error comienza a incrementar derivado de la pandemia producida por el COVID-19, esto significó una caída del PIB por los sucesos económicos ocurridos como el cierre de fábricas y empresas, así como la ruptura de cadenas de valor dado la cuarentena a la que fue sometida la población. Finalmente el error comienza a reducir en el último trimestre de 2020 cuando las cosas se han regularizado un poco con la reanudación de actividades económicas.

Por lo tanto, si no se considera el pronóstico del PIB para los últimos tres trimestres de 2020 (por considerarse influenciados por una situación atípica), es posible identificar que utilizar un modelo autorregresivo integrado de promedio móvil, puede ser de gran utilidad para pronosticar datos con porcentajes altos de confianza. Es por esto por lo que este tipo de modelos pueden ser aplicados a distintas disciplinas, teniendo un peso importante en la economía, donde se facilita la formulación de predicciones de índices de precios, salarios, agregados monetarios, etcétera. Por lo tanto, se concluye que pueden ayudar en el estudio de variables macroeconómicas. Cabe resaltar que estos pronósticos cuentan con validez únicamente para la serie de tiempo de cada estudio.

BIBLIOGRAFÍA