A través de la siguiente investigación, se analiza la inflación de precios de alimentos mediante técnicas de series de tiempo, siguiendo un enfoque exploratorio y metodológico para la selección y evaluación de modelos predictivos.

Datos

library(readr)
library(tidyverse)
library(dplyr)
library(lubridate)
library(forecast)
library(ggplot2)
library(plotly)
library(zoo)
library(tseries)
library(dynlm)

data <- read_csv("food_price_inflation.csv")

data <- data %>% 
  mutate(date = as.Date(TIME_PERIOD,format="%m/%d/%Y")) 
str(data)
## tibble [59,839 × 5] (S3: tbl_df/tbl/data.frame)
##  $ REF_AREA      : chr [1:59839] "AFG" "AFG" "AFG" "AFG" ...
##  $ REF_AREA_LABEL: chr [1:59839] "Afghanistan" "Afghanistan" "Afghanistan" "Afghanistan" ...
##  $ TIME_PERIOD   : Date[1:59839], format: "2001-01-01" "2001-02-01" ...
##  $ OBS_VALUE     : num [1:59839] 22.94 24.36 21.2 17.3 9.33 ...
##  $ date          : Date[1:59839], format: "2001-01-01" "2001-02-01" ...
# Formato de serie de tiempo
attach(data)
data.ts <- ts(OBS_VALUE, start = c(2001,1), frequency = 12)
summary(data)
##    REF_AREA         REF_AREA_LABEL      TIME_PERIOD           OBS_VALUE       
##  Length:59839       Length:59839       Min.   :2001-01-01   Min.   :   -25.0  
##  Class :character   Class :character   1st Qu.:2007-02-01   1st Qu.:     1.5  
##  Mode  :character   Mode  :character   Median :2013-03-01   Median :     4.1  
##                                        Mean   :2013-02-21   Mean   :    45.5  
##                                        3rd Qu.:2019-04-01   3rd Qu.:     8.6  
##                                        Max.   :2025-06-01   Max.   :371537.5  
##       date           
##  Min.   :2001-01-01  
##  1st Qu.:2007-02-01  
##  Median :2013-03-01  
##  Mean   :2013-02-21  
##  3rd Qu.:2019-04-01  
##  Max.   :2025-06-01
#Preparación y construcción de la serie de tiempo

usa <- data %>%
  filter(REF_AREA_LABEL == "United States") %>%
  mutate(date = as.Date(TIME_PERIOD, format = "%m/%d/%Y")) %>%
  arrange(date)

data.ts <- ts(
  usa$OBS_VALUE,
  start = c(year(min(usa$date)), month(min(usa$date))),
  frequency = 12
)

En esta etapa se realizó la preparación de los datos para el análisis de series de tiempo. Primero, se filtró la base de datos para incluir únicamente las observaciones correspondientes a United States, asegurando que la serie analizada fuera homogénea y representara un solo país. Posteriormente, la variable TIME_PERIOD, originalmente almacenada como texto en formato mes/día/año, fue convertida a un objeto de tipo Date utilizando la función as.Date().

Una vez creada la variable de fecha, los datos se ordenaron cronológicamente para mantener la secuencia temporal correcta. A partir de esta información, se construyó una serie de tiempo mensual (ts) utilizando la variable OBS_VALUE, que representa la inflación mensual de precios de alimentos. La serie se definió con una frecuencia de 12 observaciones por año, correspondiente a datos mensuales, y con un punto inicial determinado por el año y mes de la primera observación disponible en el conjunto de datos.

Este proceso permitió obtener una serie de tiempo correctamente estructurada y adecuada para la aplicación de modelos predictivos como ARIMA y ETS.

# Inicio, fin y frecuencia

start(data.ts)
## [1] 2001    1
end(data.ts)
## [1] 2025    6
frequency(data.ts)
## [1] 12
summary(usa)
##    REF_AREA         REF_AREA_LABEL      TIME_PERIOD           OBS_VALUE      
##  Length:294         Length:294         Min.   :2001-01-01   Min.   :-2.8619  
##  Class :character   Class :character   1st Qu.:2007-02-08   1st Qu.: 0.7959  
##  Mode  :character   Mode  :character   Median :2013-03-16   Median : 1.9675  
##                                        Mean   :2013-03-17   Mean   : 2.5721  
##                                        3rd Qu.:2019-04-23   3rd Qu.: 3.7185  
##                                        Max.   :2025-06-01   Max.   :13.5332  
##       date           
##  Min.   :2001-01-01  
##  1st Qu.:2007-02-08  
##  Median :2013-03-16  
##  Mean   :2013-03-17  
##  3rd Qu.:2019-04-23  
##  Max.   :2025-06-01

