{ "cells": [ { "cell_type": "markdown", "metadata": { "pycharm": { "name": "#%% md\n" } }, "source": [ "# El operador de rezagos\n", "\n", "Ejemplo numérico para ilustrar el uso de los operadores de rezago, diferencia, y diferencia estacional." ] }, { "cell_type": "markdown", "metadata": { "pycharm": { "name": "#%% md\n" } }, "source": [ "## Cargar paquetes necesarios" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "pycharm": { "name": "#%%\n" } }, "outputs": [], "source": [ "import pandas as pd" ] }, { "cell_type": "markdown", "metadata": { "pycharm": { "name": "#%% md\n" } }, "source": [ "## Importar los datos" ] }, { "cell_type": "markdown", "metadata": { "pycharm": { "name": "#%% md\n" } }, "source": [ "* Leer una serie de tiempo ficticia de data\\LandD.csv y mostrarlos" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "pycharm": { "name": "#%%\n" } }, "outputs": [ { "data": { "text/plain": [ "Index(['y'], dtype='object')" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "datos = pd.read_csv('https://github.com/randall-romero/econometria/raw/master/data/LandD.csv', index_col=0, parse_dates=True)\n", "datos.columns" ] }, { "cell_type": "markdown", "metadata": { "pycharm": { "name": "#%% md\n" } }, "source": [ "## Obtener las series transformadas" ] }, { "cell_type": "markdown", "metadata": { "pycharm": { "name": "#%% md\n" } }, "source": [ "* Operador de rezagos" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "pycharm": { "name": "#%%\n" } }, "outputs": [], "source": [ "datos['Lag_y'] = datos['y'].shift(1)\n", "datos['Lag2_y'] = datos['y'].shift(2)" ] }, { "cell_type": "markdown", "metadata": { "pycharm": { "name": "#%% md\n" } }, "source": [ "* Operador de diferencias\n", "\\begin{align*}\n", "\\Delta y_t &= (1-L)y_t = y_t - y_{t-1} \\\\\n", "\\Delta^2 y_t &= (1-L)^2y_t = y_t - 2y_{t-1} + y_{t-2}\n", "\\end{align*}" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "pycharm": { "name": "#%%\n" } }, "outputs": [], "source": [ "datos['D_y'] = datos.y.diff()\n", "datos['D2_y'] = datos.y.diff(1).diff(1)" ] }, { "cell_type": "markdown", "metadata": { "pycharm": { "name": "#%% md\n" } }, "source": [ "* Operador de diferencia estacional\n", "\n", "\\begin{equation*}\n", "\\Delta_4 y_t = (1-L^4)y_t = y_t - y_{t-4}\n", "\\end{equation*}" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "pycharm": { "name": "#%%\n" } }, "outputs": [], "source": [ "datos['S_y'] = datos.y.diff(4)" ] }, { "cell_type": "markdown", "metadata": { "pycharm": { "name": "#%% md\n" } }, "source": [ "* Mostrar los resultados" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "pycharm": { "name": "#%%\n" } }, "outputs": [ { "data": { "text/html": [ "
\n", " | y | \n", "Lag_y | \n", "Lag2_y | \n", "D_y | \n", "D2_y | \n", "S_y | \n", "
---|---|---|---|---|---|---|
trimestre | \n", "\n", " | \n", " | \n", " | \n", " | \n", " | \n", " |
2018-01-01 | \n", "10 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
2018-04-01 | \n", "13 | \n", "10.0 | \n", "NaN | \n", "3.0 | \n", "NaN | \n", "NaN | \n", "
2018-07-01 | \n", "10 | \n", "13.0 | \n", "10.0 | \n", "-3.0 | \n", "-6.0 | \n", "NaN | \n", "
2018-10-01 | \n", "8 | \n", "10.0 | \n", "13.0 | \n", "-2.0 | \n", "1.0 | \n", "NaN | \n", "
2019-01-01 | \n", "15 | \n", "8.0 | \n", "10.0 | \n", "7.0 | \n", "9.0 | \n", "5.0 | \n", "
2019-04-01 | \n", "16 | \n", "15.0 | \n", "8.0 | \n", "1.0 | \n", "-6.0 | \n", "3.0 | \n", "
2019-07-01 | \n", "14 | \n", "16.0 | \n", "15.0 | \n", "-2.0 | \n", "-3.0 | \n", "4.0 | \n", "
2019-10-01 | \n", "11 | \n", "14.0 | \n", "16.0 | \n", "-3.0 | \n", "-1.0 | \n", "3.0 | \n", "