El analisis de series temporales, es una forma de analizar datos recolectados en un intervalo de tiempo determinado, lo que muestra cómo cambian las variables a lo largo del tiempo.
Según explica un artículo de Forbes (2023), se prevé que en el 2024 haya alrededor de 9,050 millones de dólares de inversión extranjera en la industria manufacturera, gracias al nearshoring. Se espera que lleguen nuevos participantes que no habían estado previamente en México, lo cual conlleva a un buen desarrollo de la industria, la educación y la productividad en el país.
Asimismo, Deloitte (2023), explica que una de las razones por las que se está presentando la oportunidad del nearshoring en México es debido al aumento de los aranceles de Estados Unidos hacia China, el T-MEC que ha impulsado a productores a relocalizar su cadena de suministro en otros lugares, el cierre de fronteras por el COVID-19, así como la falta de logística debido a la guerra de Ucrania. Esto representa un pronóstico de un aumento del 3% al PIB de México. De igual forma se recalca que esta tendencia de nearshoring se inclina más a la industria manufacturera.
| Nombre | Descripción Variable | | ||
|---|---|---|
| IED_Flujos | Flujos de Inversión | Extranjera Directa. | ||
| Exportaciones | Exportaciones No | Petróleras. | ||
| Empleo | Porcentaje de la | Población | Económicamente Activa | Ocupada. | ||
| Educación | Promedio de Años de. Educación. | |
| Saldo_Diario | Salario mínimo en pesos | diarios. | ||
| Innovación | Número de patentes | solicitadas en México. | ||
| Inseguridad_ | Robos con violencia en Robo | casa habitación, | maquinaria, autopartes | principalmente. | ||
| Inseguridad_ | Número de homicidios. Homicidio | | ||
| Tipo_de_ Cambio | Tipo de cambio FIX. | |
| Densidad_ Carretera | Longitud de kilómetros de carretera pavimentada por cada km2 de superficie territorial. | |
| Densidad_ Población | El número de población se divide entre la extensión territorial de México en km2. | |
| CO2_ Emisiones | Emisiones de Dióxido de Carbono. | |
| PIB_Per_ Cápita | Producto Interno Bruto dividido por la población | |
| INPC | Índice Nacional de Precios al Consumidor | |
library(readxl)
nsh_st_d <- read_excel("C:/Users/HP/OneDrive - FEMSA Comercio/Escritorio/nearshoring_bdd.xlsx", sheet = "Datos Series de Tiempo")
data <- read_excel("C:/Users/HP/OneDrive - FEMSA Comercio/Escritorio/nearshoring_bdd.xlsx", sheet = "Datos")
## New names:
## • `` -> `...16`
## • `` -> `...17`
Esta base de datos es una base imbalanceada, ya que cuenta con datos nulos.
# Manipulación de datos
str(data)
## tibble [26 × 17] (S3: tbl_df/tbl/data.frame)
## $ Año : num [1:26] 1997 1998 1999 2000 2001 ...
## $ IED_Flujos : num [1:26] 12146 8374 13960 18249 30057 ...
## $ Exportaciones : num [1:26] 9088 9875 10990 12483 11300 ...
## $ Empleo : num [1:26] NA NA NA 97.8 97.4 ...
## $ Educación : num [1:26] 7.2 7.31 7.43 7.56 7.68 ...
## $ Salario_Diario : num [1:26] 24.3 31.9 31.9 35.1 37.6 ...
## $ Innovación : num [1:26] 11.3 11.4 12.5 13.1 13.5 ...
## $ Inseguridad_Robo : num [1:26] 267 315 273 217 215 ...
## $ Inseguridad_Homicidio: num [1:26] 14.6 14.3 12.6 10.9 10.2 ...
## $ Tipo_de_Cambio : num [1:26] 8.06 9.94 9.52 9.6 9.17 ...
## $ Densidad_Carretera : num [1:26] 0.0521 0.053 0.055 0.0552 0.0565 ...
## $ Densidad_Población : num [1:26] 47.4 48.8 49.5 50.6 51.3 ...
## $ CO2_Emisiones : num [1:26] 3.68 3.85 3.69 3.87 3.81 ...
## $ PIB_Per_Cápita : num [1:26] 127570 126739 129165 130875 128083 ...
## $ INPC : num [1:26] 33.3 39.5 44.3 48.3 50.4 ...
## $ ...16 : num [1:26] 2943 NA NA NA NA ...
## $ ...17 : num [1:26] 0.73 NA NA NA NA ...
colSums(is.na(data))
## Año IED_Flujos Exportaciones
## 0 0 0
## Empleo Educación Salario_Diario
## 3 3 0
## Innovación Inseguridad_Robo Inseguridad_Homicidio
## 2 0 1
## Tipo_de_Cambio Densidad_Carretera Densidad_Población
## 0 0 0
## CO2_Emisiones PIB_Per_Cápita INPC
## 3 0 0
## ...16 ...17
## 25 25
Hay 3 missing values en Empleo, Educación, y C02_Emisiones, 2 missing values en Tipo_de_Cambio, y 1 missing value en Inseguridad_Homicidio. Los valores nulos se reemplazan con la mediana.
filled_df <- data %>%
mutate_all(function(x) ifelse(is.na(x), median(x, na.rm = TRUE), x))
#Convertir de vuelta a data frame
data <- as.data.frame(filled_df)
Se cambian las variables con valores nominales a valores reales (2018=100) al dividirlos entre el INPC. Las variables que están en dolares se multiplican por el tipo de cambio de ese año para convertirlos a pesos.
data$IED_Flujos <- ((data$IED_Flujos * data$Tipo_de_Cambio) / data$INPC) * 100
data$Exportaciones <- ((data$Exportaciones * data$Tipo_de_Cambio) / data$INPC) * 100
data$Salario_Diario <- (data$Salario_Diario / data$INPC) * 100
Se visualiza el comportamiento de los flujos de inversión extranjera directa a través de los años.
nsh_st <-ts(nsh_st_d$IED_Flujos, nsh_st_d$Año,start=1999,end=2023,frequency=4)
dygraph(nsh_st, main="Mexico's Cumulative CO2", ylab="Precipitation") %>%
dyOptions(colors = RColorBrewer::brewer.pal(4, "Dark2")) %>%
dyShading(from = "1997-1-1",to = "2019-12-31", color = "#FFE6E6") %>%
dyShading(from="2020-1-1", to="2023-12-31", color="#CCEBD6") %>%
dyEvent("1999-1-1","Since 1999,se observa un incremento de IED",labelLoc="bottom")
# Se visualiza el comportamiento de los flujos de inversión extranjera directa a través de los años.
ts_data <- ts(nsh_st_d$IED_Flujos, start = c(1999), end = c(2023), frequency = 4) # annual time series data
plot(ts_data, type="l",col="blue", lwd=2, xlab ="Year",ylab ="IED Flujos", main = "IED Flujos") # grafica 1 - time series
ts_plot(ts_data, title = "Flujos de Inversión Extranjera Directa. ", Xtitle = "Years", Ytitle = "Flujos de Inversión Extranjera Directa. ") # grafica 2 -time series
#Verifciar formato de series de tiemmpo
is.ts(ts_data)
## [1] TRUE
frequency(ts_data)
## [1] 4
ts.plot(ts_data, xlab = "Year", ylab = "new_fdi", main = "Flujos de Inversión Extranjera Directa. ") # grafica 3 - time series
abline(reg=lm(ts_data~time(ts_data)))
#ver donde inicia la serie y su tendencia
Procedemos a descomponer la serie de tiempo
decompose_ts <- decompose(nsh_st, type = "multiplicative")
decompose_ts
## $x
## Qtr1 Qtr2 Qtr3 Qtr4
## 1999 34242.55 32336.35 28837.48 37516.56
## 2000 44164.72 46629.81 29345.77 55041.63
## 2001 32996.99 47852.50 149586.77 45164.05
## 2002 52510.91 64846.40 63352.48 68989.32
## 2003 44392.48 62129.06 28242.27 69632.19
## 2004 105042.08 48816.39 36851.14 89922.56
## 2005 72423.05 72551.52 58684.22 72637.72
## 2006 80879.00 72151.45 25520.15 52363.88
## 2007 117938.53 66926.65 83182.85 85178.59
## 2008 117716.93 115371.27 77734.95 95537.77
## 2009 79635.64 79490.68 31272.56 42430.46
## 2010 107996.43 115169.89 48695.90 64787.30
## 2011 117857.42 93621.10 60805.82 86024.97
## 2012 102510.21 73020.19 74502.96 32706.55
## 2013 138119.80 274619.29 54596.94 164424.11
## 2014 203752.76 80728.08 47476.76 115262.00
## 2015 210441.55 115428.36 167078.72 130308.86
## 2016 264609.91 128336.27 89211.98 162330.84
## 2017 271935.32 134480.15 125541.25 139383.42
## 2018 276519.55 188265.98 81240.21 124272.76
## 2019 286398.39 122759.66 155084.54 88321.75
## 2020 335062.86 145406.51 26724.77 55095.93
## 2021 332478.45 120708.77 131699.07 62456.21
## 2022 442532.68 158503.64 67555.59 34504.20
## 2023 34242.55
##
## $seasonal
## Qtr1 Qtr2 Qtr3 Qtr4
## 1999 1.4132459 1.0054375 0.7252979 0.8560186
## 2000 1.4132459 1.0054375 0.7252979 0.8560186
## 2001 1.4132459 1.0054375 0.7252979 0.8560186
## 2002 1.4132459 1.0054375 0.7252979 0.8560186
## 2003 1.4132459 1.0054375 0.7252979 0.8560186
## 2004 1.4132459 1.0054375 0.7252979 0.8560186
## 2005 1.4132459 1.0054375 0.7252979 0.8560186
## 2006 1.4132459 1.0054375 0.7252979 0.8560186
## 2007 1.4132459 1.0054375 0.7252979 0.8560186
## 2008 1.4132459 1.0054375 0.7252979 0.8560186
## 2009 1.4132459 1.0054375 0.7252979 0.8560186
## 2010 1.4132459 1.0054375 0.7252979 0.8560186
## 2011 1.4132459 1.0054375 0.7252979 0.8560186
## 2012 1.4132459 1.0054375 0.7252979 0.8560186
## 2013 1.4132459 1.0054375 0.7252979 0.8560186
## 2014 1.4132459 1.0054375 0.7252979 0.8560186
## 2015 1.4132459 1.0054375 0.7252979 0.8560186
## 2016 1.4132459 1.0054375 0.7252979 0.8560186
## 2017 1.4132459 1.0054375 0.7252979 0.8560186
## 2018 1.4132459 1.0054375 0.7252979 0.8560186
## 2019 1.4132459 1.0054375 0.7252979 0.8560186
## 2020 1.4132459 1.0054375 0.7252979 0.8560186
## 2021 1.4132459 1.0054375 0.7252979 0.8560186
## 2022 1.4132459 1.0054375 0.7252979 0.8560186
## 2023 1.4132459
##
## $trend
## Qtr1 Qtr2 Qtr3 Qtr4
## 1999 NA NA 34473.51 37500.46
## 2000 39350.68 41604.85 42399.52 41156.39
## 2001 56339.35 70134.77 71339.32 75902.79
## 2002 67247.74 59446.62 61409.97 60055.50
## 2003 55327.06 51018.64 58680.20 64597.32
## 2004 64009.34 67621.75 66080.66 64970.17
## 2005 70666.20 71234.73 70131.12 71138.11
## 2006 66942.59 60262.85 62361.06 66340.40
## 2007 72895.14 84204.82 88278.96 94306.83
## 2008 99681.42 100295.33 96830.07 87584.83
## 2009 77291.96 64845.75 61752.44 69757.43
## 2010 76395.25 81367.77 85395.00 83934.03
## 2011 82754.17 86922.62 87658.93 83165.41
## 2012 82302.44 77349.78 75136.18 104787.26
## 2013 127498.90 141475.34 166144.16 150111.87
## 2014 124985.45 117950.16 112641.00 117814.63
## 2015 137102.41 153933.52 162585.42 170969.95
## 2016 162850.10 157119.50 162037.92 163721.59
## 2017 169030.73 170703.46 168408.06 175704.32
## 2018 176889.92 169463.46 168809.48 161856.04
## 2019 162898.29 167634.96 169224.14 178138.06
## 2020 164923.94 144725.74 140249.47 136839.20
## 2021 146873.77 160915.59 175592.40 194073.54
## 2022 190779.96 179268.03 124737.76 NA
## 2023 NA
##
## $random
## Qtr1 Qtr2 Qtr3 Qtr4
## 1999 NA NA 1.1533350 1.1687004
## 2000 0.7941555 1.1147169 0.9542631 1.5623232
## 2001 0.4144239 0.6786035 2.8909980 0.6951073
## 2002 0.5525277 1.0849348 1.4223559 1.3419793
## 2003 0.5677461 1.2111858 0.6635775 1.2592511
## 2004 1.1611872 0.7179996 0.7688827 1.6168562
## 2005 0.7251825 1.0129771 1.1537032 1.1928249
## 2006 0.8549005 1.1908040 0.5642262 0.9220841
## 2007 1.1448257 0.7905094 1.2991526 1.0551254
## 2008 0.8356165 1.1440944 1.1068522 1.2742745
## 2009 0.7290468 1.2192131 0.6982210 0.7105654
## 2010 1.0002885 1.4077690 0.7862189 0.9017136
## 2011 1.0077419 1.0712377 0.9563846 1.2083663
## 2012 0.8813262 0.9389204 1.3671243 0.3646221
## 2013 0.7665346 1.9306129 0.4530716 1.2795794
## 2014 1.1535231 0.6807239 0.5811231 1.1428880
## 2015 1.0860971 0.7458032 1.4168475 0.8903709
## 2016 1.1497419 0.8123893 0.7590844 1.1582755
## 2017 1.1383668 0.7835393 1.0277964 0.9267135
## 2018 1.1061271 1.1049451 0.6635257 0.8969409
## 2019 1.2440456 0.7283430 1.2635421 0.5791989
## 2020 1.4375563 0.9992703 0.2627219 0.4703550
## 2021 1.6017751 0.7460804 1.0340952 0.3759465
## 2022 1.6413260 0.8793895 0.7467013 NA
## 2023 NA
##
## $figure
## [1] 1.4132459 1.0054375 0.7252979 0.8560186
##
## $type
## [1] "multiplicative"
##
## attr(,"class")
## [1] "decomposed.ts"
adf.test(nsh_st) # H0: Non-stationary and HA: Stationary. p-values < 0.05 reject the H0.
##
## Augmented Dickey-Fuller Test
##
## data: nsh_st
## Dickey-Fuller = -2.7268, Lag order = 4, p-value = 0.276
## alternative hypothesis: stationary
Contamos con un p-value de 0.276, P-Value > 0.05, Se rechaza la hipotesis HO, es estacionaria.
acf(nsh_st,main= "Significant Autocorrelation")
Contamos con una correlación significativa, como lo podemos ver desde el primer lag que se hace.
ARMA: Autoregressive Moving Average (primarly used to forecasting time series data)
Vamos a hacerle un fit a nuestro modelo ARMA para hacer un modelo predictivo para predecir los Flujos de Inversión Extranjera (IED_Flujos)
ARMA1 <- arima(nsh_st, order = c(1,0,1))
print(ARMA1)
##
## Call:
## arima(x = nsh_st, order = c(1, 0, 1))
##
## Coefficients:
## ar1 ma1 intercept
## 0.9820 -0.8835 98006.56
## s.e. 0.0216 0.0457 32311.79
##
## sigma^2 estimated as 4.688e+09: log likelihood = -1218.05, aic = 2444.1
Box.test(ARMA1$residuals,lag=1,type="Ljung-Box") # Box.test is to examine the hypothesis of independence of a regression residuals.
##
## Box-Ljung test
##
## data: ARMA1$residuals
## X-squared = 0.31121, df = 1, p-value = 0.5769
# Ho: Regression Residuals are independently distributed.
# Ha: Regression Residuals are not independently distributed, but exhibit serial correlation.
Teniendo un p-value, en el box test, de 0.5769, no se rechaza la hipotesis nula, nuestros errores no estan correlacionados.
ts.plot(nsh_st)
ARMA_fit <- nsh_st - residuals(ARMA1)
points(ARMA_fit, type = "l", col = 2, lty = 2)
# Se realiza un segundo fit a nuestro modelo ARMA para hacer un modelo predictivo para predecir los Flujos de Inversión Extranjera, en este caso haciendo uso de una p = 1, y una q = 0
#Entr
ARMA2 <- arima(nsh_st, order = c(1,0,0))
print(ARMA2)
##
## Call:
## arima(x = nsh_st, order = c(1, 0, 0))
##
## Coefficients:
## ar1 intercept
## 0.2454 103491.190
## s.e. 0.0987 9944.833
##
## sigma^2 estimated as 5.496e+09: log likelihood = -1225.39, aic = 2456.79
Box.test(ARMA2$residuals,lag=1,type="Ljung-Box") # Box.test is to examine the hypothesis of independence of a regression residuals.
##
## Box-Ljung test
##
## data: ARMA2$residuals
## X-squared = 0.0028614, df = 1, p-value = 0.9573
# Ho: Regression Residuals are independently distributed.
# Ha: Regression Residuals are not independently distributed, but exhibit serial correlation.
# Teniendo un p-value de 0.99, no se rechaza la hipotesis nula, porque nuestros errores no estan correlacionados.
# Cuenta con un aic de 1810.94
Visualziando ambos modelos ARMA, podemos ver que el ARMA1 cuenta con un p-value de 0.5769 y un aic de 2444.1, mientras que ARMA2 cuenta con un p-value de 0.9573 y un aic de 2456.79.
Tomando en cuenta lo anterior, el mejor modelo es ARMA1, ya que cuenta con un aic menor que el de ARMA2, lo que quiere decir que tiene un mejor ajuste general al conjunto de datos.
#Pronostico - graficando las series con los fitted values.
ts.plot(nsh_st)
ARMA_fit <- nsh_st - residuals(ARMA1)
points(ARMA_fit, type = "l", col = 2, lty = 2)
#Usando predict() para ahcer un 1-step forecast
predict_ARMA <- predict(ARMA1)
#Obteniendo el 1-step forecast usando $pred[1]
predict_ARMA$pred[1]
## [1] 130179.7
#Alternativamente usando predict para hacer un 1-step por 10-step forecasts
predict(ARMA1, n.ahead = 5)
## $pred
## Qtr1 Qtr2 Qtr3 Qtr4
## 2023 130179.7 129602.0 129034.6
## 2024 128477.5 127930.3
##
## $se
## Qtr1 Qtr2 Qtr3 Qtr4
## 2023 68466.45 68798.26 69116.75
## 2024 69422.52 69716.14
#Se estiman los proximos 5 periodos
#Graficando AirPassenger series, más el pronocstico y su intervalo de predicción de 95%
ts.plot(nsh_st, xlim = c(1997, 2022))
ARMA_forecast <- predict(ARMA1, n.ahead = 5)$pred
ARMA_forecast_se <- predict(ARMA1, n.ahead = 5)$se
points(ARMA_forecast, type = "l", col = 2)
points(ARMA_forecast - 2*ARMA_forecast_se, type = "l", col = 2, lty = 2)
points(ARMA_forecast + 2*ARMA_forecast_se, type = "l", col = 2, lty = 2)
data_df <- as.data.frame(data)
data_df <- dplyr::select(data_df, Año, IED_Flujos)
data_df[nrow(data_df)+1,] <-c(23,108.9799)
data_df[nrow(data_df)+1,] <-c(24,108.6827)
data_df[nrow(data_df)+1,] <-c(25,108.4058)
data_df[nrow(data_df)+1,] <-c(26,108.1477)
data_df[nrow(data_df)+1,] <-c(27,107.9073)
nsh_st_forecast <- ts(data_df$IED_Flujos, start = c(1997), end = c(2027), frequency = 4) # Anual time series data
plot(nsh_st_forecast, type="l",col="blue", lwd=2, xlab ="Year",ylab ="Flujos de Inversión Extranjera", main = "Flujos de Inversión Extranjera en México")
autoplot(forecast(ARMA1))
# plotting time series data
nsh_IED_var <- ts(data$IED_Flujos, start = c(1997), end = c(2022), frequency = 1)
nsh_Innovación_var <- ts(data$Innovación, start = c(1997), end = c(2022), frequency = 1)
nsh_Salario_Diario_var <- ts(data$Salario_Diario, start = c(1997), end = c(2022), frequency = 1)
nsh_Tipo_de_Cambio_var <- ts(data$Tipo_de_Cambio, start = c(1997), end = c(2022), frequency = 1)
nsh_Empleo_var <- ts(data$Empleo, start = c(1997), end = c(2022), frequency = 1)
par(mfrow=c(2,3))
plot(nsh_IED_var,type="l",col="blue",lwd=2,xlab="Year",ylab="IED",main="Inversión Extranjera directa")
plot(nsh_Innovación_var,type="l",col="blue",lwd=2,xlab="Year",ylab="Innovación",main="Innovación")
plot(nsh_Salario_Diario_var,type="l",col="blue",lwd=2,xlab="Year",ylab="Salario Diario",main="Salario Diario")
plot(nsh_Tipo_de_Cambio_var,type="l",col="blue",lwd=2,xlab="Year",ylab="Tipo de cambio",main="Tipo de cambio")
plot(nsh_Empleo_var,type="l",col="blue",lwd=2,xlab="Year",ylab="Empleo",main="Nivel de empleo")
# it is important to assess whether the variables under study are stationary or not
adf.test(data$IED_Flujos) # valor de 0.15 estacionaria
##
## Augmented Dickey-Fuller Test
##
## data: data$IED_Flujos
## Dickey-Fuller = -2.0122, Lag order = 2, p-value = 0.5677
## alternative hypothesis: stationary
adf.test(data$Innovación) # non-stationary valor de 0.02
##
## Augmented Dickey-Fuller Test
##
## data: data$Innovación
## Dickey-Fuller = -3.8938, Lag order = 2, p-value = 0.02901
## alternative hypothesis: stationary
adf.test(data$Salario_Diario) # estacionaria pvalue de .99
## Warning in adf.test(data$Salario_Diario): p-value greater than printed p-value
##
## Augmented Dickey-Fuller Test
##
## data: data$Salario_Diario
## Dickey-Fuller = 4.8185, Lag order = 2, p-value = 0.99
## alternative hypothesis: stationary
adf.test(data$Tipo_de_Cambio) # estacionaria p value de 0.4244
##
## Augmented Dickey-Fuller Test
##
## data: data$Tipo_de_Cambio
## Dickey-Fuller = -2.3883, Lag order = 2, p-value = 0.4244
## alternative hypothesis: stationary
adf.test(data$Empleo) # no estacionaria 0.8077
##
## Augmented Dickey-Fuller Test
##
## data: data$Empleo
## Dickey-Fuller = -1.3823, Lag order = 2, p-value = 0.8077
## alternative hypothesis: stationary
nsh_var_data <- cbind(nsh_IED_var,nsh_Innovación_var,nsh_Salario_Diario_var,nsh_Tipo_de_Cambio_var, nsh_Empleo_var)
colnames(nsh_var_data) <- cbind("nsh_IED_var","nsh_Innovación_var","nsh_Salario_Diario_var","nsh_Tipo_de_Cambio_var", "nsh_Empleo_var")
# this line will automatically generate the preferred lag order based on the multivariate iterations of the Akaike Information Criterion - AIC.
# Selection of lag order might be related to the lowest AIC shown.
lag_selection_var <- VARselect(nsh_var_data,lag.max=2,type="const")
lag_selection_var$selection
## AIC(n) HQ(n) SC(n) FPE(n)
## 2 2 1 2
lag_selection_var$criteria
## 1 2
## AIC(n) 2.538228e+01 2.504881e+01
## HQ(n) 2.577295e+01 2.576505e+01
## SC(n) 2.685485e+01 2.774852e+01
## FPE(n) 1.114017e+11 1.093122e+11
# We estimate the VAR model. The p option refers to the number of lags used.
var_model_1 <- VAR(nsh_var_data,p=2,type="const",season=NULL,exog=NULL)
summary(var_model_1)
##
## VAR Estimation Results:
## =========================
## Endogenous variables: nsh_IED_var, nsh_Innovación_var, nsh_Salario_Diario_var, nsh_Tipo_de_Cambio_var, nsh_Empleo_var
## Deterministic variables: const
## Sample size: 24
## Log Likelihood: -415.858
## Roots of the characteristic polynomial:
## 1.107 1.107 1.028 0.7261 0.7261 0.6642 0.6642 0.4579 0.4579 0.1067
## Call:
## VAR(y = nsh_var_data, p = 2, type = "const", exogen = NULL)
##
##
## Estimation results for equation nsh_IED_var:
## ============================================
## nsh_IED_var = nsh_IED_var.l1 + nsh_Innovación_var.l1 + nsh_Salario_Diario_var.l1 + nsh_Tipo_de_Cambio_var.l1 + nsh_Empleo_var.l1 + nsh_IED_var.l2 + nsh_Innovación_var.l2 + nsh_Salario_Diario_var.l2 + nsh_Tipo_de_Cambio_var.l2 + nsh_Empleo_var.l2 + const
##
## Estimate Std. Error t value Pr(>|t|)
## nsh_IED_var.l1 -1.920e-01 2.746e-01 -0.699 0.4966
## nsh_Innovación_var.l1 8.109e+04 3.218e+04 2.520 0.0256 *
## nsh_Salario_Diario_var.l1 -5.841e+02 6.185e+03 -0.094 0.9262
## nsh_Tipo_de_Cambio_var.l1 5.431e+03 2.358e+04 0.230 0.8214
## nsh_Empleo_var.l1 -1.393e+03 4.777e+04 -0.029 0.9772
## nsh_IED_var.l2 1.980e-01 3.106e-01 0.638 0.5348
## nsh_Innovación_var.l2 -6.893e+04 3.952e+04 -1.744 0.1047
## nsh_Salario_Diario_var.l2 -8.173e+03 7.293e+03 -1.121 0.2827
## nsh_Tipo_de_Cambio_var.l2 3.155e+04 1.915e+04 1.648 0.1233
## nsh_Empleo_var.l2 1.928e+04 5.102e+04 0.378 0.7117
## const -1.185e+06 3.795e+06 -0.312 0.7598
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
##
## Residual standard error: 105900 on 13 degrees of freedom
## Multiple R-Squared: 0.6238, Adjusted R-squared: 0.3344
## F-statistic: 2.156 on 10 and 13 DF, p-value: 0.09759
##
##
## Estimation results for equation nsh_Innovación_var:
## ===================================================
## nsh_Innovación_var = nsh_IED_var.l1 + nsh_Innovación_var.l1 + nsh_Salario_Diario_var.l1 + nsh_Tipo_de_Cambio_var.l1 + nsh_Empleo_var.l1 + nsh_IED_var.l2 + nsh_Innovación_var.l2 + nsh_Salario_Diario_var.l2 + nsh_Tipo_de_Cambio_var.l2 + nsh_Empleo_var.l2 + const
##
## Estimate Std. Error t value Pr(>|t|)
## nsh_IED_var.l1 -9.797e-07 2.466e-06 -0.397 0.6976
## nsh_Innovación_var.l1 8.272e-01 2.890e-01 2.862 0.0133 *
## nsh_Salario_Diario_var.l1 1.165e-02 5.555e-02 0.210 0.8372
## nsh_Tipo_de_Cambio_var.l1 4.988e-02 2.118e-01 0.236 0.8175
## nsh_Empleo_var.l1 -1.107e-01 4.290e-01 -0.258 0.8005
## nsh_IED_var.l2 2.348e-06 2.789e-06 0.842 0.4152
## nsh_Innovación_var.l2 -4.926e-01 3.549e-01 -1.388 0.1885
## nsh_Salario_Diario_var.l2 -2.511e-02 6.550e-02 -0.383 0.7077
## nsh_Tipo_de_Cambio_var.l2 -8.886e-02 1.720e-01 -0.517 0.6140
## nsh_Empleo_var.l2 -6.541e-02 4.583e-01 -0.143 0.8887
## const 2.666e+01 3.408e+01 0.782 0.4480
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
##
## Residual standard error: 0.9514 on 13 degrees of freedom
## Multiple R-Squared: 0.4649, Adjusted R-squared: 0.05323
## F-statistic: 1.129 on 10 and 13 DF, p-value: 0.4104
##
##
## Estimation results for equation nsh_Salario_Diario_var:
## =======================================================
## nsh_Salario_Diario_var = nsh_IED_var.l1 + nsh_Innovación_var.l1 + nsh_Salario_Diario_var.l1 + nsh_Tipo_de_Cambio_var.l1 + nsh_Empleo_var.l1 + nsh_IED_var.l2 + nsh_Innovación_var.l2 + nsh_Salario_Diario_var.l2 + nsh_Tipo_de_Cambio_var.l2 + nsh_Empleo_var.l2 + const
##
## Estimate Std. Error t value Pr(>|t|)
## nsh_IED_var.l1 4.150e-06 8.749e-06 0.474 0.64310
## nsh_Innovación_var.l1 -6.316e-01 1.025e+00 -0.616 0.54854
## nsh_Salario_Diario_var.l1 6.819e-01 1.971e-01 3.459 0.00423 **
## nsh_Tipo_de_Cambio_var.l1 1.377e-01 7.513e-01 0.183 0.85744
## nsh_Empleo_var.l1 2.334e+00 1.522e+00 1.533 0.14919
## nsh_IED_var.l2 6.604e-06 9.896e-06 0.667 0.51622
## nsh_Innovación_var.l2 5.463e-01 1.259e+00 0.434 0.67152
## nsh_Salario_Diario_var.l2 7.393e-01 2.324e-01 3.181 0.00723 **
## nsh_Tipo_de_Cambio_var.l2 1.307e-01 6.101e-01 0.214 0.83370
## nsh_Empleo_var.l2 -1.657e+00 1.626e+00 -1.019 0.32674
## const -1.033e+02 1.209e+02 -0.854 0.40840
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
##
## Residual standard error: 3.376 on 13 degrees of freedom
## Multiple R-Squared: 0.9779, Adjusted R-squared: 0.9608
## F-statistic: 57.43 on 10 and 13 DF, p-value: 4.293e-09
##
##
## Estimation results for equation nsh_Tipo_de_Cambio_var:
## =======================================================
## nsh_Tipo_de_Cambio_var = nsh_IED_var.l1 + nsh_Innovación_var.l1 + nsh_Salario_Diario_var.l1 + nsh_Tipo_de_Cambio_var.l1 + nsh_Empleo_var.l1 + nsh_IED_var.l2 + nsh_Innovación_var.l2 + nsh_Salario_Diario_var.l2 + nsh_Tipo_de_Cambio_var.l2 + nsh_Empleo_var.l2 + const
##
## Estimate Std. Error t value Pr(>|t|)
## nsh_IED_var.l1 5.963e-06 3.298e-06 1.808 0.0938 .
## nsh_Innovación_var.l1 4.861e-01 3.865e-01 1.258 0.2306
## nsh_Salario_Diario_var.l1 1.041e-01 7.430e-02 1.402 0.1844
## nsh_Tipo_de_Cambio_var.l1 6.620e-01 2.832e-01 2.338 0.0361 *
## nsh_Empleo_var.l1 -4.433e-01 5.738e-01 -0.773 0.4536
## nsh_IED_var.l2 3.599e-06 3.730e-06 0.965 0.3522
## nsh_Innovación_var.l2 -5.164e-01 4.747e-01 -1.088 0.2964
## nsh_Salario_Diario_var.l2 -1.175e-01 8.760e-02 -1.341 0.2028
## nsh_Tipo_de_Cambio_var.l2 2.812e-02 2.300e-01 0.122 0.9046
## nsh_Empleo_var.l2 -4.261e-02 6.129e-01 -0.070 0.9456
## const 4.805e+01 4.558e+01 1.054 0.3109
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
##
## Residual standard error: 1.272 on 13 degrees of freedom
## Multiple R-Squared: 0.9441, Adjusted R-squared: 0.9011
## F-statistic: 21.96 on 10 and 13 DF, p-value: 1.567e-06
##
##
## Estimation results for equation nsh_Empleo_var:
## ===============================================
## nsh_Empleo_var = nsh_IED_var.l1 + nsh_Innovación_var.l1 + nsh_Salario_Diario_var.l1 + nsh_Tipo_de_Cambio_var.l1 + nsh_Empleo_var.l1 + nsh_IED_var.l2 + nsh_Innovación_var.l2 + nsh_Salario_Diario_var.l2 + nsh_Tipo_de_Cambio_var.l2 + nsh_Empleo_var.l2 + const
##
## Estimate Std. Error t value Pr(>|t|)
## nsh_IED_var.l1 1.971e-07 1.049e-06 0.188 0.85385
## nsh_Innovación_var.l1 1.847e-02 1.229e-01 0.150 0.88289
## nsh_Salario_Diario_var.l1 -6.388e-02 2.363e-02 -2.703 0.01808 *
## nsh_Tipo_de_Cambio_var.l1 1.596e-01 9.007e-02 1.772 0.09975 .
## nsh_Empleo_var.l1 5.764e-01 1.825e-01 3.159 0.00755 **
## nsh_IED_var.l2 -1.967e-06 1.186e-06 -1.658 0.12129
## nsh_Innovación_var.l2 -3.414e-01 1.510e-01 -2.262 0.04149 *
## nsh_Salario_Diario_var.l2 4.681e-02 2.786e-02 1.680 0.11680
## nsh_Tipo_de_Cambio_var.l2 1.424e-02 7.314e-02 0.195 0.84868
## nsh_Empleo_var.l2 4.130e-01 1.949e-01 2.119 0.05395 .
## const 5.209e+00 1.450e+01 0.359 0.72509
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
##
## Residual standard error: 0.4047 on 13 degrees of freedom
## Multiple R-Squared: 0.836, Adjusted R-squared: 0.7099
## F-statistic: 6.628 on 10 and 13 DF, p-value: 0.001134
##
##
##
## Covariance matrix of residuals:
## nsh_IED_var nsh_Innovación_var nsh_Salario_Diario_var
## nsh_IED_var 1.122e+10 44394.4905 29708.8305
## nsh_Innovación_var 4.439e+04 0.9052 -0.6127
## nsh_Salario_Diario_var 2.971e+04 -0.6127 11.3941
## nsh_Tipo_de_Cambio_var 5.704e+04 0.1505 0.4087
## nsh_Empleo_var 7.360e+03 0.1065 -0.2585
## nsh_Tipo_de_Cambio_var nsh_Empleo_var
## nsh_IED_var 5.704e+04 7360.25898
## nsh_Innovación_var 1.505e-01 0.10652
## nsh_Salario_Diario_var 4.087e-01 -0.25851
## nsh_Tipo_de_Cambio_var 1.619e+00 -0.02304
## nsh_Empleo_var -2.304e-02 0.16375
##
## Correlation matrix of residuals:
## nsh_IED_var nsh_Innovación_var nsh_Salario_Diario_var
## nsh_IED_var 1.00000 0.4405 0.08309
## nsh_Innovación_var 0.44049 1.0000 -0.19077
## nsh_Salario_Diario_var 0.08309 -0.1908 1.00000
## nsh_Tipo_de_Cambio_var 0.42317 0.1243 0.09516
## nsh_Empleo_var 0.17170 0.2767 -0.18925
## nsh_Tipo_de_Cambio_var nsh_Empleo_var
## nsh_IED_var 0.42317 0.17170
## nsh_Innovación_var 0.12433 0.27667
## nsh_Salario_Diario_var 0.09516 -0.18925
## nsh_Tipo_de_Cambio_var 1.00000 -0.04474
## nsh_Empleo_var -0.04474 1.00000
forecast_1<-predict(var_model_1,n.ahead=2,ci=0.95) ### forecast for the next year
fanchart(forecast_1,names="Sales in Packs Per Capita",main="VAR Forecast U.S. nshette Sales in Packs per Capita",xlab="Year",ylab="Sales")
## Warning in fanchart(forecast_1, names = "Sales in Packs Per Capita", main = "VAR Forecast U.S. nshette Sales in Packs per Capita", :
## Invalid variable name(s) supplied, using first variable.
forecast_1
## $nsh_IED_var
## fcst lower upper CI
## [1,] 386862.0 179241.6 594482.4 207620.4
## [2,] 205154.9 -45168.7 455478.6 250323.6
##
## $nsh_Innovación_var
## fcst lower upper CI
## [1,] 12.42406 10.559316 14.28880 1.864744
## [2,] 12.03545 9.676252 14.39466 2.359202
##
## $nsh_Salario_Diario_var
## fcst lower upper CI
## [1,] 156.4503 149.8344 163.0662 6.615898
## [2,] 177.6101 169.3553 185.8648 8.254780
##
## $nsh_Tipo_de_Cambio_var
## fcst lower upper CI
## [1,] 19.21587 16.72207 21.70967 2.493799
## [2,] 18.35320 14.48980 22.21660 3.863401
##
## $nsh_Empleo_var
## fcst lower upper CI
## [1,] 96.21139 95.41826 97.00452 0.7931279
## [2,] 95.31051 94.19739 96.42363 1.1131242
# Ho: Time series x does not Granger-cause time series y
# Ha: Time series x Granger-causes time series y
# Granger causality testing each variable against all the others.
# There could be a unidirectional, bidirectional, or no causality relationships between variables.
granger_1<-causality(var_model_1,cause="nsh_IED_var")
granger_1
## $Granger
##
## Granger causality H0: nsh_IED_var do not Granger-cause
## nsh_Innovación_var nsh_Salario_Diario_var nsh_Tipo_de_Cambio_var
## nsh_Empleo_var
##
## data: VAR object var_model_1
## F-Test = 1.2192, df1 = 8, df2 = 65, p-value = 0.3021
##
##
## $Instant
##
## H0: No instantaneous causality between: nsh_IED_var and
## nsh_Innovación_var nsh_Salario_Diario_var nsh_Tipo_de_Cambio_var
## nsh_Empleo_var
##
## data: VAR object var_model_1
## Chi-squared = 6.326, df = 4, p-value = 0.1761
En el test de Granger como el valor p (p-value) es mayor que el nivel de significancia, no hay suficiente evidencia para rechazar la hipótesis nula. Por lo tanto, no podemos concluir que nsh_IED_var causa nsh_Innovación_var. Y en la prueba de causalidad el valor p (p-value) es mayor que 0.05, no hay suficiente evidencia para rechazar la hipótesis nula. Por lo tanto, no podemos concluir que haya causalidad instantánea entre nsh_IED_var y nsh_Innovación_var.
predicciones_VAR <- forecast(var_model_1, h = 3) # Pronóstico para los próximos 10 periodos
# Graficar las series temporales observadas y pronosticadas
autoplot(predicciones_VAR)
Parte importante que pudimos identificar en el análisis es el como la version extranjera representa un continuo aumento a través de los años, y como a través de este análisis y otras investigaciones referentes a la IED y nearshoring también nos confirman como México presentara un fuerte posicionamiento en los próximos años.
A través de este análisis de datos logramos identificar el comportamiento de las variables que forman parte de las características del desarrollo de inversion externa directa en México. Uno de los principales hallazgos es cómo se presenta el continuo aumento de dicha variable, lo cual por medio de noticias, investigaciones u otros análisis podría ser confirmado.
Zaga, D., & Ortiz, A. (2023, 13 julio). Nearshoring in Mexico. Deloitte Insights. https://www2.deloitte.com/us/en/insights/economy/issues-by-the-numbers/advantages-of-nearshoring-mexico.html
Hernández, E. (2024, 6 febrero). México recibirá más 9,000 mdd de inversión de la industria maquiladora por nearshoring en 2024. Forbes México. https://www.forbes.com.mx/mexico-recibira-mas-9-mil-mdd-de-inversion-de-la-industria-maquiladora-por-nearshoring-en-2024/
Time Series Analysis: Definition, Types, Techniques, and When It’s Used. (s. f.). Tableau. https://www.tableau.com/learn/articles/time-series-analysis#definition