Comportamiento

# Gráfica interactiva con plotly

fig <- plot_ly(
  data = usa,
  x = ~date,
  y = ~OBS_VALUE,
  type = 'scatter',
  mode = 'lines',
  line = list(color = 'orange', width = 2)
) %>%
  layout(
    xaxis = list(title = "Año"),
    yaxis = list(title = "Inflación (%)"),
    hovermode = "x unified"
  )

fig

Comportamiento de la serie de tiempo:

La gráfica muestra el comportamiento mensual de la inflación de precios de alimentos en Estados Unidos desde el año 2001 hasta 2025. A lo largo del período analizado, la serie presenta fluctuaciones significativas, evidenciando episodios de inflación, períodos de desaceleración e incluso valores negativos en algunos años.

Durante los primeros años del período (2001–2007), la inflación se mantiene mayormente en niveles positivos moderados, con variaciones cíclicas alrededor de un promedio estable. Posteriormente, alrededor de 2008–2009, se observa una caída pronunciada que coincide con la crisis financiera global, reflejando una contracción en los precios de los alimentos.

Entre 2010 y 2015, la serie muestra nuevamente episodios de aumentos y disminuciones, con picos intermedios seguidos por correcciones, lo que sugiere un comportamiento influenciado por condiciones económicas y de mercado variables. En el período 2016–2019, la inflación se mantiene relativamente baja y estable, con oscilaciones de menor magnitud.

A partir de 2020, la serie experimenta un aumento notable en la volatilidad, alcanzando su punto máximo alrededor de 2022, donde se observan los valores más altos de inflación del período completo. Este comportamiento coincide con choques externos como la pandemia, interrupciones en las cadenas de suministro y presiones inflacionarias globales. Posteriormente, se observa una desaceleración gradual hacia 2024–2025, aunque los niveles permanecen por encima de algunos valores históricos.

En conjunto, la serie evidencia cambios estructurales, alta volatilidad en ciertos períodos y ausencia de una media constante, lo que sugiere que el proceso generador de datos no es estacionario y justifica la aplicación de técnicas de modelación como ARIMA y ETS para capturar adecuadamente su dinámica temporal.

Descomposición

data.ts_clean <- na.approx(data.ts) # NA

descomp <- decompose(data.ts_clean)
plot(descomp)

Interpretación

Estacionalidad

monthplot(data.ts_clean,
         ylab = "Inflación (%)",
        xlab = "Mes")

Los valores estacionales muestran variaciones que se repiten de manera consistente cada año, aunque con una magnitud moderada. En general, algunos meses presentan niveles de inflación de precios de alimentos ligeramente más altos o más bajos que el promedio anual, lo que indica la presencia de un patrón estacional estable pero no dominante. Este comportamiento es característico de series económicas en las que la estacionalidad existe, pero el componente principal está determinado por la tendencia y los choques externos.

Autocorrelación

#La autocorrelación cuantifica la relación entre observaciones separadas por distintos intervalos de tiempo (rezagos).

acf(data.ts_clean, lag.max = 36, main = "")

pacf(data.ts_clean, lag.max = 36, main = "")

Interpretación ACF:

La función de autocorrelación (ACF) muestra valores muy altos y estadísticamente significativos en los primeros rezagos, los cuales disminuyen de manera gradual conforme aumenta la distancia temporal. Este comportamiento indica una fuerte persistencia temporal, es decir, los niveles de inflación de precios de alimentos de un mes están estrechamente relacionados con los de los meses anteriores.

El descenso lento de la ACF es característico de series que presentan tendencia y posible no estacionariedad, donde los cambios ocurren de forma progresiva y no abrupta. Esto sugiere que los choques en la inflación tienden a tener efectos prolongados en el tiempo, afectando varios períodos consecutivos.

