# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
#               *****   \\  Curva de Phillips Original y Aumentada //    *****
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -   
#    Macroeconomía UABC MCE - Josefana Z Robles (2022)  
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 

library(readxl)
library(tidyverse)
## ── Attaching packages ─────────────────────────────────────── tidyverse 1.3.2 ──
## ✔ ggplot2 3.3.6     ✔ purrr   0.3.4
## ✔ tibble  3.1.8     ✔ dplyr   1.0.9
## ✔ tidyr   1.2.0     ✔ stringr 1.4.1
## ✔ readr   2.1.2     ✔ forcats 0.5.2
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
library(mFilter)
## Warning: package 'mFilter' was built under R version 4.2.2
library(x12)
## Warning: package 'x12' was built under R version 4.2.2
## Loading required package: x13binary
## x12 is ready to use.
## Use the package x12GUI for a Graphical User Interface. 
## 
## By default the X13-ARIMA-SEATS binaries provided by the R package x13binary
## 
## are used but this can be changed with x12path(validpath) 
## 
## ---------------
## 
## Suggestions and bug-reports can be submitted at: https://github.com/statistikat/x12/issues
library(tseries)
## Warning: package 'tseries' was built under R version 4.2.2
## Registered S3 method overwritten by 'quantmod':
##   method            from
##   as.zoo.data.frame zoo
# ****************
# Modelos
# ****************





# ****************
# Variables 
# ****************

#Variables:


#Variables:

#
#Desocupación: Tasa mensual desde 2005/01 al 2022/09, 
#               datos obtenidos de https://www.inegi.org.mx/temas/empleo/# de ENOE

#IGAE: Variacion mensual 2004/12 al 2022/09, serie original se obtiene estacional (columna 2) y observada (columna 3). 

#INPC: Variacion mensual 2004/12 al 2022/09, serie original de observados


##Inflacion: tasa de inflacion mensual INPC *anualizada* desde 1970/01 a 2022/10 INEGI. 

# ****************
#Datos
# ****************

tasa_desocupacion <- read_excel("C:/Users/zacar/OneDrive/Documents/UABC/Semestre 1/Macroeconomia/Proyecto/R intento 1/tasa deocupacion2.xlsx", 
                               col_types = c("text", "numeric", "numeric"))

tasa_inflacion<- read_excel("C:/Users/zacar/OneDrive/Documents/UABC/Semestre 1/Macroeconomia/Proyecto/R intento 1/tasa inflacion menusal anualizada.xls", 
                            col_types = c("text", "numeric"))


igae_1= read_excel("C:/Users/zacar/OneDrive/Documents/UABC/Semestre 1/Macroeconomia/Proyecto/R intento 1/igae  04_12 al 2022_09 serie original valores nominales y variacion porcentual.xlsx", 
                   col_types = c("numeric", "numeric", "numeric")) #serie del 2004/12 al 2022/09

inpc_1=read_excel("C:/Users/zacar/OneDrive/Documents/UABC/Semestre 1/Macroeconomia/Proyecto/R intento 1/inpc del 2004_12.xlsx", 
                col_types = c("text", "numeric"))
# ****************
#Tratamiento de datos, recortes, converción a serie de tiempo. Para *2005/01-2022/09*
# ****************

