class: middle background-image: url("Immagini/Cover_1200x800_01.jpeg") background-size: contain .pull-left[ # Índice de precios al productor (IPP) ### Oferta Interna: Agricultura, Ganaderia, Pesca y Silvicultura #### Por: Santiago Bula M. ### [`#Help_Ukraine 🇺🇦`](https://helpua.bank.gov.ua) ] --- background-image: url(Immagini/Introducción.jpg) background-size: cover background-position: middle class: inverse center middle # Introducción Objetivos de la presentación, metodología y justificación --- background-image: url(Immagini/Paquetes.png) background-size: contain <h1 align="left">Librerías</h1> Para el desarrollo de este proyecto se hizo uso de la siguiente lista de paquetes: .pull-left[ ```r library(rmarkdown) #Unnecessary library(bslib) #References library(DT) #Data Tables library(plotly) #Ggplot Pro library(xaringan) #Presentation Gen. library(plyr) #Data Filtration library(readxl) #Import Excel Files library(kableExtra) #Interactive Tables library(revealjs) #Scrolling library(knitr) #Render library(forecast) #ARIMA Command # How to see the fonts? names(xaringan:::list_css()) ``` ] --- # Introducción El IPP un indicador de la evolución de los precios de venta del productor, correspondientes al primer canal de comercialización o distribución de los bienes transados en la economía, su diferencia con el IPC son los intercambios entre los intermediarios de mercado. La metodología usada para la realización del IPP usada por el DANE tiene como objetivo proporcionar una medición de la variación mensual promedio de los precios de una canasta de bienes representativa de la producción nacional en la cual el diseño muestral es no probabilístico tomando fuentes que se relacionan con la canasta de bienes entre ellas empresas productoras, comercializadoras y manufactureras, entre otros. <center> <iframe width="1060" height="315" src="https://www.youtube.com/embed/IBAlZwiWj5w" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen> </iframe> </center> --- ### Variables de Clasificación: #### 1. Según Actividad Económica: Sección, División, Grupo y Clase. - 1.1.1. Agricultura, ganadería, caza, silvicultura y pesca - 1.1.2. Explotación de minas y canteras - 1.1.3. Industrias manufactureras --- # Falta por complementar 1. Año base 1. Formula de indice Paasche o Laspayres?? 1. Ficha técnica 1. Historia e importancia del del indice 1. Medicion economia, tipo de calculo del indice ??? Cual es la diferencia entre Paasche o Laspayres --- --- ## Objetivos ### Objetivo general: 1. Analizar el IPP por oferta interna en el período 2001-2019, mediante la metodología de Box-Jenkins. -- ### Objetivos especīficos: 1. Transformar la serie de IPP por oferta interna del sector agropecuario para garantizar el cumplimiento de estacionariedad. -- 1. Identificar los órdenes p,d,q para la estimación y pronóstico del modelo ARIMA. -- 1. Verificar el cumplimiento en los residules de los supuestos básicos del modelo. -- 1. Comprender la programación por comandos directos y manuales para desarrollar la metodología de Box-Jenkins. --- background-image:url(Immagini/Metodologia.jpg) background-size: cover background-position: middle class: center ## Metodología Método empleado para el desarrollo del ejercicio econométrico --- ## Justificación Para la realización de este proyecto se tendrá en cuenta el análisis de una serie de datos llamada el índice de precios al productor, la cual a términos generales es un indicador de la evolución de los precios de venta del productor, este proyecto se realizará para ver qué tan eficaz será el uso de esta serie y por ende realizar la verificación de ciertos supuestos básicos para poder determinar la verificación del modelo para luego realizar el uso de esta y poder generar pronósticos y simular. --- background-image: url(Immagini/Identificacion.jpg) background-size: cover background-position: middle class: inverse center middle # Identificación Recolección, tratamiento y manipulación de datos --- ## Identificación ### Recolección de datos. Para el ejericio econometrico importamos los datos de la base de datos Totoro del Banco de la República de Colombia. - El periodo de estudio del ejercicio es: **01/01/2001 - 31/12/2019** - Se agrupa la serie en series anuales y se quita n=0 observaciones de 2019 <br> <center> <font size="+3"> **N−n**= 228 **H**= 19 **R**= 12 </font> --- ## Recolección de datos. ``` ## Min. 1st Qu. Median Mean 3rd Qu. Max. ## 52.01 68.64 86.04 86.91 101.69 133.36 ```
--- class: center ## Análisis de la Serie
--- background-image: url(Immagini/Desarrollo.jpg) background-size: cover background-position: middle class: inverse center middle # Desarrollo práctico Programación en R --- ## Estabilización de Varianza El sentido metodologico de este ejercicio es poder identificar el proceso generador de los datos de la serie, motivo por ello es relavente explorar la existencia de estacionariedad sobre la serie. > “Si la variabilidad tiende a cambiar con la media de las observaciones, la varianza solo se estabilizará con un cambio apropiado de escala” -**Misas, 2018** Para hallar la varianza es necesario conocer la media `\(\bar{Z_h}\)` y la desviación estándar `\(S_h\)`. Las cuales fueron calculadas de la siguiente manera: .pull-left[ .pull-right[ <img src="https://latex.codecogs.com/svg.latex?\Large&space;\bar{Z}_h=\frac{\sum^R_{r=1}{Z_{h,r}}}{R}" title="Media Zh"/> ] ] .pull-right[ .pull-left[ <img src="https://latex.codecogs.com/svg.latex?\Large&space;S_h=\sqrt{\frac{ \sum_{r=1}^R{(Z_{h,r}-\bar{Z}_h)^2}}{R-1}}" title="Desviación Estándard"/> ] ] --- ## Media y desviación estándar por grupo .left-column[ **Media y desviación estándar** Potencias Lambda Diferenciación ACF PACF ] ```r ## Media Zh <- matrix(data=NA, nrow = H, ncol = 1) Eich <-matrix(data=seq(from=12, to=N-n , by=R), nrow = H, ncol = 1) #Eich for(z in 2:H ){ Zh[1] <- mean(IPP_Estudio[1:12]) Zh[z] <- mean(IPP_Estudio[Eich[z-1]:Eich[z]]) } # Zh ## Desv. Standard Sh <- matrix(data=NA, nrow = H, ncol = 1) #Eich for(s in 2:H ){ Sh[1] <- sd(IPP_Estudio[1:12]) #<< Sh[s] <- sqrt(sum((IPP_Estudio[,s]-mean(IPP_Estudio[,s]))^2)/(R-1))} ``` --- ## Media y desviación estándar por lambda .left-column[ Media y desviación estándar **Potencias Lambda** Diferenciación ACF PACF ] .right-column[ Los candidatos a lambdas son: `\(\lambda_1 = -1\)`, `\(\lambda_2=-0.5\)` , `\(\lambda_3=0\)`, `\(\lambda_4=0.5\)` `\(\lambda_5=1\)`
] --- # Transformación potencia .left-column[ Media y desviación estándar **Potencias Lambda** Diferenciación ACF PACF ] .right-column[ <table class=" lightable-paper" style='font-family: "Arial Narrow", arial, helvetica, sans-serif; width: auto !important; margin-left: auto; margin-right: auto;'> <thead> <tr> <th style="text-align:left;"> Paso </th> <th style="text-align:left;"> Fórmula </th> </tr> </thead> <tbody> <tr> <td style="text-align:left;"> 1. Media </td> <td style="text-align:left;"> <html><body><img src="Immagini/M_Kable.png" width="384" height="128"></body></html> </td> </tr> <tr> <td style="text-align:left;"> 2. Desviación estándar </td> <td style="text-align:left;"> <html><body><img src="Immagini/SD_Kable.png" width="384" height="128"></body></html> </td> </tr> <tr> <td style="text-align:left;"> 3. Coeficiente de variación </td> <td style="text-align:left;"> <html><body><img src="Immagini/CV_Kable.png" width="384" height="128"></body></html> </td> </tr> </tbody> </table> ] --- ## Selección del Lambda .left-column[ Media y Std.Desv **Potencias Lambda** Diferenciación ACF PACF ] .right-column[ <table class=" lightable-paper lightable-hover" style='font-family: "Arial Narrow", arial, helvetica, sans-serif; margin-left: auto; margin-right: auto;'> <caption>Coeficientes de variación para lambda</caption> <thead> <tr> <th style="text-align:left;"> </th> <th style="text-align:right;"> Coeficiente de variación </th> </tr> </thead> <tbody> <tr> <td style="text-align:left;"> Lambda -1 </td> <td style="text-align:right;"> 0.4287876 </td> </tr> <tr> <td style="text-align:left;"> Lambda -0.5 </td> <td style="text-align:right;"> 0.4122601 </td> </tr> <tr> <td style="text-align:left;"> Lambda 0 </td> <td style="text-align:right;"> 0.4362937 </td> </tr> <tr> <td style="text-align:left;"> Lambda 0.5 </td> <td style="text-align:right;"> 0.4901177 </td> </tr> <tr> <td style="text-align:left;"> Lambda 1 </td> <td style="text-align:right;"> 0.5624301 </td> </tr> </tbody> </table> ``` ## El valor mínimo escogido va ser 0.4122601 , en este caso es Lambda -0.5 ``` ] --- ## Transformar la serie .left-column[ Media y Std.Desv Potencias Lambda **Diferenciación** ACF PACF ] Teniendo en cuenta los siguientes casos: <img src="https://latex.codecogs.com/svg.latex?\Large&space;G(Z_{t})=\begin{cases} Z_{t}^{\lambda} & \lambda \ne 0 \\ \ln(Z_{t}) & \lambda=0 \end{cases}" title="Transformación de guerrero"/> ```r G.Zh. <- matrix(data = NA, ncol = 1, nrow = N) for(h in 1:N){ G.Zh.[h] <- IPP_Estudio[h]^(-0.5) # This shape changes according the lambda value } #G.Zh. Diff1G.Zh. <- matrix(data = NA, ncol = 1, nrow = N) for(h in 2:N){ Diff1G.Zh.[h] <- G.Zh.[h]-G.Zh.[h-1] } #Diff1G.Zh. Diff2G.Zh.<- matrix(data = NA, ncol = 1, nrow = N) for(h in 3:N){ Diff2G.Zh.[h] <- Diff1G.Zh.[h]-Diff1G.Zh.[h-1] } # In case that we would wish differentiate twice we apply the code again ``` --- class: center ### ACF - Serie transformada. .pull-left[
] <!-- --> .footpage[ Nótese que la ACF decrece lentamente, por tanto no presenta estacionariedad y requiere ser diferenciada.] --- class: center ### ACF - Comparación de correlogramas. .pull-left[
] <!-- --> .footpage[ Nótese que la ACF decrece rápidamente presentando estacionariedad, gracias a que fue diferenciada 1 vez. ] --- class: center ### PACF - Comparación de correlogramas. .pull-left[
] .pull-right[ <!-- --> ] --- class: center ## Estimación ARIMA(2,1,3) <!-- --> --- class: center ## Pronóstico ARIMA(2,1,3) <!-- --> --- class: inverse middle center background-image: url(Immagini/Supuesto.jpg) background-size: cover background-position: middle ## Verificación de supuestos --- # Supuesto 1: Media cero .pull-left[ <center> <img src="https://latex.codecogs.com/svg.latex?\Large&space;m(\hat{a})=\frac{\sum_{t=t'}^{T}\hat a_T}{T-d-p} \\ \\ \hat\sigma_a=\sqrt\frac{\sum_{t=t'}^{T}(\hat a_t-m\hat a_t))^2}{T-d-q-p}" title="Media cero"/ width="500" height="500"> </center> ] .pull-right[ ```r A.hat <- rnorm(100,0,1) #para cuestion del ejemplo #SACAR LOS AT CON EL MODELO ARIMA N <- 100 d <- 1 p <- 5 q <- 3 m_A.hat <- sum(A.hat)/(N-d-p) Sigma2aHat <- sqrt( (sum(A.hat-m_A.hat)^2)/(N-d-p-q) ) # Ho: median equal to 0 # Ha: Violation of assume median equal to 0 Value_proof_median0 <- abs((sqrt(N-d-p)*m_A.hat)/(Sigma2aHat)) if(Value_proof_median0<2){ print("There is no evidence to REJECT median = 0")} else{ print("There evidence to reject median=0") } ``` ``` ## [1] "There evidence to reject median=0" ``` ] --- <h1 align="left"> <font size="7"> Supuesto 2: Varianza Constante-Inspección visual </font></h1> <img src="Slides_files/figure-html/PLOT A.HAT-1.png" style="display: block; margin: auto;" /> --- # Supuesto 3: Mutuamente Independientes </br> <center> <img src="https://latex.codecogs.com/svg.latex?\Large&space;\hat{P_k}(\hat{a})=\frac{\sum_{t=t'}^{T}\hat a_T \hat a_T}{\sum_{t=t'}^{T}(\hat{at^2})} \quad \quad \sqrt{VAR(\hat{P_k(\hat{a})})}=\frac{1}{\sqrt\{T-d-p}"title="Mutuamente ind." /> </center> </br> ```r A.hatK <- rnorm(1000,0.49,2) # Here we evaluate the differentiate series versus non differentiate series. rho_Hat.a <- (sum(A.hat*A.hatK))/(sum(A.hat)^2) if(abs(rho_Hat.a)>=(1/(sqrt(N-d-p)))){ print("The autocorrelation is ??? 0, so the 'at' are mutually independent") } else {print("The autocorrelation is = 0, so the 'at' are not mutually independent")} ``` ``` ## [1] "The autocorrelation is ??? 0, so the 'at' are mutually independent" ``` --- class: scrollable-slide # Supuesto 4: Normalidad .pull-left[ <center> <img src="https://latex.codecogs.com/svg.latex?\Large&space;JB=N(\frac{S^2}6+\frac{K^2}{24})\\ si \quad JB \leq X^2--> Acepto \quad H0\\ si \quad JB > X^2--> Rechazo \quad H0\\"title="Jarque-Bera"/ width="500" height="400"> </center> ] .pull-right[ .scrollable[ ```r N <- NROW(A.hat) # Here put the manu's values SIGMA2 <- sum(A.hat^2)/N M2 <-(((t(A.hat))%*%A.hat)/N) SIGMA <- sqrt(SIGMA2) SIGMA ``` ``` ## [1] 1.005997 ``` ```r # TERCER MOMENTO M3 <-sum(A.hat^3)/N M3 ``` ``` ## [1] -0.4398876 ``` ```r #CUARTO MOMENTO M4 <- sum(A.hat^4)/N M4 ``` ``` ## [1] 3.027681 ``` ```r #SIMETRIA SIMETRIA <- M3/(SIGMA^3) SIMETRIA ``` ``` ## [1] -0.4320673 ``` ```r #EXCESO DE CURTOSIS EXCESODECURTOSIS <- ((M4-3*(SIGMA^4))/(SIGMA^4)) EXCESODECURTOSIS ``` ``` ## [1] -0.04387384 ``` ```r #3 CONSTRUCCION DEL ESTADISTICO JARQUE BERA JARQUEBERA <- N*(((SIMETRIA^2)/6)+((EXCESODECURTOSIS^2)/24)) JARQUEBERA ``` ``` ## [1] 3.119389 ``` ```r #PVALUE PVALUEJARQUEBERA <- 1-pchisq(JARQUEBERA,2) #JARQUEBERA SE SITRIBUYE CON 2 GRADOS DE LIBERTAD PVALUEJARQUEBERA ``` ``` ## [1] 0.2102003 ``` ```r #NIVEL DE SIGNIFICANCIA DEL 0.05 PVALUE SE CONTRASTA CON EL NIVEL DE SIGNIFICANCIA ``` Como tenemos el pvalue mayor al nivel de significancia NO rechazamos la `\(Ho\)` de que los datos vengan de una distribcion normal `\(\sim N(\mu,\sigma)\)` ```r library(tseries) JBTESTCOMANDOVERIFICACION <- jarque.bera.test(A.hat) JBTESTCOMANDOVERIFICACION ``` ``` ## ## Jarque Bera Test ## ## data: A.hat ## X-squared = 1.3473, df = 2, p-value = 0.5098 ``` ```r VALORCRITICO <- qchisq(1-0.05,2) VALORCRITICO ``` ``` ## [1] 5.991465 ``` ```r #ESTADISTICO DE PRUEBA SE CONTARTA CON EL VALOR CRITICO #como el estadistico de prueba jarque bera es menor al valor critico no rechazamos H0 #SI EXISTE NORMALIDAD shapiro.test(A.hat) ``` ``` ## ## Shapiro-Wilk normality test ## ## data: A.hat ## W = 0.9893, p-value = 0.6086 ``` ```r qqnorm(A.hat) ``` <!-- --> ] ] --- class: inverse center middle background-image: url(Immagini/Conclusiones.jpg) background-size: cover background-position: middle # Conclusiones --- # Conlusiones Del desarrollo de este ejercicio podemos concluir que: * La serie de IPP por oferta interna es muy sensible a _schocks_ de oferta externa * Tomar un año base diferente a 2014 puede presentar valores nominales diferentes * Se debe pulir el desarrollo de la metodología de Box Jetkins para obtener resultados mejores