En conjunto, el patrón observado en la ACF respalda la necesidad de aplicar técnicas de diferenciación o modelos que capturen adecuadamente la dependencia temporal, como los modelos ARIMA, antes de realizar pronósticos confiables.

Interpretación PACF:

La función de autocorrelación parcial (PACF) muestra coeficientes parciales que, en su mayoría, se mantienen dentro de los límites de significancia estadística. Este comportamiento sugiere que la dependencia temporal de la inflación de precios de alimentos está fuertemente influenciada por los valores del período inmediatamente anterior.

La presencia de pocos rezagos significativos indica que la estructura autorregresiva de la serie es de orden bajo, lo cual es consistente con la utilización de modelos ARIMA con uno o pocos términos autorregresivos. En conjunto con el patrón observado en la ACF, los resultados de la PACF refuerzan la idea de que la serie presenta persistencia temporal y que la diferenciación es necesaria para lograr estacionariedad antes de realizar el ajuste del modelo final.

Estacionariedad

adf.test(data.ts_clean)
## 
##  Augmented Dickey-Fuller Test
## 
## data:  data.ts_clean
## Dickey-Fuller = -4.7119, Lag order = 6, p-value = 0.01
## alternative hypothesis: stationary

H₀: la serie no es estacionaria

H₁: la serie es estacionaria

Interpretación ADF:

La prueba de Dickey-Fuller aumentada (ADF) rechaza la hipótesis nula de presencia de raíz unitaria, dado que el valor p es menor al nivel de significancia del 5%. El mensaje: p-value smaller than printed p-value significa que el p-value real es menor que 0.01, reforzando aún más la conclusión de estacionariedad. Este resultado indica que la serie de inflación de precios de alimentos es estacionaria en niveles, es decir, su media y varianza se mantienen relativamente constantes a lo largo del tiempo.

El estadístico de prueba obtenido sugiere una fuerte evidencia a favor de la estacionariedad, lo cual es consistente con los patrones observados en el análisis previo de la ACF y la PACF. En consecuencia, no es necesario aplicar diferenciación adicional a la serie antes de proceder con el ajuste de modelos de series de tiempo.

En conjunto, los resultados de la ACF, la PACF y la prueba ADF confirman que la serie cumple con el supuesto de estacionariedad, permitiendo la aplicación directa de modelos ARIMA sin necesidad de diferenciación adicional.

Ajuste del modelo ARIMA