#Desocupacion                         
desocupacion=tasa_desocupacion[1:213, 2] #se utiliza col 2 desestacionalizada por INEGI
desocupacion=ts(desocupacion, start = c(2005,1), frequency = 12)
desocupacion
##           Jan      Feb      Mar      Apr      May      Jun      Jul      Aug
## 2005 3.636748 3.551328 3.632447 3.566393 3.677618 3.743455 3.575235 3.434879
## 2006 3.202329 3.521727 3.335858 3.382156 3.146113 3.506228 3.665236 3.616838
## 2007 3.730096 3.816646 3.800402 3.688027 3.465476 3.538403 3.486975 3.576415
## 2008 3.817041 3.680190 3.760082 3.617414 3.576200 3.611739 3.843450 3.776208
## 2009 4.672358 5.002623 4.956371 5.197652 5.597792 5.285763 5.461678 5.708941
## 2010 5.412059 5.114803 5.149166 5.457824 5.252435 5.136020 5.294027 5.015470
## 2011 5.030804 5.265520 5.110915 5.199065 5.366542 5.553979 5.206646 5.288444
## 2012 4.630735 5.291369 5.019664 4.907739 4.775153 4.817019 4.748300 4.939648
## 2013 5.164018 4.811967 4.975794 5.013497 4.968505 5.033925 4.865271 4.817481
## 2014 4.877896 4.758795 5.325668 4.906655 4.949264 4.829825 5.188102 4.842201
## 2015 4.375310 4.442441 4.281260 4.347880 4.429041 4.417487 4.474608 4.396869
## 2016 4.158072 4.274807 4.146666 3.817332 3.991154 3.920468 3.797966 3.756845
## 2017 3.536529 3.446384 3.542699 3.470851 3.544700 3.277538 3.250134 3.329668
## 2018 3.294549 3.266664 3.268807 3.385548 3.242378 3.359155 3.296531 3.272067
## 2019 3.475634 3.360087 3.621343 3.496456 3.553915 3.542238 3.531051 3.490090
## 2020 3.668145 3.564047 3.290729 4.703859 4.283270 5.453441 5.028635 4.916391
## 2021 4.556110 4.376039 4.420494 4.700399 4.096172 3.987884 4.103370 4.015317
## 2022 3.583067 3.693088 3.402882 3.079914 3.358122 3.321386 3.211127 3.262840
##           Sep      Oct      Nov      Dec
## 2005 3.340540 3.260866 3.147454 3.173348
## 2006 3.727896 3.677550 3.739528 3.790203
## 2007 3.503713 3.631281 3.553486 3.524224
## 2008 3.855958 4.023349 4.537086 4.534693
## 2009 5.986466 5.493176 5.289008 5.290232
## 2010 5.281470 5.332074 5.314643 5.508743
## 2011 5.073615 4.873744 5.067663 5.019080
## 2012 4.592294 4.909899 5.162259 4.891232
## 2013 4.970389 4.891555 4.591808 4.729750
## 2014 4.764825 4.651056 4.654514 4.133622
## 2015 4.194197 4.440961 4.070716 4.309724
## 2016 3.841845 3.581277 3.591414 3.635964
## 2017 3.340066 3.446110 3.498625 3.371032
## 2018 3.335702 3.209346 3.343405 3.594815
## 2019 3.527551 3.637977 3.530479 3.119639
## 2020 4.810009 4.629471 4.514591 4.088603
## 2021 3.935636 3.884704 3.815472 3.807964
## 2022 3.144236
plot(desocupacion, main="Tasa de desocupación menusal 2005-2022", sub="Elaboración propia con dato de INEGI (tendencia ciclo mensual)", ylab="Tasa", xlab="Tiempo", type="l",
     cex.main=1, font.main=4,
     cex.sub=0.75, font.sub=3)

#inflacion modelo 1
inflacion=ts(tasa_inflacion[421:633,2],start = c(2005,1), frequency = 12)
inflacion
##       Jan  Feb  Mar  Apr  May  Jun  Jul  Aug  Sep  Oct  Nov  Dec
## 2005 4.54 4.27 4.39 4.60 4.60 4.33 4.47 3.95 3.51 3.05 2.91 3.33
## 2006 3.94 3.75 3.41 3.20 3.00 3.18 3.06 3.47 4.09 4.29 4.09 4.05
## 2007 3.98 4.11 4.21 3.99 3.95 3.98 4.14 4.03 3.79 3.74 3.93 3.76
## 2008 3.70 3.72 4.25 4.55 4.95 5.26 5.39 5.57 5.47 5.78 6.23 6.53
## 2009 6.28 6.20 6.04 6.17 5.98 5.74 5.44 5.08 4.89 4.50 3.86 3.57
## 2010 4.46 4.83 4.97 4.27 3.92 3.69 3.64 3.68 3.70 4.02 4.32 4.40
## 2011 3.78 3.57 3.04 3.36 3.25 3.28 3.55 3.42 3.14 3.20 3.48 3.82
## 2012 4.05 3.87 3.73 3.41 3.85 4.34 4.42 4.57 4.77 4.60 4.18 3.57
## 2013 3.25 3.55 4.25 4.65 4.63 4.09 3.47 3.46 3.39 3.36 3.62 3.97
## 2014 4.48 4.23 3.76 3.50 3.51 3.75 4.07 4.15 4.22 4.30 4.17 4.08
## 2015 3.07 3.00 3.14 3.06 2.88 2.87 2.74 2.59 2.52 2.48 2.21 2.13
## 2016 2.61 2.87 2.60 2.54 2.60 2.54 2.65 2.73 2.97 3.06 3.31 3.36
## 2017 4.72 4.86 5.35 5.82 6.16 6.31 6.44 6.66 6.35 6.37 6.63 6.77
## 2018 5.55 5.34 5.04 4.55 4.51 4.65 4.81 4.90 5.02 4.90 4.72 4.83
## 2019 4.37 3.94 4.00 4.41 4.28 3.95 3.78 3.16 3.00 3.02 2.97 2.83
## 2020 3.24 3.70 3.25 2.15 2.84 3.33 3.62 4.05 4.01 4.09 3.33 3.15
## 2021 3.54 3.76 4.67 6.08 5.89 5.88 5.81 5.59 6.00 6.24 7.37 7.36
## 2022 7.07 7.28 7.45 7.68 7.65 7.99 8.15 8.70 8.70
plot(inflacion, main="Tasa de inflacion menusal 2005-2022", sub="Elaboracion porpia con datos de INEGI (inflacion mensual anualizada)", ylab="Tasa", xlab="Tiempo",
     cex.main=1, font.main=4,
     cex.sub=0.75, font.sub=3)

