{"cells":[{"cell_type":"markdown","id":"49ce1a6b-bcdf-47dc-a30c-2508d1dd4feb","metadata":{},"source":"Econometría Aplicada. Lección 7\n===============================\n\n**Author:** Marcos Bujosa\n\n"},{"cell_type":"markdown","id":"0e7f144e-2222-4baa-99f4-d51ae905ed8d","metadata":{},"source":["
\n

\nEn esta lección veremos la estructura de la ACF, la PACF y la densidad\nespectral de procesos ARMA. Después indicaremos algunas herramientas\nestadísticas que usaremos para tratar de identificar un modelo que se\najuste adecuadamente a los datos de una serie temporal: gráficos,\ncontrastes de raíz unitaria, ACF y PACF muestrales, estadísticos\ndescriptivos y contrastes de normalidad.\n

\n\n
\n\n"]},{"cell_type":"markdown","id":"3a95ebd0-65ed-46ae-a887-200590561e3e","metadata":{},"source":["$\n\\newcommand{\\lag}{\\mathsf{B}}\n\\newcommand{\\Sec}[1]{\\boldsymbol{#1}}\n\\newcommand{\\Pol}[1]{\\boldsymbol{#1}}\n$\n\n"]},{"cell_type":"markdown","id":"8b95cb31-4898-4af8-a494-139cf5d04e56","metadata":{"slideshow":{"slide_type":"notes"}},"source":["#### Carga de algunas librerías de R\n\n"]},{"cell_type":"code","execution_count":1,"id":"034d8647-18a9-4145-8220-4a87ecc69e05","metadata":{"slideshow":{"slide_type":"notes"}},"outputs":[],"source":["# cargamos algunas librerías de R\nlibrary(tfarima) # librería de José Luis Gallego para Time Series\nlibrary(readr) # para leer ficheros CSV\nlibrary(ggplot2) # para el scatterplot (alternaticamente library(tidyverse))\nlibrary(ggfortify) # para pintar series temporales\nlibrary(jtools) # para representación resultados estimación\nlibrary(zoo) # para generar objetos ts (time series)\n# y fijamos el tamaño de las figuras que se generan en el notebook\noptions(repr.plot.width = 12, repr.plot.height = 4, repr.plot.res = 200)"]},{"cell_type":"markdown","id":"72b4d82d-cb35-4a14-b5e1-4a8befb23308","metadata":{"slideshow":{"slide_type":"skip"}},"source":["## ACF, PACF y densidad espectral de algunos modelos lineales (cont.)\n\n"]},{"cell_type":"markdown","id":"989bb7bf-f679-4bbf-bac6-daf64d2a69be","metadata":{"slideshow":{"slide_type":"slide"}},"source":["### Proceso autorregresivo ARMA($p,q$)\n\n"]},{"cell_type":"markdown","id":"9990fe24-cf70-4404-906d-478225f9ff31","metadata":{},"source":["Sea $\\;\\boldsymbol{X}\\;$ el proceso estocástico estacionario solución\nde la ecuación en diferencias:\n$$\\boldsymbol{\\phi}*\\boldsymbol{X}=\\boldsymbol{\\theta}*\\boldsymbol{U}$$\ndonde $\\;\\boldsymbol{U}\\sim WN(0,\\sigma^2);\\;$ el polinomio\n*autorregresivo* $\\;\\boldsymbol{\\phi}\\;$ tiene grado $p$ con\n${\\color{#008000}{\\phi_{0}=1}}$ (y raíces fuera del círculo unidad), y\nel polinomio *de media móvil* $\\;\\boldsymbol{\\theta}\\;$ es de grado\n$q$ con ${\\color{#008000}{\\theta_{0}=1}};\\;$ y donde\n$\\boldsymbol{\\phi}$ y $\\boldsymbol{\\theta}$ no tienen raíces comunes.\n\n"]},{"cell_type":"markdown","id":"f30509a2-b1fe-4712-973f-1f2d72d5a9de","metadata":{"slideshow":{"slide_type":"fragment"}},"source":["Si $\\;\\;\\boldsymbol{\\phi}(z)=1-\\phi_1z-\\cdots-\\phi_p z^p\\;\\;$ y\n$\\;\\;\\boldsymbol{\\theta}(z)=1-\\theta_1z-\\cdots-\\theta_q z^q,\\;\\;$\nentonces\n\n\\begin{align*}\n (1-\\phi_1\\mathsf{B}-\\cdots-\\phi_p\\mathsf{B}^p)X_t = &\n (1-\\theta_1\\mathsf{B}-\\cdots-\\theta_q\\mathsf{B}^q)U_t;\n\\end{align*}\n\ny por tanto $$X_t= U_t + \\sum_{j=1}^p\\phi_j X_{t-j} +\n\\sum_{j=1}^q-\\theta_j U_{t-j}.$$\n\n"]},{"cell_type":"markdown","id":"2846c270-8d25-41ae-a8a7-61cde97c8369","metadata":{"slideshow":{"slide_type":"subslide"}},"source":["Como las raíces de $\\boldsymbol{\\phi}$ están fuera del círculo unidad,\nes decir, como *el polinomio AR es \\`\\`invertible''*\n$\\;(\\boldsymbol{\\phi}^{-\\triangleright}=\\boldsymbol{\\phi}^{-1}\\in\\ell^1)\\;$\nentonces $\\boldsymbol{X}$ tiene una representación como MA($\\infty$):\n$$\\boldsymbol{\\phi}*\\boldsymbol{X}=\\boldsymbol{\\theta}*\\boldsymbol{U}\n\\quad\\Rightarrow\\quad\n\\boldsymbol{X}=\\frac{\\boldsymbol{\\theta}}{\\boldsymbol{\\phi}}*\\boldsymbol{U}\n\\quad\\Rightarrow\\quad X_t = U_t + \\sum_{j=1}^\\infty-\\psi_j U_{t-j};$$\ndonde\n$\\;\\boldsymbol{\\psi}=\\boldsymbol{\\phi}^{-1}*\\boldsymbol{\\theta}=({\\color{blue}1},\\\n-\\psi_1,\\ -\\psi_2,\\ -\\psi_3,\\ldots)\\;$ tiene grado $\\infty$.\n\n"]},{"cell_type":"markdown","id":"087c7749-6189-4be7-b678-a72bc9e26523","metadata":{"slideshow":{"slide_type":"fragment"}},"source":["Y como las raíces de $\\boldsymbol{\\theta}$ están fuera del círculo\nunidad, es decir, como *el polinomio MA es \\`\\`invertible''*\n$\\;(\\boldsymbol{\\theta}^{-\\triangleright}=\\boldsymbol{\\theta}^{-1}\\in\\ell^1)\\;$\nentonces $\\boldsymbol{X}$ tiene una representación como AR($\\infty$):\n$$\\boldsymbol{\\phi}*\\boldsymbol{X}=\\boldsymbol{\\theta}*\\boldsymbol{U}\n\\quad\\Rightarrow\\quad\n\\frac{\\boldsymbol{\\phi}}{\\boldsymbol{\\theta}}*\\boldsymbol{X}=\\boldsymbol{U}\n\\quad\\Rightarrow\\quad X_t = U_t + \\sum_{j=1}^\\infty\\varphi_j\nX_{t-j};$$ donde\n$\\;\\boldsymbol{\\varphi}=\\boldsymbol{\\theta}^{-1}*\\boldsymbol{\\phi}=({\\color{blue}1},\\\n-\\varphi_1,\\ -\\varphi_2,\\ -\\varphi_3,\\ldots)\\;$ tiene grado $\\infty$.\n\n"]},{"cell_type":"markdown","id":"2f191b39-b864-4f37-9149-429b13984b5a","metadata":{"slideshow":{"slide_type":"subslide"}},"source":["En un ARMA($p,q$), por tener representación MA($\\infty$):\n\n$E(X_t)=0$ para todo $t\\in\\mathbb{Z}$ y\n\n$\\boldsymbol{\\gamma} \\;=\\; \\sigma^2\n\\frac{\\boldsymbol{\\theta}(z)}{\\boldsymbol{\\phi}(z)}*\\frac{\\boldsymbol{\\theta}(z^{-1})}{\\boldsymbol{\\phi}(z^{-1})}\n= \\sigma^2 \\boldsymbol{\\psi}(z)*\\boldsymbol{\\psi}(z^{-1})\\;$ donde $\\;\\boldsymbol{\\psi}=\\frac{\\boldsymbol{\\theta}}{\\boldsymbol{\\phi}}$;\n\nes decir, $\\;\\gamma_k = \\sigma^2 \\sum\\nolimits_{j=0}^\\infty\n\\psi_{j+|k|}\\psi_j;\\quad k\\in\\mathbb{Z}\\;$ (grado $\\infty$ y cogrado\n$-\\infty$).\n\n$\\boldsymbol{\\rho} \\;=\\; \\frac{1}{\\gamma_0}\\boldsymbol{\\gamma}$\n\n$f(\\omega) =\n \\frac{\\sigma^2}{2\\pi}\\frac{\\boldsymbol{\\theta}(e^{-i\\omega})\\cdot\\boldsymbol{\\theta}(e^{i\\omega})}{\\boldsymbol{\\phi}(e^{-i\\omega})\\cdot\\boldsymbol{\\phi}(e^{i\\omega})}\n \\;=\\; \\frac{1}{2\\pi}\\sum\\limits_{h=0}^\\infty \\gamma_h\n \\cos(h\\omega);\\quad$ donde $\\omega\\in[-\\pi,\\pi]$.\n\n(suma infinita de cosenos)\n\n"]},{"cell_type":"markdown","id":"73f57168-0fdd-4825-92a7-60a52c35a903","metadata":{"slideshow":{"slide_type":"fragment"}},"source":["En un ARMA($p,q$), por tener representación AR($\\infty$):\n\nsu PACF, $\\;\\boldsymbol{\\pi},\\;$ también es una secuencia con grado\n$\\infty$ y cogrado $-\\infty$.\n\n"]},{"cell_type":"markdown","id":"f19b23b8-f715-43da-aa4d-7d397106e09d","metadata":{"slideshow":{"slide_type":"subslide"}},"source":["En la [Lección 5](./Lecc05.pdf#subsection.5.4) se [demostró](./Lecc05.html#orgd60b0f9) que para un proceso ARMA($p,q$)\n$$\\boldsymbol{\\phi}(\\mathsf{B})\\gamma_k = \n\\begin{cases}\n \\sigma^2 \\Big(\\boldsymbol{\\theta}(z)*\\boldsymbol{\\psi}(z^{-1})\\Big)_k & \\text{para } k\\leq q \\\\\n 0 & \\text{para } k > q \\quad \\text{(como en un AR)}\n\\end{cases}$$\n\n"]},{"cell_type":"markdown","id":"d4a7db17-987a-45eb-9d13-1c7632ec0537","metadata":{"slideshow":{"slide_type":"fragment"}},"source":["Así, en cuanto a la ACF $\\boldsymbol{\\rho}$:\n\n- De $\\rho_1$ a $\\rho_q$ dependen de los $q$ parámetros de\n $\\boldsymbol{\\theta}$ y los $p$ parámetros de $\\boldsymbol{\\phi}$\n- Los $p$ valores de $\\rho_q$ a $\\rho_{q-p+1}$ son los valores\n iniciales para resolver la ecuación en diferencias de Yule-Walker\n [$\\boldsymbol{\\phi}(\\mathsf{B})\\rho_k=0\\;$](./Lecc05.html#orgd60b0f9) (con $k> q)$\n- Si $q < p$ toda la secuencia $\\rho_j$ para $j \\geq 0$ decae\n exponencialmente o sinusoidalmente según $\\boldsymbol{\\phi}$ y los\n valores iniciales $\\rho_q$ a $\\rho_{q-p+1}$\n- Si $q \\geq p$ los primeros $q-p+1$ valores iniciales $\\rho_0$ a\n $\\rho_{q-p}$ siguen una pauta diferente\n\nEn cuanto a la PACF $\\boldsymbol{\\pi}$:\n\n- Tiene grado $\\infty$ y cogrado $-\\infty$\n- A partir de cierto retardo se comporta como la PACF de un MA($q$),\n es decir, decae exponencialmente o sinusoidalmente.\n\n"]},{"cell_type":"markdown","id":"bc0a22ec-6618-48b9-bdf8-3fc77c929e33","metadata":{"slideshow":{"slide_type":"slide"}},"source":["### Proceso ARMA($1,1$)\n\n"]},{"cell_type":"markdown","id":"3c3015ec-abf4-4a55-8be1-b9c799629c97","metadata":{},"source":["Sea $\\;(1-\\phi z)*\\boldsymbol{X}=(1-\\theta z)*\\boldsymbol{U}\\;$ con\n$|\\phi|<1$ y $|\\theta|<1$ y con $\\;\\boldsymbol{U}\\sim\nWN(0,\\sigma^2):$ \n\n$$X_t=\\phi X_{t-1}-\\theta U_{t-1} + U_t.$$\n\n- $\\boldsymbol{\\gamma} \\;=\\; \\sigma^2 \\frac{(1-\\theta z)*(1-\\theta z^{-1})}{(1-\\phi z)*(1-\\phi z^{-1})}\\; \\text{ por tanto... }$\n\n- $\\gamma_0 =\n \\sigma^2\\left(1+\\frac{(\\theta+\\phi)^2}{1+\\phi^2}\\right);\\quad\n \\gamma_1 =\n \\sigma^2\\left(\\phi+\\theta+\\frac{(\\theta+\\phi)^2\\phi}{1+\\phi^2}\\right);\\;\n \\text{ y }\\;\\gamma_k =\\phi\\gamma_{k-1}\\;\\;\\text{si } k>1$\n\n- $\\boldsymbol{\\rho} \\;=\\; \\frac{1}{\\gamma_0}\\boldsymbol{\\gamma}$\n\n- $f(\\omega) \\;=\\;\n \\;=\\;\n \\frac{\\sigma^2}{2\\pi}\\frac{1+\\theta^2-2\\theta\\cos(\\omega)}{1+\\phi^2-2\\phi\\cos(\\omega)};\\quad\n \\omega\\in[-\\pi,\\pi]$\n\n- $\\boldsymbol{\\pi} \\text{ decae geométricamente con } \\theta^k$\n\n"]},{"cell_type":"markdown","id":"088f2012-734a-45c2-8cb8-b42fcc822051","metadata":{"slideshow":{"slide_type":"notes"}},"source":["#### ARMA(1,1) $\\phi_1=0.7$ y $\\theta_1=-0.8$\n\n"]},{"cell_type":"code","execution_count":1,"id":"76ba24be-1826-4dfc-a1a5-3be35af533e6","metadata":{"slideshow":{"slide_type":"skip"}},"outputs":[],"source":["options(repr.plot.width = 12, repr.plot.height = 2, repr.plot.res = 200)\narma11R <- um(ar = \"(1 - 0.7B)\", ma = \"(1 + 0.8B)\")\ndisplay(list(arma11R), lag.max = 20, byrow = TRUE)"]},{"cell_type":"markdown","id":"b936c139-e7fb-49e3-9658-8ae5b08c1047","metadata":{"slideshow":{"slide_type":"subslide"}},"source":["$$(1 - 0.7\\mathsf{B}){X_t}=(1 + 0.8\\mathsf{B}){U_t};\\quad \\phi>0;\\;\\theta<0$$\n\n![img](./img/lecc07/ACF-arma11R.png)\n\n"]},{"cell_type":"code","execution_count":1,"id":"1d68e1f2-6d2b-4123-a325-9f73e81f9c6c","metadata":{"slideshow":{"slide_type":"skip"}},"outputs":[],"source":["options(repr.plot.width = 12, repr.plot.height = 5, repr.plot.res = 200)\nide(sim(arma11R, n = 400), lag.max = 20, graphs = c(\"plot\", \"acf\", \"pacf\", \"pgram\"))"]},{"cell_type":"markdown","id":"f1aecb25-ebf7-4429-a7f4-0e7e646a022e","metadata":{},"source":["![img](./img/lecc06/Sim-arma11R.png)\n\n"]},{"cell_type":"markdown","id":"28848c15-bae0-4989-80fc-99a62bcbdcad","metadata":{"slideshow":{"slide_type":"notes"}},"source":["#### ARMA(1,1) $\\phi_1=-0.7$ y $\\theta_1=0.8$\n\n"]},{"cell_type":"code","execution_count":1,"id":"cce16361-37a4-4051-9ce9-98fd0cf0836d","metadata":{"slideshow":{"slide_type":"skip"}},"outputs":[],"source":["options(repr.plot.width = 12, repr.plot.height = 2, repr.plot.res = 200)\narma11A <- um(ar = \"(1 + 0.7B)\", ma = \"(1 - 0.8B)\")\ndisplay(list(arma11A), lag.max = 20, byrow = TRUE)"]},{"cell_type":"markdown","id":"39b07eed-db8f-4b64-b991-2c1269360af8","metadata":{"slideshow":{"slide_type":"subslide"}},"source":["$$(1 + 0.7\\mathsf{B}){X_t}=(1 - 0.8\\mathsf{B}){U_t};\\quad \\phi<0;\\;\\theta>0$$\n\n![img](./img/lecc07/ACF-arma11A.png)\n\n"]},{"cell_type":"code","execution_count":1,"id":"561f5879-daba-4180-bd05-7a56d8cae633","metadata":{"slideshow":{"slide_type":"skip"}},"outputs":[],"source":["options(repr.plot.width = 12, repr.plot.height = 5, repr.plot.res = 200)\nide(sim(arma11A, n = 400), lag.max = 20, graphs = c(\"plot\", \"acf\", \"pacf\", \"pgram\"))"]},{"cell_type":"markdown","id":"bfcef279-e059-4a4d-80d7-89a79b73f8ce","metadata":{},"source":["![img](./img/lecc06/Sim-arma11A.png)\n\n"]},{"cell_type":"markdown","id":"6d82f3dc-8fa3-41a2-bd56-2c292576316e","metadata":{"slideshow":{"slide_type":"notes"}},"source":["#### ARMA(1,1) $\\phi_1=0.4$ y $\\theta_1=0.8$\n\n"]},{"cell_type":"code","execution_count":1,"id":"efe7845f-159f-4121-9e40-6b3828c9adca","metadata":{"slideshow":{"slide_type":"skip"}},"outputs":[],"source":["options(repr.plot.width = 12, repr.plot.height = 2, repr.plot.res = 200)\narma11NVA <- um(ar = \"(1 - 0.4B)\", ma = \"(1 - 0.8B)\")\ndisplay(list(arma11NVA), lag.max = 20, byrow = TRUE)"]},{"cell_type":"markdown","id":"b34ec6f8-4be9-467c-8f6f-ef8917e7f1de","metadata":{"slideshow":{"slide_type":"subslide"}},"source":["$$(1 - 0.4\\mathsf{B}){X_t}=(1 - 0.8\\mathsf{B}){U_t};\\quad \\phi>0;\\;\\theta>0$$\n\n![img](./img/lecc07/ACF-arma11NVA.png)\n\n"]},{"cell_type":"code","execution_count":1,"id":"b0081d9a-ca12-4c64-beef-a50dfb536f2d","metadata":{"slideshow":{"slide_type":"skip"}},"outputs":[],"source":["options(repr.plot.width = 12, repr.plot.height = 5, repr.plot.res = 200)\nide(sim(arma11NVA, n = 400), lag.max = 20, graphs = c(\"plot\", \"acf\", \"pacf\", \"pgram\"))"]},{"cell_type":"markdown","id":"87c90060-4e38-40e3-aed2-a7990bfce919","metadata":{},"source":["![img](./img/lecc06/Sim-arma11NVA.png)\n\n"]},{"cell_type":"markdown","id":"633cc5ea-b0db-48d2-98a9-1834003ba502","metadata":{"slideshow":{"slide_type":"notes"}},"source":["#### ARMA(1,1) $\\phi_1=-0.8$ y $\\theta_1=-0.4$\n\n"]},{"cell_type":"code","execution_count":1,"id":"a38a9a71-a013-4b88-a2f3-e0e2cda40e96","metadata":{"slideshow":{"slide_type":"skip"}},"outputs":[],"source":["options(repr.plot.width = 12, repr.plot.height = 2, repr.plot.res = 200)\narma11RNV <- um(ar = \"(1 + 0.8B)\", ma = \"(1 + 0.4B)\")\ndisplay(list(arma11RNV), lag.max = 20, byrow = TRUE)"]},{"cell_type":"markdown","id":"fb880ea8-e556-4902-b186-63f1e4781feb","metadata":{"slideshow":{"slide_type":"subslide"}},"source":["$$(1 + 0.8\\mathsf{B}){X_t}=(1 + 0.4\\mathsf{B}){U_t};\\quad \\phi<0;\\;\\theta<0$$\n\n![img](./img/lecc07/ACF-arma11RNV.png)\n\n"]},{"cell_type":"code","execution_count":1,"id":"68e9825d-ec66-4ad8-86fe-fb263e28bc96","metadata":{"slideshow":{"slide_type":"skip"}},"outputs":[],"source":["options(repr.plot.width = 12, repr.plot.height = 5, repr.plot.res = 200)\nide(sim(arma11RNV, n = 400), lag.max = 20, graphs = c(\"plot\", \"acf\", \"pacf\", \"pgram\"))"]},{"cell_type":"markdown","id":"fcb4a84c-fe0c-4f2e-94c4-69cf8422b014","metadata":{},"source":["![img](./img/lecc06/Sim-arma11RNV.png)\n\n"]},{"cell_type":"markdown","id":"1ae79f24-9838-4bbf-9593-9ad4184d81a9","metadata":{"slideshow":{"slide_type":"slide"}},"source":["## La especificación del modelo se escoge según las características de los datos.\n\n"]},{"cell_type":"markdown","id":"10df692f-f615-483a-8d8b-4b0cdb99c46f","metadata":{},"source":["¿Es la serie \n\n- \"***estacionaria en media***\"?\n - (y si lo es, ¿cuál es su media?)\n - (y si no lo es, ¿cómo cambia o evoluciona su media?)\n- \"***estacionaria en varianza***\"? (*homocedástica*)\n - (y si lo es, ¿cuál es su varianza?)\n - (y si es *heterocedástica*, ¿cómo cambia o evoluciona su varianza?)\n\n¿Están sus valores correlados con su historia pasada (autocorrelados)?\n\n¿Qué correlación tienen los datos con los datos $k$ periodos atrás una\nvez descontado el efecto de los datos intermedios?\n\nVeamos algunas herramientas estadísticas para poder desvelar estas\ncaracterísticas.\n\n"]},{"cell_type":"markdown","id":"00887636-e934-438d-b642-4a62733b9976","metadata":{"slideshow":{"slide_type":"skip"}},"source":["## Herramientas para desvelar propiedades de una serie temporal\n\n"]},{"cell_type":"markdown","id":"4dfe4738-c95a-4297-8208-1f59cdb11de9","metadata":{"slideshow":{"slide_type":"slide"}},"source":["### Análisis gráfico\n\n"]},{"cell_type":"markdown","id":"990422f9-50e5-4603-85f9-f13a917eac62","metadata":{},"source":["#### Gráfico de la serie temporal\n\n"]},{"cell_type":"markdown","id":"07750aa9-263d-4c86-84eb-f7dabf34665a","metadata":{},"source":["Representa sus valores en el eje vertical ($y$) frente a una escala\ntemporal en el horizontal ($x$). Es útil para detectar visualmente:\n\n- tendencias y/o estacionalidad\n- cambios de variabilidad\n- valores atípicos (*outliers*)\n - el 95% aprox. de una muestra de valores generados por una\n distribución normal debería estar comprendido entre\n $\\mu\\pm2\\sigma$\n - la probabilidad de que una variable normal genere un valor fuera\n de las bandas de $\\mu\\pm3\\sigma$ es $0.0023$\n \n ([véase gráfico IBEX 35](./img/lecc05/IBEX35.png))\n\nEs importante escalar y rotular adecuadamente los ejes y asegurar la\ncomparabilidad entre series y gráficos distintos (si los hubiere).\n\n"]},{"cell_type":"markdown","id":"80003089-54ab-4367-b5e1-49bcf42820af","metadata":{"slideshow":{"slide_type":"subslide"}},"source":["#### Gráfico rango-media\n\n"]},{"cell_type":"markdown","id":"0c74bb9a-a9b8-4fc7-9c14-5b0abf2df489","metadata":{},"source":["Cambios de variabilidad de una serie pueden evidenciarse en su gráfico\ntemporal.\n\nPero también suelen verse bien en un gráfico rango-media, donde se\nrepresenta:\n\n- **en eje $x$:** nivel de la serie (normalmente la media de submuestras no solapadas).\n\n- **en eje $y$:** dispersión de la serie (normalmente el rango de dichas submuestras).\n\nSi los puntos se sitúan alrededor de una recta de pendiente positiva, tomar logaritmos.\n\n"]},{"cell_type":"markdown","id":"bb483f16-00c7-4c22-8242-d6a3158610e1","metadata":{"slideshow":{"slide_type":"notes"}},"source":["Veamos el gráfico de la serie de pasajeros de líneas aéreas junto a su\ngráfico de rango media:\n\n"]},{"cell_type":"code","execution_count":1,"id":"992bb906-640d-426c-8204-7edf91e7ac43","metadata":{"slideshow":{"slide_type":"skip"}},"outputs":[],"source":["Z <- AirPassengers\nide(Z, graphs = c(\"plot\", \"rm\"), main=\"Pasajeros de líneas (aéreas en miles) y gráfico rango-media\")"]},{"cell_type":"markdown","id":"f470ade7-3646-4ad6-85ec-abdbb7092a79","metadata":{},"source":["![img](./img/lecc07/rango-mediaAirPass.png)\n\n"]},{"cell_type":"markdown","id":"18cca727-d28f-4f13-956b-8dca8282e1e1","metadata":{"slideshow":{"slide_type":"notes"}},"source":["El gráfico de rango media a veces se acompaña de una regresión de la\ndispersión sobre los niveles para medir la relación nivel-dispersión.\n\n"]},{"cell_type":"markdown","id":"73364cac-d672-47c0-a3a6-64d956797cc5","metadata":{"slideshow":{"slide_type":"slide"}},"source":["### Determinación del orden de integración\n\n"]},{"cell_type":"markdown","id":"02181d59-47ad-42f9-b47c-434edff7bc7c","metadata":{},"source":["Un proceso estocástico sin componentes deterministas es $I(0)$ si\ntiene una representación ARMA estacionaria e invertible\n\nEl *orden de integración* de un proceso estocástico $\\boldsymbol{Y}$\nes el número de diferencias necesarias para transformarlo en un\nproceso $I(0)$.\n\nDecidir adecuadamente el orden de integración es crucial en el\nanálisis de series temporales.\n\nLas herramientas utilizadas para tomar la decisión son \n\n- el análisis gráfico\n- los contrastes formales\n\n"]},{"cell_type":"markdown","id":"285ad2bb-d109-4e28-8389-7238d95e4741","metadata":{"slideshow":{"slide_type":"subslide"}},"source":["#### Análisis gráfico\n\n"]},{"cell_type":"code","execution_count":1,"id":"f896bbd7-37fb-44cc-b1cb-eaa5e2cee3b0","metadata":{"slideshow":{"slide_type":"skip"}},"outputs":[],"source":["options(repr.plot.width = 12, repr.plot.height = 8, repr.plot.res = 200)\nPoblacionAustralia_ts = as.ts( read.zoo('datos/PoblacionAustralia.csv', \n header=TRUE,\n index.column = 1, \n sep=\",\", \n FUN = as.yearmon))\nide(PoblacionAustralia_ts,\n graphs = c(\"plot\"),\n transf = list(list(bc = F), list(bc = F, d = 1), list(bc = F, d = 2)),\n main=\"Población australiana, primera diferencia y segunda diferencia\" )"]},{"cell_type":"markdown","id":"bc62681c-9b08-4d56-89bd-dbb85734088e","metadata":{},"source":["![img](./img/lecc07/diferenciasPoblacion.png)\n\n"]},{"cell_type":"markdown","id":"688388df-8628-440d-b262-e44b2f149afc","metadata":{"slideshow":{"slide_type":"notes"}},"source":["La serie de población $\\boldsymbol{y}$ tiene una clara tendencia\ncreciente (primer gráfico), que desaparece al tomar una diferencia\nordinaria, $$\\nabla\\boldsymbol{y}=(1-\\mathsf{B})*\\boldsymbol{y}$$\n(segundo gráfico). Bastar con tomar una primera diferencia de la serie\nde población para obtener una nueva serie que se asemeja a la\nrealización de un proceso estacionario.\n\nNo obstante, ¿qué pasa si tomamos una segunda diferencia ordinaria?\n$$\\nabla\\nabla\\boldsymbol{y}=\\nabla^2\\boldsymbol{y}=(1-\\mathsf{B})^2*\\boldsymbol{y}$$\n(segundo gráfico). Pues que la serie obtenida también es estacionaria,\npero ojo, es un grave error tomar más diferencias de las necesarias al\nmodelizar los datos. Se debe tomar el mínimo número de\ntransformaciones que arrojen una serie \\`\\`estacionaria'' (recuerde que\ndecir que una serie temporal es *estacionaria* es un abuso del\nlenguaje).\n\nSi se toman más diferencias de las necesarias se obtiene un proceso\n*no invertible* (raíces unitarias en la parte MA que imposibilitan que\nel proceso tenga una representación como AR($\\infty$) causal), lo cual\nconduce a problemas de identificación y estimación.\n\n"]},{"cell_type":"code","execution_count":1,"id":"d69401c4-6944-4d49-883b-21fc04a10e1b","metadata":{"slideshow":{"slide_type":"skip"}},"outputs":[],"source":["options(repr.plot.width = 12, repr.plot.height = 10, repr.plot.res = 200)\nide(Z,\n graphs = c(\"plot\"),\n transf = list(list(bc=T), list(bc=T, d=1), list(bc=T, D=1), list(bc=T, D=1, d=1)),\n main = \"Log pasajeros aéreos, diferencia ordinaria, diferencia estacional y composición de ambas diferencias\" )"]},{"cell_type":"markdown","id":"da03f0d1-0c70-4828-8dba-b09784f74b36","metadata":{"slideshow":{"slide_type":"subslide"}},"source":["![img](./img/lecc07/diferenciasPasajeros.png)\n\n"]},{"cell_type":"markdown","id":"edf49259-fe0e-4c6d-819d-c8ed0fae72e8","metadata":{"slideshow":{"slide_type":"notes"}},"source":["Como ya vimos, la serie pasajeros en logaritmos tiene tendencia y\nestacionalidad muy evidentes. No basta con tomar solo una diferencia\nordinaria $$\\nabla\\boldsymbol{y}=(1-\\mathsf{B})*\\boldsymbol{y};$$ pues\nel resultado muestra una pauta estacional. Ni tampoco basta con tomar\nsolo una diferencia estacional\n$$\\nabla_{12}(\\boldsymbol{y})=(1-\\mathsf{B^{12}})*\\boldsymbol{y};$$ pues\nresulta una serie que \\`\\`deambula'', i.e., que no es *\\`\\`estacionaria''*\nen media.\n\nTomar una diferencia ordinaria y otra estacional\n$$\\nabla\\nabla_{12}(\\boldsymbol{y})=(1-\\mathsf{B})*(1-\\mathsf{B^{12}})*\\boldsymbol{y}$$\narroja una serie que sí parece ser *\\`\\`estacionaria''*.\n\n"]},{"cell_type":"code","execution_count":1,"id":"8a74855d-2e1f-4732-af37-d3bfc3ce33ff","metadata":{"slideshow":{"slide_type":"skip"}},"outputs":[],"source":["options(repr.plot.width = 12, repr.plot.height = 8, repr.plot.res = 200)\nTemperaturaRetiro_ts=ts(read.csv(\"datos/Retiro.txt\"),start=c(1985, 1), end=c(2015,9), frequency=12)\nide(TemperaturaRetiro_ts,\n graphs = c(\"plot\"),\n transf = list(list(), list(D = 1)),\n main=\"Temperatura media en el Retiro y diferencia estacional\" )"]},{"cell_type":"markdown","id":"8046d274-5377-4ae2-9cf9-390d07bf8add","metadata":{"slideshow":{"slide_type":"subslide"}},"source":["![img](./img/lecc07/diferenciasTemperaturasRetiro.png)\n\n"]},{"cell_type":"markdown","id":"0a5b9ae6-fc71-47fd-8baa-3589c6378ed5","metadata":{"slideshow":{"slide_type":"notes"}},"source":["En el caso de la serie de temperaturas en el Parque del Retiro, parece\nque es suficiente con tomar solo una diferencia estacional.\n\n"]},{"cell_type":"markdown","id":"ba97c308-1fb3-485d-8e7f-e76fa5ff0a45","metadata":{"slideshow":{"slide_type":"slide"}},"source":["#### Contrastes formales sobre el orden de integración: DF, ADF y KPSS\n\n"]},{"cell_type":"markdown","id":"ef66b2f9-66a9-4e12-bda9-9a54b9f8ec92","metadata":{},"source":["##### Test de Dickey-Fuller (DF)\n\n"]},{"cell_type":"markdown","id":"49b7c2a7-1fba-44ff-a948-4d7d547af6e8","metadata":{},"source":["- **$H_0$:** la serie es $I(1)$\n- **$H_1$:** la serie es $I(0)$.\n\nSea el siguiente modelo donde $\\phi$ es un parámetro autorregresivo y\n$U_{t}$ es ruido blanco $$Y_{t}=\\phi Y_{t-1}+U_{t},$$\n\nHabrá una raíz unitaria (será no-estacionario) si $\\phi =1.\\;$ Restando\n$Y_{t-1}$ a ambos lados\n\n$$\\nabla Y_{t}\\;=\\;(\\phi -1)Y_{t-1}+U_{t}\\;=\\;\\delta Y_{t-1}+U_{t}$$\n\ndonde $\\delta=\\phi -1$ y, por tanto, la $H_0$ se reduce a $\\delta=0$.\n\nPasos del contraste:\n\n- se estima el último modelo por MCO\n- se calcula el ratio $t$ de significación de $\\delta$\n- se compara dicho ratio con la distribución específica del contraste\n $DF$ (pues bajo la nula, el ratio $t$ no se distribuye de la forma\n habitual).\n\n"]},{"cell_type":"markdown","id":"629943c9-4855-4ec5-b128-9589c50afe07","metadata":{"slideshow":{"slide_type":"subslide"}},"source":["##### Test de Dickey-Fuller aumentado (ADF)\n\n"]},{"cell_type":"markdown","id":"e9f9aee5-838f-4877-8e0f-9ebc4a1b01c6","metadata":{},"source":["Una variante habitual del test DF es el test de Dickey-Fuller\naumentado (ADF), que consiste en estimar por MCO el modelo: $$\\nabla\nY_t = c + \\delta Y_{t-1} + \\pi_1 \\nabla Y_{t-1} + \\pi_2 \\nabla\nY_{t-2} + \\cdots + \\pi_p \\nabla Y_{t-p} + U_t$$ que añade $p$ retardos\ndel regresando como regresores para permitir autocorrelación. Por lo\ndemás, el test se calcula de la forma habitual (comparando de ratio\n$t$ de $\\widehat{\\delta}$ con las tablas del test ADF).\n\nOtra variante consiste en incluir una tendencia temporal determinista:\n$$\\nabla Y_t = \\underbrace{c + \\beta t} + \\delta Y_{t-1} + \\pi_1 \\nabla Y_{t-1} + \\pi_2 \\nabla Y_{t-2} + \\cdots + \\pi_p \\nabla Y_{t-p} + U_t$$\n\n"]},{"cell_type":"markdown","id":"22795368-40fa-4d10-bc92-097a7e972376","metadata":{"slideshow":{"slide_type":"subslide"}},"source":["##### Test Kwiatkowski–Phillips–Schmidt–Shin (KPSS)\n\n"]},{"cell_type":"markdown","id":"e168698f-401e-4232-a17a-1cdee59c6917","metadata":{},"source":["El contraste KPSS es un contraste alternativo (y complementario) al test DF/ADF\n\nLas hipótesis del test KPSS están invertidas respecto a las del Test DF\n\n- **$H_0$:** la serie es $I(0)$.\n- **$H_1$:** la serie es $I(1)$ o estacionaria en torno a una tendencia determinista\n\n**DF/ADF y KPSS se complementan.** Si la serie es:\n\n- *estacionaria*: el test DF/ADF debería rechazar su $H_0:$ la serie es $I(1)$\n- *NO estacionaria*: el test KPSS debería rechazar su $H_0:$ la serie es $I(0)$\n\nEstos test son poco potentes y son frágiles ante incumplimientos\n(heterocedasticidad o no-normalidad); por ello debemos complementarlos\ncon el análisis gráfico.\n\n"]},{"cell_type":"markdown","id":"cdf9c56f-45d5-4b2c-886c-4baabe7062d4","metadata":{"slideshow":{"slide_type":"slide"}},"source":["### ACF muestral\n\n"]},{"cell_type":"markdown","id":"cc601fc1-314b-4287-a2e2-7ee2ca8fbfac","metadata":{},"source":["La *k*-ésima autocorrelación muestral simple ($\\widehat{\\rho_k}$) se\ndefine como:\n$$\\widehat{\\rho_k}=\\frac{\\widehat{\\gamma_k}}{\\widehat{\\gamma_0}};\\qquad\n\\widehat{\\gamma_k}=\\frac{1}{n}\\sum_{t=k+1}^n\n\\widetilde{X_t}\\widetilde{X_{t-k}},\\quad\\text{para }\\;k=1,2,\\ldots$$\ndonde $\\widetilde{X_t}=X_t-\\bar{X}$.\n\nPara valorar la significatividad individual de estas autocorrelaciones\npuede usarse el error estándar asintótico:\n$s.e.(\\widehat{\\rho_k})=1/\\sqrt{n}$.\n\nPara contrastar la $H_0:$ *los $k$ primeros retardos son conjuntamente \nno significativos* (es decir, para contrastar si el proceso es *ruido\nblanco*) se emplea el test de Ljung-Box $$Q =\nn\\left(n+2\\right)\\sum_{k=1}^h\\frac{\\hat{\\rho}^2_k}{n-k}$$\n(usaremos el test de Ljung-Box para evaluar los modelos).\n\n"]},{"cell_type":"markdown","id":"6a2eeb6c-a65a-4d6b-85cd-1ae19032ae73","metadata":{"slideshow":{"slide_type":"slide"}},"source":["### PACF muestral\n\n"]},{"cell_type":"markdown","id":"056b6e3c-045c-46c4-ae8a-396479b58142","metadata":{},"source":["La *k*-ésima autocorrelación muestral $\\widehat{\\pi_k}$ se puede\nestimar mediante el algoritmo Levinson-Durbin sustituyendo las\nautocorrelaciones teóricas por las muestrales.\n\nO bien, calculando el *k*-ésimo coeficiente MCO de una autorregresión\nde orden $k$ $$\\widetilde{X}_t =\n\\widehat{\\phi_{k1}}\\widetilde{X}_{t-1} +\n\\widehat{\\phi_{k2}}\\widetilde{X}_{t-2} + \\cdots +\n\\widehat{\\phi_{kk}}\\widetilde{X}_{t-k} + U_t;\\qquad k = 1, 2,\\ldots$$\ndonde $\\widetilde{X}_t=X_t-\\bar{X}\\;$ y donde\n$\\;\\widehat{\\pi_k}=\\widehat{\\phi_{kk}}$\n\n"]},{"cell_type":"markdown","id":"b4a0c200-7e76-468e-a39a-4342db07cc76","metadata":{"slideshow":{"slide_type":"skip"}},"source":["### Otras herramientas estadísticas :CómoHacerConR:\n\n"]},{"cell_type":"markdown","id":"8bd9358a-036e-476e-a6f8-3a29fc75b4ca","metadata":{"slideshow":{"slide_type":"slide"}},"source":["#### Estadísticos descriptivos\n\n"]},{"cell_type":"markdown","id":"8fd87b05-6603-4605-85e2-0955fdf25a71","metadata":{},"source":["- el nivel de la serie (media, mediana),\n- valores extremos (máximo y mínimo). A veces son outliers o errores de registro\n- dispersión de la variable (desviación típica, coeficiente de variación, rango, rango interpercentiles, rango intercuartílico)\n- otros momentos (asimetría, exceso de curtosis)\n\nTambién es frecuente contrastar si la media es significativa ( $H_0: \\mu = 0$)\n$$\\frac{\\widehat{\\mu}}{\\widehat{dt(\\widehat{\\mu})}}\\underset{H_0}{\\sim}t_{n-1};\\qquad\n\\widehat{dt(\\widehat{\\mu})}=\\frac{\\widehat{\\sigma}}{\\sqrt{n}}.$$\n\n"]},{"cell_type":"code","execution_count":1,"id":"6c1e52cf-b57d-46b4-8676-316b58f7d436","metadata":{"slideshow":{"slide_type":"skip"}},"outputs":[{"name":"stdout","output_type":"stream","text":"#+begin_example\n\n\n============ =============\n\\ x\n============ =============\nmedian 265.5000000\nmean 280.2986111\nSE.mean 9.9971931\nCI.mean.0.95 19.7613736\nvar 14391.9172009\nstd.dev 119.9663169\ncoef.var 0.4279947\nskewness 0.5710676\nskew.2SE 1.4132515\nkurtosis -0.4298441\nkurt.2SE -0.5353818\nnormtest.W 0.9519577\nnormtest.p 0.0000683\n============ =============\n#+end_example"}],"source":["library(pastecs) # resumen estadísticos descriptivos\n# https://cran.r-project.org/web/packages/pastecs/index.html (stat.desc)\nlibrary(knitr) # presentación de tabla resumen\n# https://cran.r-project.org/web/packages/knitr/index.html (kable)\n# https://bookdown.org/yihui/rmarkdown-cookbook/kable.html\n\n# estadísticos principales y test de normalidad\nkable(stat.desc(Z, basic=FALSE, norm=TRUE), 'rst')"]},{"cell_type":"markdown","id":"e97398d3-113b-443e-9a05-20b5ff0896bb","metadata":{"slideshow":{"slide_type":"fragment"}},"source":["#### Contraste de normalidad Jarque-Bera\n\n"]},{"cell_type":"markdown","id":"f56f48c5-cee9-4564-931b-f592fa08645f","metadata":{},"source":["[Jarque-Bera test (Wikipedia)](https://en.wikipedia.org/wiki/Jarque%E2%80%93Bera_test)\n\n- **Si los datos son mayores que cero:** a menudo la transformación\n logarítmica ayuda a conseguir normalidad\n\n- **Si hay valores atípicos:** el mejor tratamiento es *intervenirlos*.\n\n"]},{"cell_type":"markdown","id":"1fa3944e-7fbd-403b-bcbf-25d9b4e4e2e3","metadata":{"slideshow":{"slide_type":"skip"}},"source":["Podemos calcularlo con la librería [momments](https://cran.r-project.org/web/packages/moments/index.html):\n\n"]},{"cell_type":"code","execution_count":1,"id":"db31b213-5ac0-4c26-9f43-212c7b984f0d","metadata":{"slideshow":{"slide_type":"skip"}},"outputs":[{"name":"stdout","output_type":"stream","text":"Jarque-Bera Normality Test\n\ndata: as.numeric(Z)\nJB = 8.9225, p-value = 0.01155\nalternative hypothesis: greater"}],"source":["#install.packages(\"moments\")\nlibrary(moments)\n# Perform the Jarque-Bera test\njb_test <- jarque.test(as.numeric(Z))\n# Print the test result\nprint(jb_test)"]},{"cell_type":"markdown","id":"ddcbb8e0-8bfb-47fa-910a-8004df445abf","metadata":{"slideshow":{"slide_type":"skip"}},"source":[" \n \tJarque-Bera Normality Test\n \n data: as.numeric(Z)\n JB = 8.9225, p-value = 0.01155\n alternative hypothesis: greater\n\n"]},{"cell_type":"markdown","id":"38618f70-4acd-4209-b7f5-0b78c098e897","metadata":{"slideshow":{"slide_type":"skip"}},"source":["Otra librería alternativa para calcularlo: [tseries](https://cran.r-project.org/web/packages/tseries/index.html)\n\n"]},{"cell_type":"code","execution_count":1,"id":"2b9c3f50-c313-458d-a0de-91f6b03ad833","metadata":{"slideshow":{"slide_type":"skip"}},"outputs":[{"name":"stdout","output_type":"stream","text":"#+begin_example\nRegistered S3 method overwritten by 'quantmod':\n method from\n as.zoo.data.frame zoo \n\n\tJarque Bera Test\n\ndata: Z\nX-squared = 8.9225, df = 2, p-value = 0.01155\n#+end_example"}],"source":["library(tseries)\n# Perform the Jarque-Bera test\njb_test <- jarque.bera.test(Z)\n# Print the test result\nprint(jb_test)"]}],"metadata":{"org":null,"kernelspec":{"display_name":"R","language":"R","name":"ir"},"language_info":{"codemirror_mode":"r","file_extension":".r","mimetype":"text/x-r-source","name":"R","pygments_lexer":"r","version":"3.3.2"}},"nbformat":4,"nbformat_minor":5}