# AR(1)
AR1 <- dynlm(data.ts_clean ~ L(data.ts_clean, 1))
summary(AR1)
## 
## Time series regression with "ts" data:
## Start = 2001(2), End = 2025(6)
## 
## Call:
## dynlm(formula = data.ts_clean ~ L(data.ts_clean, 1))
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -2.05476 -0.33093  0.02869  0.31175  2.97020 
## 
## Coefficients:
##                     Estimate Std. Error t value Pr(>|t|)    
## (Intercept)          0.05103    0.04558   1.119    0.264    
## L(data.ts_clean, 1)  0.97952    0.01179  83.071   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.5825 on 291 degrees of freedom
## Multiple R-squared:  0.9595, Adjusted R-squared:  0.9594 
## F-statistic:  6901 on 1 and 291 DF,  p-value: < 2.2e-16
# AR(2)
AR2 <- dynlm(data.ts_clean ~ L(data.ts_clean, 1:2))
summary(AR2)
## 
## Time series regression with "ts" data:
## Start = 2001(3), End = 2025(6)
## 
## Call:
## dynlm(formula = data.ts_clean ~ L(data.ts_clean, 1:2))
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -1.92812 -0.28732 -0.00864  0.28219  2.83971 
## 
## Coefficients:
##                        Estimate Std. Error t value Pr(>|t|)    
## (Intercept)             0.07523    0.04075   1.846   0.0659 .  
## L(data.ts_clean, 1:2)1  1.42883    0.05225  27.347   <2e-16 ***
## L(data.ts_clean, 1:2)2 -0.45872    0.05225  -8.780   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.5191 on 289 degrees of freedom
## Multiple R-squared:  0.9681, Adjusted R-squared:  0.9679 
## F-statistic:  4383 on 2 and 289 DF,  p-value: < 2.2e-16
# AR(3)
AR3 <- dynlm(data.ts_clean ~ L(data.ts_clean, 1:3))
summary(AR3)
## 
## Time series regression with "ts" data:
## Start = 2001(4), End = 2025(6)
## 
## Call:
## dynlm(formula = data.ts_clean ~ L(data.ts_clean, 1:3))
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -1.91465 -0.24792 -0.03318  0.22731  2.82905 
## 
## Coefficients:
##                        Estimate Std. Error t value Pr(>|t|)    
## (Intercept)             0.09701    0.03958   2.451   0.0148 *  
## L(data.ts_clean, 1:3)1  1.30238    0.05673  22.956  < 2e-16 ***
## L(data.ts_clean, 1:3)2 -0.06445    0.09545  -0.675   0.5000    
## L(data.ts_clean, 1:3)3 -0.27604    0.05672  -4.867 1.88e-06 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.5006 on 287 degrees of freedom
## Multiple R-squared:  0.9705, Adjusted R-squared:  0.9702 
## F-statistic:  3148 on 3 and 287 DF,  p-value: < 2.2e-16
# AR(4)
AR4 <- dynlm(data.ts_clean ~ L(data.ts_clean, 1:4))
summary(AR4)
## 
## Time series regression with "ts" data:
## Start = 2001(5), End = 2025(6)
## 
## Call:
## dynlm(formula = data.ts_clean ~ L(data.ts_clean, 1:4))
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -1.90327 -0.25242 -0.02723  0.22768  2.83150 
## 
## Coefficients:
##                        Estimate Std. Error t value Pr(>|t|)    
## (Intercept)             0.10343    0.04007   2.581   0.0103 *  
## L(data.ts_clean, 1:4)1  1.28420    0.05913  21.719   <2e-16 ***
## L(data.ts_clean, 1:4)2 -0.06864    0.09568  -0.717   0.4737    
## L(data.ts_clean, 1:4)3 -0.19052    0.09584  -1.988   0.0478 *  
## L(data.ts_clean, 1:4)4 -0.06566    0.05922  -1.109   0.2685    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.5013 on 285 degrees of freedom
## Multiple R-squared:  0.9706, Adjusted R-squared:  0.9702 
## F-statistic:  2354 on 4 and 285 DF,  p-value: < 2.2e-16

Interpretación: Ajuste de modelos autorregresivos AR(p)

Siguiendo el procedimiento presentado en los recursos de Modelos Estacionarios, se ajustaron modelos autorregresivos de distintos órdenes con el objetivo de identificar cuántos rezagos explican adecuadamente el comportamiento de la serie de inflación de precios de alimentos.

Conclusión del ajuste:

A partir de la comparación entre los modelos autorregresivos AR(1), AR(2), AR(3) y AR(4), se concluye que el modelo AR(2) es el más adecuado para describir el comportamiento de la inflación de precios de alimentos. Este modelo presenta un buen balance entre simplicidad y capacidad explicativa, con coeficientes estadísticamente significativos y un ajuste superior al modelo AR(1), sin introducir complejidad innecesaria como en los modelos de orden superior.

Ajuste de modelos de Media Móvil MA(q)

# MA(1)
MA1 <- arima(data.ts_clean, order = c(0,0,1))

# MA(2)
MA2 <- arima(data.ts_clean, order = c(0,0,2))

summary(MA1)
## 
## Call:
## arima(x = data.ts_clean, order = c(0, 0, 1))
## 
## Coefficients:
##         ma1  intercept
##       0.985     2.5685
## s.e.  0.017     0.1800
## 
## sigma^2 estimated as 2.426:  log likelihood = -549.17,  aic = 1104.35
## 
## Training set error measures:
##                         ME     RMSE      MAE     MPE    MAPE     MASE      ACF1
## Training set -0.0001240087 1.557415 1.161972 9.42476 118.363 2.724526 0.7376248
summary(MA2)
## 
## Call:
## arima(x = data.ts_clean, order = c(0, 0, 2))
## 
## Coefficients:
##          ma1     ma2  intercept
##       0.9844  1.0000     2.5801
## s.e.  0.0181  0.0175     0.1848
## 
## sigma^2 estimated as 1.135:  log likelihood = -440.97,  aic = 889.93
## 
## Training set error measures:
##                        ME     RMSE       MAE      MPE     MAPE     MASE
## Training set -0.001482623 1.065535 0.8002361 3.605859 79.64973 1.876347
##                  ACF1
## Training set 0.736396