#inflacion modelo 2 
infla_modelo2=ts(tasa_inflacion[420:633,2],start = c(2005,1), frequency = 12)

#inpc modelo 1
inpc=ts(inpc_1[2:214,2],start = c(2005,1), frequency = 12)
inpc
##        Jan   Feb   Mar   Apr   May   Jun   Jul   Aug   Sep   Oct   Nov   Dec
## 2005  0.00  0.33  0.45  0.36 -0.25 -0.10  0.39  0.12  0.40  0.25  0.72  0.61
## 2006  0.59  0.15  0.13  0.15 -0.45  0.09  0.27  0.51  1.01  0.44  0.52  0.58
## 2007  0.52  0.28  0.22 -0.06 -0.49  0.12  0.42  0.41  0.78  0.39  0.71  0.41
## 2008  0.46  0.30  0.72  0.23 -0.11  0.41  0.56  0.58  0.68  0.68  1.14  0.69
## 2009  0.23  0.22  0.58  0.35 -0.29  0.18  0.27  0.24  0.50  0.30  0.52  0.41
## 2010  1.09  0.58  0.71 -0.32 -0.63 -0.03  0.22  0.28  0.52  0.62  0.80  0.50
## 2011  0.49  0.38  0.19 -0.01 -0.74  0.00  0.48  0.16  0.25  0.67  1.08  0.82
## 2012  0.71  0.20  0.06 -0.31 -0.32  0.46  0.56  0.30  0.44  0.51  0.68  0.23
## 2013  0.40  0.49  0.73  0.07 -0.33 -0.06 -0.03  0.28  0.38  0.48  0.93  0.57
## 2014  0.89  0.25  0.27 -0.19 -0.32  0.17  0.28  0.36  0.44  0.55  0.81  0.49
## 2015 -0.09  0.19  0.41 -0.26 -0.50  0.17  0.15  0.21  0.37  0.51  0.55  0.41
## 2016  0.38  0.44  0.15 -0.32 -0.45  0.11  0.26  0.28  0.61  0.61  0.78  0.46
## 2017  1.70  0.58  0.61  0.12 -0.12  0.25  0.38  0.49  0.31  0.63  1.03  0.59
## 2018  0.53  0.38  0.32 -0.34 -0.16  0.39  0.54  0.58  0.42  0.52  0.85  0.70
## 2019  0.09 -0.03  0.39  0.05 -0.29  0.06  0.38 -0.02  0.26  0.54  0.81  0.56
## 2020  0.48  0.42 -0.05 -1.01  0.38  0.55  0.66  0.39  0.23  0.61  0.08  0.38
## 2021  0.86  0.63  0.83  0.33  0.20  0.53  0.59  0.19  0.62  0.84  1.14  0.36
## 2022  0.59  0.83  0.99  0.54  0.18  0.84  0.74  0.70  0.62
plot(inpc, main="Variacion menusal porcentual INPC 2005-2022", sub="Elaboración propia con datos de INEGI", ylab="", xlab="Tiempo",
     cex.main=1, font.main=4,
     cex.sub=0.75, font.sub=3)

#inpc modelo 2
inpc2=ts(inpc_1[1:214,2],start = c(2005,1), frequency = 12)



# ****************
#Grafica  plot para 2005-20022 desocupacion y tasa de inflacion

# ****************

plot(desocupacion, lwd=2, ylim=c(1,9),
     ylab="Tasa", xlab="Tiempo")
lines(inflacion, lwd=2, col="gray")
legend("topleft", legend = c("Tasa desocupación", "Tasa inflación"), fill = c("Black", "Gray"), cex=.5)
title("Gráfica 1
      Evolución de tasa mensual de desocupación e inflación 
      2005-2022", sub="Fuente: Elaboración propia con datos de INEGI/ENOE",
      cex.main=1, font.main=4,
      cex.sub=0.75, font.sub=3)

# ****************
#Gráfica CON REZAGOS para *2005-2022* 
#inflacion y desempleo
# ****************

#observamos los ciclos con decompose

decompose1=decompose(desocupacion)
plot(decompose1)

#obtenemos log y hacemos diferencias para suavizar

#desocupacion
log_deso=log(desocupacion)
plot(log_deso, main="Log Desocupación 2005-2022",xlab="", ylab="",
     sub="Fuente: Elaboración propia con datos de INEGI/ENOE",
     cex.main=1, font.main=4,
     cex.sub=0.75, font.sub=3)

diff1= diff(log_deso, lag = 18)
plot(diff1, main= "Desocupación con 1 rezagos 2005-2022", xlab="", ylab="",
     sub="Fuente: Elaboración propia con datos de INEGI/ENOE",
     cex.main=1, font.main=4,
     cex.sub=0.75, font.sub=3)

#inflacion
log_infla=log(inflacion)
plot(log_infla, main="Log inflación 2005-2022",xlab="", ylab="",
     sub="Fuente: Elaboración propia con datos de INEGI/ENOE",
     cex.main=1, font.main=4,
     cex.sub=0.75, font.sub=3)

diff2=diff(log_infla, lag=18)
plot(diff2, main= "Inflacion con 12 rezagos 2005-2022",xlab="", ylab="",
     sub="Fuente: Elaboración propia con datos de INEGI/ENOE",
     cex.main=1, font.main=4,
     cex.sub=0.75, font.sub=3)

#Graficamos ambas en 1
plot(diff1, lwd=2, ylim=c(-1.5,2),
     ylab="", xlab="")
lines(diff2)
legend("topleft", cex = .75, legend = c("Tasa desocupación ENOE", "Tasa inflación"), fill = c("Black", "Gray"))
title("Gráfica 2
      Comparación desocupación e inflación México 2005-2022", sub="Fuente: Elaboración propia con datos de INEGI",
      cex.main=1, font.main=4,
      cex.sub=0.75, font.sub=3)

# ****************
                                      #MODELO 1A

#Calculos  para regresion y grafica simple *2005-20222* MODELO 1A

                                    #Inflación y desocupación
# ****************

#La curva de Phillips original, con inflacion menusal anualizada (si quiero usar variacion INPC cambiar "inflacion" por "inpc")

#Para hacer la regresión es necesario unir la base de datos y volver a hacerlas serie de tiempo

datos1A= data.frame(desocupacion, inflacion)
colnames(datos1A)=c("desocupacion", "inflacion")
datos1A=ts(datos1A, start = c(2005,1), frequency = 12)

#modelo 1
modeloA= lm(inflacion~desocupacion, data=datos1A)
modeloA
## 
## Call:
## lm(formula = inflacion ~ desocupacion, data = datos1A)
## 
## Coefficients:
##  (Intercept)  desocupacion  
##       5.9046       -0.3788
plot(modeloA, ask=FALSE, main= "Phillips Original")

summary(modeloA) #resultados
## 
## Call:
## lm(formula = inflacion ~ desocupacion, data = datos1A)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -2.1524 -0.7872 -0.2214  0.5823  4.0315 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept)    5.9046     0.4988  11.838  < 2e-16 ***
## desocupacion  -0.3788     0.1172  -3.234  0.00142 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1.274 on 211 degrees of freedom
## Multiple R-squared:  0.04722,    Adjusted R-squared:  0.0427 
## F-statistic: 10.46 on 1 and 211 DF,  p-value: 0.001418
#grafica de regresion simple
plot(desocupacion, inflacion, 
     ylab="Inflación", xlab="Desocupación", cex.main=.75)
abline(modeloA, lwd=2)
title("Gráfica 3
      Modelo 1A. Curva de Phillips Para México 
      2005-2022", sub="Fuente: Elaboración propia con datos de INEGI
      Inflación mensual anualizado", 
      cex.main=1, font.main=4,
      cex.sub=0.55, font.sub=3)

# ****************
                                        #MODELO 1B

#Calculos para regresion y grafica simple *2005-20222* sin LOG

                                    #INPC e IGAE
# ****************