Siguiendo la metodología del curso, se estimaron modelos de media móvil de orden 1 y 2 con el objetivo de evaluar si la dinámica de la inflación de precios de alimentos puede explicarse principalmente por choques aleatorios pasados.

Conclusión del ajuste: Los modelos MA(q) capturan parcialmente la dinámica de la serie, observándose mejoras al aumentar el orden del modelo. Sin embargo, en comparación con los modelos AR, su desempeño es inferior, lo que sugiere que la inflación de precios de alimentos depende en mayor medida de sus valores pasados que de los choques aleatorios pasados.

Ajuste de modelos ARMA(p,q)

# ARMA(1,1)
ARMA11 <- arima(data.ts_clean, order = c(1,0,1))

# ARMA(2,1)
ARMA21 <- arima(data.ts_clean, order = c(2,0,1))

# ARMA(2,2)
ARMA22 <- arima(data.ts_clean, order = c(2,0,2))

summary(ARMA11)
## 
## Call:
## arima(x = data.ts_clean, order = c(1, 0, 1))
## 
## Coefficients:
##          ar1     ma1  intercept
##       0.9670  0.3057     2.5903
## s.e.  0.0137  0.0449     1.1351
## 
## sigma^2 estimated as 0.2913:  log likelihood = -237.54,  aic = 483.08
## 
## Training set error measures:
##                        ME      RMSE       MAE       MPE     MAPE      MASE
## Training set -0.001419436 0.5397339 0.3920595 -6.052375 37.40167 0.9192785
##                   ACF1
## Training set 0.1046362
summary(ARMA21)
## 
## Call:
## arima(x = data.ts_clean, order = c(2, 0, 1))
## 
## Coefficients:
##          ar1     ar2     ma1  intercept
##       0.0951  0.8583  0.9999     2.6706
## s.e.  0.0307  0.0307  0.0153     1.2526
## 
## sigma^2 estimated as 0.316:  log likelihood = -250.87,  aic = 511.74
## 
## Training set error measures:
##                        ME      RMSE      MAE       MPE     MAPE     MASE
## Training set -0.003957639 0.5621352 0.422092 -11.21548 40.69321 0.989697
##                   ACF1
## Training set 0.3662876
summary(ARMA22)
## 
## Call:
## arima(x = data.ts_clean, order = c(2, 0, 2))
## 
## Coefficients:
##          ar1      ar2      ma1     ma2  intercept
##       1.8418  -0.8637  -0.5810  0.0059     2.5747
## s.e.  0.0528   0.0507   0.0802  0.0596     0.5503
## 
## sigma^2 estimated as 0.2416:  log likelihood = -210.35,  aic = 432.7
## 
## Training set error measures:
##                         ME     RMSE       MAE       MPE     MAPE      MASE
## Training set -8.577121e-05 0.491575 0.3472381 -2.326901 32.65921 0.8141838
##                     ACF1
## Training set 0.003654649

Siguiendo la metodología del curso, se estimaron modelos ARMA con el objetivo de combinar la dependencia en valores pasados de la serie con el efecto de choques aleatorios y evaluar si un modelo mixto describe mejor la inflación de precios de alimentos.

Conclusión del ajuste A partir de la comparación de los modelos ARMA, se concluye que el modelo ARMA(2,2) es el más adecuado, ya que ofrece el mejor balance entre ajuste y complejidad, superando a los modelos ARMA de menor orden y a los modelos MA.

Comparación de modelos (criterio AIC)

AIC(AR1, AR2, AR3, AR4,
    MA1, MA2,
    ARMA11, ARMA21, ARMA22)
##        df       AIC
## AR1     3  518.7773
## AR2     4  450.6962
## AR3     5  429.0923
## AR4     6  429.4015
## MA1     3 1104.3493
## MA2     4  889.9317
## ARMA11  4  483.0780
## ARMA21  5  511.7426
## ARMA22  6  432.7023

Interpretación: Comparación de modelos (criterio AIC)

Para seleccionar el modelo más adecuado, se utilizó el criterio de información de Akaike (AIC), el cual permite comparar modelos considerando simultáneamente la calidad del ajuste y la complejidad del modelo. Un valor menor de AIC indica un mejor balance entre ambos aspectos.

Los resultados muestran diferencias claras entre los modelos evaluados:

El menor valor de AIC corresponde al modelo AR(3), seguido muy de cerca por el modelo AR(4) y el ARMA(2,2). No obstante, el modelo AR(3) ofrece el mejor compromiso entre simplicidad y capacidad de ajuste.

Modelo seleccionado

A partir del criterio de información AIC, se concluye que el modelo AR(3) es el más adecuado para describir el comportamiento de la inflación de precios de alimentos. Este modelo presenta el menor valor de AIC y logra capturar de manera eficiente la dependencia temporal de la serie sin introducir complejidad innecesaria. Esta selección es consistente con los resultados obtenidos en la ACF y la PACF, donde se identificó una fuerte dependencia en los primeros rezagos, así como con los modelos ARIMA y ARMA previamente ajustados. En conjunto, los resultados confirman que la serie presenta una estructura predominantemente autorregresiva.

Diagnóstico del modelo seleccionado (AR(3))

checkresiduals(AR3)

## 
##  Breusch-Godfrey test for serial correlation of order up to 24
## 
## data:  Residuals
## LM test = 111.93, df = 24, p-value = 2.592e-13

Interpretación:

En conjunto, los resultados del diagnóstico indican que el modelo AR(3) es estadísticamente adecuado, ya que los residuos se comportan de manera cercana a ruido blanco y no presentan patrones estructurales no explicados por el modelo.

Pronóstico con el modelo AR(3)

AR3_arima <- Arima(data.ts_clean, order = c(3,0,0))
summary(AR3_arima)
## Series: data.ts_clean 
## ARIMA(3,0,0) with non-zero mean 
## 
## Coefficients:
##          ar1      ar2      ar3    mean
##       1.2984  -0.0640  -0.2736  2.5818
## s.e.  0.0558   0.0941   0.0558  0.7145
## 
## sigma^2 = 0.2483:  log likelihood = -212.31
## AIC=434.61   AICc=434.82   BIC=453.03
## 
## Training set error measures:
##                         ME      RMSE       MAE       MPE     MAPE      MASE
## Training set -0.0004447472 0.4949081 0.3502887 -2.232259 32.69849 0.1236883
##                     ACF1
## Training set -0.01370638
fc_ar3 <- forecast(AR3_arima, h = 12)

autoplot(fc_ar3) +
  labs(
    title = "Pronóstico de la inflación de precios de alimentos (12 meses)",
    x = "Año",
    y = "Inflación (%)"
  )

Pronóstico con el modelo AR(3):

El pronóstico obtenido a partir del modelo ARIMA(3,0,0) muestra la trayectoria esperada de la inflación de precios de alimentos para los próximos 12 meses. El pronóstico puntual indica que la inflación tendería a mantenerse en niveles moderados, con fluctuaciones alrededor de su promedio histórico y sin evidenciar cambios abruptos en el corto plazo.

Los intervalos de confianza se amplían conforme aumenta el horizonte de predicción, reflejando la incertidumbre inherente al proceso inflacionario. Este comportamiento es consistente con series económicas, donde la precisión de los pronósticos disminuye a medida que se proyectan períodos más lejanos.

En conjunto, el modelo sugiere una estabilización gradual de la inflación de precios de alimentos, aunque reconoce la posibilidad de variaciones al alza o a la baja dentro de los rangos estimados. Estos resultados deben interpretarse con cautela, dado que choques externos o eventos económicos no incorporados en el modelo podrían alterar el comportamiento futuro de la serie.

Conclusión general:

En este estudio se aplicaron técnicas de análisis de series de tiempo para modelar y pronosticar la inflación de precios de alimentos. A partir del análisis exploratorio, la descomposición, el estudio de la estacionalidad, la ACF, la PACF y la prueba de estacionariedad, se ajustaron modelos AR, MA y ARMA. La comparación mediante el criterio AIC permitió seleccionar el modelo AR(3) como el más adecuado. El diagnóstico de residuos confirmó la validez del modelo y el pronóstico generado ofrece una proyección razonable del comportamiento futuro de la inflación en el corto plazo, reconociendo las limitaciones a modelos univariados.