#Recortar serie, seleccionar columna 2 (variacion estacional) y pasar a serie de tiempo:
igae= ts(igae_1 [2:214,2], start = c(2004,12), frequency = 12) #se toma col 2
plot(igae, main="IGAE tasa variación mensual 
2005-2022", sub="Elaboracion propia con datos de INEGI", cex.sub=0.75)

#grafica de evolucion de IGAE e inflacion 
plot(igae, lwd=2,
     ylab="Tasa", xlab="")
lines(inflacion) #NO confundir con una serie desestacionalizada, es solo que el IGAE si tiene valores
#negativos y por eso parece que gira alrededor de cero
legend("topleft", cex = .75, legend = c("% Variación IGAE", "Tasa inflación mensual anualizada"), fill = c("Black", "Gray"))
title("Gráfica 4
      Comparacion de tasa de IGAE e inflación 2005-2022", sub="Fuente: Elaboración propia con datos INEGI",
      cex.main=1, font.main=4,
      cex.sub=0.75, font.sub=3)

#Juntar base de datos para modelo

datos1B= data.frame(igae, inflacion)
colnames(datos1B)=c("igae", "inflacion")
datos1B=ts(datos1B, start = c(2005,1), frequency = 12)

#modelo 1B sin log
modelo1B= lm(inflacion~igae, data=datos1B)
modelo1B
## 
## Call:
## lm(formula = inflacion ~ igae, data = datos1B)
## 
## Coefficients:
## (Intercept)         igae  
##      4.2988       0.0104
plot(modelo1B, ask=FALSE, main= "Phillips Original IGAE-Inflación")

summary(modelo1B)#resultados
## 
## Call:
## lm(formula = inflacion ~ igae, data = datos1B)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -2.1920 -0.9245 -0.2688  0.5392  4.3476 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  4.29885    0.09532  45.097   <2e-16 ***
## igae         0.01040    0.01953   0.532    0.595    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1.304 on 211 degrees of freedom
## Multiple R-squared:  0.001341,   Adjusted R-squared:  -0.003392 
## F-statistic: 0.2833 on 1 and 211 DF,  p-value: 0.5951
#Grafica

plot(igae, inflacion,
     ylab="INPC", xlab="IGAE")
abline(modelo1B, lwd=2)
title("Gráfica 5
      Modelo 1B. Curva de Phillips  
      2005-2022 Inflación e IGAE", sub="Fuente: Elaboración propia con datos de INEGI
      INPC mensual anualizado", 
      cex.main=1, font.main=4,
      cex.sub=0.5, font.sub=3)

# ****************
                                             #MODELO 2A 
                                    #Curva de Phillips Aumentada 
                                      #Desocupación e INPC

# ****************

#Se utiliza serie desestacionalizada menos tendencia de ingi en logaritmos

brecha_p=(log(tasa_desocupacion[1:213, 2]))-(log(tasa_desocupacion[1:213, 3]))
brecha_p=ts(brecha_p, start = c(2005,1), frequency = 12)
plot(brecha_p, ylab="", xlab="")
title("Gráfica 6
      Brecha desocupacion 
      2005-2022 Inflación e IGAE", sub="Fuente: Elaboración propia con datos de INEGI
      Log tasa desocupacion desestacionalizada menos tendencia calculada por INEGI", 
      cex.main=1, font.main=4,
      cex.sub=0.75, font.sub=3)

diff_inpc1=diff(inpc2, lag=1)
data_p=data.frame(diff_inpc1, brecha_p)
colnames(data_p)=c("diff_inpc1", "brecha_p")
data_p=ts(data_p, start = c(2005,1), frequency = 12)
modelo2A_p= lm(diff_inpc1 ~brecha_p, data=data_p)
summary(modelo2A_p)
## 
## Call:
## lm(formula = diff_inpc1 ~ brecha_p, data = data_p)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -1.12900 -0.25354  0.03485  0.25460  1.32779 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)
## (Intercept)  0.00138    0.02574   0.054    0.957
## brecha_p    -0.36945    0.79339  -0.466    0.642
## 
## Residual standard error: 0.3753 on 211 degrees of freedom
## Multiple R-squared:  0.001027,   Adjusted R-squared:  -0.003708 
## F-statistic: 0.2168 on 1 and 211 DF,  p-value: 0.6419
plot(brecha_p, diff_inpc1, 
     ylab="INPC", xlab="Desocupación")
abline(modelo2A_p)
title("Gráfica 7
      Modelo 2A. Curva de Phillips  
      2005-2022 Inflación y desocupación", sub="Fuente: Elaboración propia con datos de INEGI
      inflación con 1 rezago", 
      cex.main=1, font.main=4,
      cex.sub=0.5, font.sub=3)

  # ****************
  #MODELO 2B Curva de Phillips aumentada Con Producto
  
  #Preparacion de datos
  # ****************
  
  #Para realizar esta serie se utilizan datos originales (sin variacion, estacionalizados)
  #X12-ARIMA se utiliza para eliminar el componente estacional de la inflación. 
  #La medida de la brecha de producto se calcula de la siguiente manera: En primer lugar, el componente estacional se
  #elimina de la primera diferencia del logaritmo del IGAE mediante el procedimiento X12-ARIMA. En segundo lugar, se
  #construye una medida del logaritmo del IGAE sin el componente estacional. En tercer lugar, la brecha de producto se define
  #como la diferencia entre esta medida y su tendencia HP (Hodrick y Prescott, 1997).


#brecha=arima-HP


#MODELO 2b

#Valor original
igae_1= ts(igae_1 [2:214,1], start = c(2004,12), frequency = 12) #se toma col 1 val observados
plot(igae_1, main="IGAE serie observada 2004/12-2022/09", sub="Elaboracion propia con datos de INEGI", cex.sub=0.5)

log_igae=log(igae_1)
plot(log_igae)
title("Gráfica ?
      Evolución log de tasa de IGAE
      2005-2010", sub="Fuente: Elaboración propia con datos de INEGI",
      cex.main=1, font.main=4,
      cex.sub=0.75, font.sub=3)

# ****************
#x-12 arima para desestacionalizar datos
# ****************

igae_x12=x12(log_igae)
summary(igae_x12) #modelo ARIMA: (3 0 1)(0 1 1)
## 
##  Time Series
## 
## Frequency: 12 
## Span: 12th month,2004 to  8th month,2022 
## 
##  Model Definition
## 
## ARIMA Model: (3 0 1)(0 1 1) (Automatic Model Choice)
## Model Span:  
## Transformation: Automatic selection : No transformation 
## Regression Model: Constant 
## 
##  Outlier Detection
## 
## No outlier detection performed
## 
##  Regression Model
##   variable  coef stderr  tval
## 1 Constant 0.016  0.003 6.332
## 
##  Seasonal Adjustment
## 
## Identifiable Seasonality: yes 
## Seasonal Peaks: none 
## Trading Day Peaks: rsd sa irr 
## Overall Index of Quality of SA
## (Acceptance Region from 0 to 1)
## Q: 0.49 
## Number of M statistics outside the limits: 0 
## 
## SA decomposition: additive 
## Moving average used to estimate the seasonal factors: 3x5 
## Moving average used to estimate the final trend-cycle: 13-term Henderson filter
plot(igae_x12, sa=TRUE , trend=FALSE, original=TRUE, main="Gráfica ?
     IGAE serie original y desestacionalizada por arima X-12", sub="Elaboración Propia con datos de INEGI", cex.sub=0.5, 
     xlab="Tiempo", ylab="Valor",
     lwd_original=1, lwd_sa=2, col_sa="gray")

#d11    is final seasonally adjusted data, buscar definiciones en x12work

#volviendo a graficar para blanco y negro y ajustes linea y subtitulos
ajustadaigae=igae_x12@d11
plot(ajustadaigae, lwd=3, xlab="", ylab="", col="black")
lines(log_igae, lwd=2, type="l", col="gray")
legend("topleft", cex = .6, legend = c("IGAE desestacionalizado", "IGAE observado"), fill = c("Black", "Gray"))
title("Gráfica 8
      Desestacionalizacion IGAE  con ARIMA X-12
      2005-2022", sub="Fuente: Elaboración propia con datos INEGI
      log modelo ARIMA: (3 0 1)(0 1 1)",
      cex.main=1, font.main=4,
      cex.sub=0.75, font.sub=3)

adf.test(ajustadaigae, alternative="stationary")
## 
##  Augmented Dickey-Fuller Test
## 
## data:  ajustadaigae
## Dickey-Fuller = -2.5437, Lag order = 5, p-value = 0.348
## alternative hypothesis: stationary
# ****************
#Tendencia Hodrick y Prescott
# ****************

lambda_hp=1600

hp_igae= hpfilter(log_igae, type="lambda", freq=lambda_hp)

plot(hp_igae, ask= FALSE, col="black")
title( sub="Fuente: Elaboración propia con dato de INEGI", 
       cex.main=1, font.main=4,
       cex.sub=0.75, font.sub=3)

trend.hp_igae=hp_igae[["trend"]]
plot(trend.hp_igae, xlab="", ylab="")
title( "Gráfica ?
       IGAE Filtro Hodrick y Prescott
      2005-2022", sub="Fuente: Elaboración propia con dato de INEGI",
       cex.main=1, font.main=4,
       cex.sub=0.75, font.sub=3)

#graficar juntos tendecia x-12 y HP

plot(ajustadaigae, xlab="", ylab="", lwd=2)
lines(trend.hp_igae, lwd=2, col="blue")
lines(log_igae, type="h", col="gray")
legend("topleft", cex = .6, legend = c("IGAE desestacionalizado", "IGAE filtro HP", "IGAE observado"), fill = c("Black", "blue", "gray"))
title("Gráfica 8
      Evolución del producto desestacionalizado y filtro HP
      2005-2022", sub="Fuente: Elaboración propia con datos  INEGI
      Desestacionalizado por método X12 ARIMA 
      Tendencia Hodrick y Prescott (lambda 1600)",
      cex.main=1, font.main=4,
      cex.sub=0.75, font.sub=3)

# ****************
#Brecha del Producto
# ****************

#La brecha del producto es la serie desestacionalizada por arima x-12 menos la tendencia
#Hodrick y Prescott, es decir arima-hp= brecha del producto

brecha2B= ajustadaigae- trend.hp_igae
summary(brecha2B)
##  trend.hp_igae       
##  Min.   :-0.1858984  
##  1st Qu.:-0.0061043  
##  Median : 0.0019400  
##  Mean   : 0.0004039  
##  3rd Qu.: 0.0096349  
##  Max.   : 0.0556421
brecha2B
##                Jan           Feb           Mar           Apr           May
## 2004                                                                      
## 2005  1.343295e-02 -8.834221e-03  4.336801e-02  1.792289e-04 -6.597268e-03
## 2006  3.017865e-03  1.038565e-02  1.743921e-03  1.430762e-02  5.091063e-03
## 2007 -7.007567e-03 -1.143631e-03 -2.457644e-03  3.953186e-03  2.948162e-03
## 2008  2.428514e-02 -3.497368e-02  5.420805e-02  1.621854e-02  1.762949e-02
## 2009 -3.146907e-02 -3.422100e-02 -3.358034e-02 -4.889105e-02 -2.424090e-02
## 2010  1.055599e-03  1.285043e-02  2.207836e-02  1.903439e-03  8.537496e-03
## 2011 -3.477233e-03  8.886534e-03 -8.818516e-03 -2.527992e-03  2.972145e-03
## 2012  1.610022e-02  5.938960e-03 -3.872202e-03  5.428725e-03  4.128889e-03
## 2013 -3.278503e-03 -3.252302e-02  1.968846e-02  4.497812e-03 -1.539319e-02
## 2014 -1.567850e-03 -6.030037e-03  8.626908e-04  7.173096e-03 -6.097749e-03
## 2015 -2.130714e-03  1.939968e-03  3.180835e-03 -8.690568e-03  5.441798e-03
## 2016  1.554054e-02 -1.468780e-02  1.185797e-02 -6.905395e-03  3.727816e-03
## 2017 -3.997458e-03  1.795202e-02 -1.967982e-02  8.736734e-04  8.954724e-03
## 2018 -1.511384e-03 -1.068136e-02  1.382685e-02  1.478676e-02  1.006619e-02
## 2019  1.023074e-02  2.408834e-03  8.363173e-03  2.326897e-02  1.700207e-02
## 2020  5.564210e-02  2.500343e-02 -1.609417e-01 -1.858984e-01 -7.571962e-02
## 2021  4.981304e-03  3.533202e-02  3.175923e-02  2.556697e-02  3.171514e-02
## 2022  2.530615e-04  6.302841e-03  1.618455e-02  2.187382e-02  1.538976e-02
##                Jun           Jul           Aug           Sep           Oct
## 2004                                                                      
## 2005 -1.379610e-02  8.429470e-04  5.990124e-04 -2.613867e-02  1.950762e-03
## 2006 -5.998949e-03  3.477863e-03 -3.256613e-03 -1.199921e-02 -8.600860e-03
## 2007  4.444107e-04  5.020056e-03 -6.522304e-03  9.634903e-03  1.727428e-03
## 2008  3.494574e-02  1.006790e-02  2.023041e-02  3.099077e-02 -9.324306e-05
## 2009 -3.961196e-03 -2.413689e-02 -8.528736e-03 -2.089618e-03 -5.986819e-03
## 2010  6.229656e-03  4.542006e-04  5.943710e-03 -7.695957e-03  2.662844e-03
## 2011 -6.671693e-03  1.052318e-02  5.268071e-03 -1.178428e-02  1.074135e-02
## 2012  2.298839e-03  5.808190e-03 -9.492471e-03  4.025029e-03  1.669609e-02
## 2013 -1.836018e-03  9.915021e-05 -9.169698e-03  2.834977e-03 -2.535834e-03
## 2014  7.662586e-03 -1.039674e-02 -1.342871e-03  6.552128e-03 -7.522020e-03
## 2015  1.252147e-02 -4.215106e-03  1.919662e-02  1.691307e-03 -1.270947e-02
## 2016 -8.826583e-03  1.181829e-03  4.801930e-03 -1.070377e-02  5.435043e-03
## 2017 -1.523868e-02  1.921135e-03 -1.583130e-02 -1.332022e-02 -2.944902e-03
## 2018  5.237314e-03  9.788419e-03 -5.520182e-03  3.522610e-03 -1.872711e-04
## 2019  3.156727e-02  2.558589e-02  2.283063e-02  3.009888e-02  2.206975e-02
## 2020 -2.650957e-02 -2.739357e-02  8.386386e-03  9.314657e-03  4.450721e-03
## 2021  1.794842e-02 -8.848351e-03 -1.159693e-02 -2.770258e-02 -1.178166e-02
## 2022  2.493477e-03  1.550890e-02  6.180930e-03                            
##                Nov           Dec
## 2004                3.990147e-03
## 2005  5.054459e-03  1.093176e-02
## 2006 -1.331773e-02 -9.783606e-04
## 2007 -1.217304e-02  1.570436e-02
## 2008  3.382022e-03 -2.426287e-02
## 2009  4.431318e-03 -1.758628e-03
## 2010  5.935053e-03 -4.329882e-03
## 2011 -6.452166e-04  2.094467e-03
## 2012 -7.081267e-03  1.030776e-02
## 2013 -4.039772e-03 -4.081756e-03
## 2014  6.180599e-03  9.045025e-04
## 2015 -6.051418e-04 -9.915059e-03
## 2016  3.487301e-03 -2.922227e-04
## 2017 -6.104286e-03 -1.358454e-03
## 2018 -2.090967e-02  9.476110e-03
## 2019  1.869499e-02  5.066988e-02
## 2020  1.555258e-02  2.593239e-03
## 2021 -2.612502e-03 -9.920282e-03
## 2022
#gráfica del la brecha del producto
plot(brecha2B, xlab="", ylab="", lwd=2)
title("Gráfica 9
      Brecha del producto calculada
      2005-2022", sub="Fuente: Elaboración propia con datos  INEGI
      Desestacionalizado por método x12 ARIMA 
      Tendencia Hodrick y Prescott (lambda 1600)",
      cex.main=1, font.main=4,
      cex.sub=0.75, font.sub=3)

# ****************
#Gráfica de inflacion y Brecha del Producto
# ****************

#INPC modelo 2 (con 1 diff)

infla_2=ts(inpc2,start = c(2005,1), frequency = 12)

diffinfla_2=diff(infla_2, lag=1)

plot(diffinfla_2, xlab="", ylab="", lwd=1)
lines(brecha2B)
title("Gráfica ?
      
      2005-2022", sub="Fuente: Elaboración propia con datos  INEGI",
      cex.main=1, font.main=4,
      cex.sub=0.75, font.sub=3)

plot(diffinfla_2, brecha2B)

datos2B=data.frame(diffinfla_2, brecha2B)
colnames(datos2B)=c("diffinfla_2", "brecha2B")
datos2B=ts(datos2B, start = c(2005,1), frequency = 12)
plot(datos2B)

#modelo 1
modelo2B= lm(diffinfla_2 ~brecha2B, data=datos2B)
modelo2B
## 
## Call:
## lm(formula = diffinfla_2 ~ brecha2B, data = datos2B)
## 
## Coefficients:
## (Intercept)     brecha2B  
##    0.002564    -1.581096
#plot(modelo2, ask=FALSE, main= " Phillips Aumentada")
summary(modelo2B) #resultados
## 
## Call:
## lm(formula = diffinfla_2 ~ brecha2B, data = datos2B)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -1.21703 -0.25630  0.03638  0.24554  1.23697 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)
## (Intercept)  0.002564   0.025606    0.10    0.920
## brecha2B    -1.581096   1.098105   -1.44    0.151
## 
## Residual standard error: 0.3737 on 211 degrees of freedom
## Multiple R-squared:  0.00973,    Adjusted R-squared:  0.005036 
## F-statistic: 2.073 on 1 and 211 DF,  p-value: 0.1514
#grafica de regresion simple
plot(brecha2B, diffinfla_2, 
     ylab="Inflación", xlab="Producto")
abline(modelo2B)
title("Gráfica 10
      Modelo 2B. Curva de Phillips Aumentada Inflación
      y Producto 2005-2022", sub="Fuente: Elaboración propia con datos de INEGI", 
      cex.main=1, font.main=4,
      cex.sub=0.75, font.sub=3)

par(mfrow=c(1,2))
plot(brecha2B, diffinfla_2, 
     ylab="Inflación", xlab="Producto")
abline(modelo2B)
title("Gráfica 10
      Modelo 2B. Curva de Phillips Aumentada Inflación
      y Producto 2005-2022", sub="Fuente: Elaboración propia con datos de INEGI", 
      cex.main=1, font.main=4,
      cex.sub=0.75, font.sub=3)



#######
#Grafica analsis de resultados
#####
par(mfrow=c(1,2))
#desemoleo e inflación
plot(desocupacion, inflacion, 
     ylab="Inflación", xlab="Desocupación", cex.main=.75)
abline(modeloA, lwd=2)
title("
      Modelo 1A. 
      Desocupación e  Inflación 2005-2022", sub="Curva de Phillips Original",
      cex.main=1, font.main=4,
      cex.sub=0.75, font.sub=3) 


plot(brecha_p, diff_inpc1, 
     ylab="Inflación", xlab="Desocupación")
abline(modelo2A_p)
title("
      Modelo 2A.   
      Desocupación e inflación 2005-2022 ", sub="Curva de Phillips Aumentada",
      cex.main=1, font.main=4,
      cex.sub=0.75, font.sub=3)

#IGAE E INFLACIÓN
#modelo 1B
plot(igae, inflacion,
     ylab="Inflación", xlab="IGAE")
abline(modelo1B, lwd=2)
title("
      Modelo 1B.   
      Inflación y Producto 2005-2022 ", sub="Curva de Phillips Original" ,
      cex.main=1, font.main=4,
      cex.sub=0.75, font.sub=3)
#modelo 2B
plot(brecha2B, diffinfla_2, 
     ylab="Inflación", xlab="IGAE")
abline(modelo2B)
title("
      Modelo 2B. 
      Inflación y Producto 2005-2022", sub="Curva de Phillips Aumentada",
      cex.main=1, font.main=4,
      cex.sub=0.75, font.sub=3)