From 43297a20537934e2df22d88b293f3db66920239c Mon Sep 17 00:00:00 2001 From: Cristian Date: Tue, 11 Jan 2022 01:05:16 -0600 Subject: [PATCH 1/3] Adding Dockerfile and .gitignore --- .gitignore | 168 ++++++++++++++++++++++++++++++++++++++++++++++++++++- Dockerfile | 14 +++++ 2 files changed, 181 insertions(+), 1 deletion(-) create mode 100644 Dockerfile diff --git a/.gitignore b/.gitignore index 932f02d..c1591d7 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,167 @@ -/data/*.csv \ No newline at end of file +.DS_Store +### PyCharm ### +.idea + +### JupyterNotebooks ### +# gitignore template for Jupyter Notebooks +# website: http://jupyter.org/ + +.ipynb_checkpoints +*/.ipynb_checkpoints/* + +# IPython +profile_default/ +ipython_config.py + +# Remove previous ipynb_checkpoints +# git rm -r .ipynb_checkpoints/ + +### Python ### +# Byte-compiled / optimized / DLL files + +__pycache__/ +__init__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +parts/ +sdist/ +var/ +wheels/ +pip-wheel-metadata/ +share/python-wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.nox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +*.py,cover +.hypothesis/ +.pytest_cache/ +pytestdebug.log + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py +db.sqlite3 +db.sqlite3-journal + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ +doc/_build/ + +# PyBuilder +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# IPython +profile_default/ +ipython_config.py + +# pyenv +.python-version + +# pipenv +# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. +# However, in case of collaboration, if having platform-specific dependencies or dependencies +# having no cross-platform support, pipenv may install dependencies that don't work, or not +# install all needed dependencies. +#Pipfile.lock + +# poetry +#poetry.lock + +# PEP 582; used by e.g. github.com/David-OConnor/pyflow +__pypackages__/ + +# Celery stuff +celerybeat-schedule +celerybeat.pid + +# SageMath parsed files +*.sage.py + +# Environments +# .env +.env/ +.venv/ +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ +pythonenv* + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ +.dmypy.json +dmypy.json + +# Pyre type checker +.pyre/ + +# pytype static type analyzer +.pytype/ + +# operating system-related files +# file properties cache/storage on macOS +*.DS_Store +# thumbnail cache on Windows +Thumbs.db + +# profiling data +.prof diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..54699cd --- /dev/null +++ b/Dockerfile @@ -0,0 +1,14 @@ +FROM python:3.9 + +WORKDIR /code + +COPY ./requirements.txt /code/requirements.txt + +RUN apt-get update && apt-get install -y procps \ + && pip install -U pip && rm /etc/localtime \ + && ln -s /usr/share/zoneinfo/America/Mexico_City /etc/localtime \ + && pip install -r ./requirements.txt + +COPY ./notebooks /code/notebooks + +CMD ["jupyter", "notebook", "--port=8888", "--ip=0.0.0.0", "--allow-root"] From 7c4b94f813b3a58e2d6ababd23a68f738e75d011 Mon Sep 17 00:00:00 2001 From: Cristian Date: Tue, 11 Jan 2022 01:06:40 -0600 Subject: [PATCH 2/3] Changing readme.md to adding instructions to execute jupyter-notebook on docker. Adding requirements.txt with the respective dependencies. --- readme.md | 68 ++++++++++++++++-------------------------------- requirements.txt | 5 ++++ 2 files changed, 28 insertions(+), 45 deletions(-) create mode 100644 requirements.txt diff --git a/readme.md b/readme.md index 151882f..5865420 100644 --- a/readme.md +++ b/readme.md @@ -1,46 +1,24 @@ -# Synx Challenge -Welcome to the Synx interview challenge! This repository is designed for candidates to fork and create [pull request](https://help.github.com/articles/about-pull-requests/) with their solutions. - -### What to expect -We understand that everyone's time is valuable, all challenges are designed to be short and concise way to explore skills we are interested in, in that way, we also try to offer a complete guide in how to install the needed environments and data (if required) and an extensive guide in how to submit results, so can focus on your soulution. - -In this challenge, we simplified the tools and processes that we actually use. It's ok not to be familiar with some of them, as the team we would like to be, we are here to help anyway we can, feel free to open an issue if you have any doubts. - -### What we are looking for? - -- **Data Science**: To undestand your own though process to solve problems, how do you use, process and present data. - -- **Technical Skills**: To assest your familiarity with tools and processes. - -# Challenge Instructions - -## Overview -We're going to leverage typical analysis and development workflows used by our team. In short, you'll: - -- Fork this repository and setup a clone on your machine. -- Run the Jupyter Notebooks by launcher the pre-configured Docker container or using [jupyter.org/try](https://jupyter.org/try) -- send us completed exam submittal via a [pull request PR](https://help.github.com/articles/about-pull-requests/) - -### Fork and Clone the Repo - -Fork this repo to your own account using the following button: - - -Fork - -Then using your command line shell, fork your repo: - -``` -git clone git@github.com:[GH_USERNAME]/interview-challenge.git -cd interview-challenge -``` - - -### Run Jupyter Locally - -If you have **Docker** [installed](https://docs.docker.com/get-docker/), - -``` -docker-compose up -``` +# Interview Challenge +En este repositorio se encuentra la solución planteada por `Cristian Zapata` al reto técnico presentado por +Synx.ia para la vacante de Científico de Datos de `Kapital Financiera` + +### ¿Cómo abrir la solución? + +Para abrir el `Jupyter-Notebook` con la solución, puede usar cualquiera de las siguientes opciones: + +- Si tiene **docker** instalado, puede seguir los siguientes pasos: + 1. En la terminal (`shell`) del sistema operativo en que se encuentre, muevase a la carpeta en donde clonó este repositorio. + 2. Dentro de la terminal, ejecute el siguiente comando: + `docker build ./ -t interview_cristian` el cuál construirá la respectiva imágen a partirt del `Dockerfile` configurado. + 3. Una vez termine la construcción de la imagen, ejecute el siguiente comando `docker run -p 8888:8888 interview_cristian` el cuál ejecutará el contenedor con la respectiva imagen anteriormente creada. + 4. Este último comando deberá inicializar un servidor de Jupyter localmente en el puerto 8888, copie la URL de acceso de la terminal a su navegador de preferencia. + 5. Una vez abierto Jupyter, navegue a la ruta `notebooks/Solucion Cristian.ipynb` para abrir el respectivo archivo con la solución planteada. + +- De igual manera, puede seguir las siguientes instrucciones: + 1. Crear un ambiente virtual de manera local, si no sabe cómo, puede seguir las [instrucciones aquí planteada](https://uoa-eresearch.github.io/eresearch-cookbook/recipe/2014/11/26/python-virtual-env/). + 2. Una vez creado dicho ambiente virtual, desde la terminal y estando dentro del directorio de este repositorio, ejecute el siguiente comando: `pip install -r requirements.txt`. El cuál instalará las librerías necesarias para la solución planteada. + 3. Ejecute el comando `jupyter-notebook` en la terminal. + 4. Este último comando deberá inicializar un servidor de Jupyter localmente en el puerto 8888, copie la URL de acceso de la terminal a su navegador de preferencia. + 5. Una vez abierto Jupyter, navegue a la ruta `notebooks/Solucion Cristian.ipynb` para abrir el respectivo archivo con la solución planteada. + diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..04ea15a --- /dev/null +++ b/requirements.txt @@ -0,0 +1,5 @@ +seaborn==0.11.2 +matplotlib==3.3.2 +plotly==5.5.0 +jupyter==1.0.0 +pandas==1.3.5 \ No newline at end of file From 201d9578b790fe48c54709242793a649f5f40560 Mon Sep 17 00:00:00 2001 From: Cristian Date: Tue, 11 Jan 2022 05:00:18 -0600 Subject: [PATCH 3/3] Updating requirements.txt. Adding the notebook with the proposed solution. --- notebooks/Solucion Cristian.ipynb | 8528 +++++++++++++++++++++++++++++ requirements.txt | 4 +- 2 files changed, 8531 insertions(+), 1 deletion(-) create mode 100644 notebooks/Solucion Cristian.ipynb diff --git a/notebooks/Solucion Cristian.ipynb b/notebooks/Solucion Cristian.ipynb new file mode 100644 index 0000000..236e278 --- /dev/null +++ b/notebooks/Solucion Cristian.ipynb @@ -0,0 +1,8528 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "0365b4d8", + "metadata": {}, + "source": [ + "## Proyecciones de Natalidad en Jalisco (Python)\n", + "\n", + "El objetivo de este proyecto, es predecir la natalidad en el Estado de Jalisco para los años 2019 al 2021, utilizando los datos anuales del 2010 al 2018. Así como ofrecer una evaluación de los resultados." + ] + }, + { + "cell_type": "code", + "execution_count": 193, + "id": "ca4c78fc", + "metadata": { + "slideshow": { + "slide_type": "-" + } + }, + "outputs": [], + "source": [ + "from statsmodels.tsa.stattools import acf, pacf\n", + "from statsmodels.tsa.arima.model import ARIMA\n", + "from pmdarima.arima import auto_arima\n", + "import plotly.graph_objects as go\n", + "import matplotlib.pyplot as plt\n", + "import plotly.express as px\n", + "import seaborn as sns\n", + "import pandas as pd\n", + "import numpy as np\n", + "import sqlite3" + ] + }, + { + "cell_type": "code", + "execution_count": 194, + "outputs": [ + { + "data": { + "text/plain": " Estado Total Hombres Mujeres No Especificado Año\n0 Aguascalientes 26583 13603 12980 0 2010\n1 Baja California 63559 32264 31295 0 2010\n2 Baja California Sur 13988 7076 6912 0 2010\n3 Campeche 20380 10230 10150 0 2010\n4 Coahuila de Zaragoza 56972 28879 28093 0 2010", + "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
EstadoTotalHombresMujeresNo EspecificadoAño
0Aguascalientes26583136031298002010
1Baja California63559322643129502010
2Baja California Sur139887076691202010
3Campeche20380102301015002010
4Coahuila de Zaragoza56972288792809302010
\n
" + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "con: sqlite3.Connection = sqlite3.connect(\"file:./data/natalidad_en_mexico.sqlite?mode=ro\", uri=True)\n", + "df_nacimientos: pd.DataFrame = pd.read_sql_query(\"SELECT * from nacimientos\", con)\n", + "\n", + "display(df_nacimientos.head())\n", + "\n", + "con.close()" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "code", + "execution_count": 195, + "id": "76020529", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": " Estado Total Hombres Mujeres No Especificado Año\ncount 297 297 297 297 297 297\nunique 33 296 295 294 33 9\ntop Aguascalientes 61840 6777 12980 0 2010\nfreq 9 2 2 2 209 33", + "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
EstadoTotalHombresMujeresNo EspecificadoAño
count297297297297297297
unique33296295294339
topAguascalientes6184067771298002010
freq922220933
\n
" + }, + "execution_count": 195, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_nacimientos.describe()" + ] + }, + { + "cell_type": "markdown", + "id": "0d57875f", + "metadata": {}, + "source": [ + "## Overview de los datos\n", + "Se realiza un overview de los datos para verificar si existe o no algún dato o entrada nula.\n", + "___" + ] + }, + { + "cell_type": "code", + "execution_count": 196, + "id": "f1d504aa", + "metadata": { + "pycharm": { + "name": "#%%\n" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "RangeIndex: 297 entries, 0 to 296\n", + "Data columns (total 6 columns):\n", + " # Column Non-Null Count Dtype \n", + "--- ------ -------------- ----- \n", + " 0 Estado 297 non-null object\n", + " 1 Total 297 non-null object\n", + " 2 Hombres 297 non-null object\n", + " 3 Mujeres 297 non-null object\n", + " 4 No Especificado 297 non-null object\n", + " 5 Año 297 non-null object\n", + "dtypes: object(6)\n", + "memory usage: 14.0+ KB\n" + ] + }, + { + "data": { + "text/plain": "None" + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "display(df_nacimientos.info())" + ] + }, + { + "cell_type": "code", + "execution_count": 197, + "id": "f7df961b", + "metadata": { + "pycharm": { + "name": "#%%\n" + } + }, + "outputs": [ + { + "data": { + "text/plain": "Estado 0\nTotal 0\nHombres 0\nMujeres 0\nNo Especificado 0\nAño 0\ndtype: int64" + }, + "execution_count": 197, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_nacimientos.isna().sum()" + ] + }, + { + "cell_type": "markdown", + "id": "c7fb5703", + "metadata": {}, + "source": [ + "#### Se puede corroborar que no existe ningún dato desaparecido. Sin embargo se puede observar que el tipo de dato de algunos campos es \"objeto\" y no un valor entero. Se realizará el respectivo cambio de tipo de variable.\n", + "_____" + ] + }, + { + "cell_type": "code", + "execution_count": 198, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "RangeIndex: 297 entries, 0 to 296\n", + "Data columns (total 6 columns):\n", + " # Column Non-Null Count Dtype \n", + "--- ------ -------------- ----- \n", + " 0 Estado 297 non-null object\n", + " 1 Total 297 non-null int64 \n", + " 2 Hombres 297 non-null int64 \n", + " 3 Mujeres 297 non-null int64 \n", + " 4 No Especificado 297 non-null int64 \n", + " 5 Año 297 non-null int64 \n", + "dtypes: int64(5), object(1)\n", + "memory usage: 14.0+ KB\n" + ] + } + ], + "source": [ + "cols_num = ['Año', 'Hombres', 'Mujeres', 'Total', 'No Especificado']\n", + "df_nacimientos[cols_num] = df_nacimientos[cols_num].astype(int)\n", + "df_nacimientos.info()" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "markdown", + "source": [ + "### Correlación entre columnas\n", + "Ahora se revisará si existe alguna correlación entre los datos, para ello se graficará la matriz de correlación de los datos datos.\n" + ], + "metadata": { + "collapsed": false + } + }, + { + "cell_type": "code", + "execution_count": 199, + "outputs": [ + { + "data": { + "text/plain": "
", + "image/png": "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\n" + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "plt.figure(figsize=(15,8))\n", + "sns.heatmap(data=df_nacimientos[cols_num].corr(method='spearman'), vmax=1, center=0, annot=True, cmap='coolwarm', linewidths=0.5)\n", + "plt.show()" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "markdown", + "source": [ + "#### Análisis de la matriz de correlación\n", + "Se observa una obvio y total correlación entre el número `Total` de nacimientos y los nacimientos de `Hombres` y `Mujeres`, por lo que dichos campos/columnas (`Hombres` y `Mujeres`) serán eliminados y se considerará solamente el total de nacimientos por año. Respecto a la columna `No Especificado` aunque estadísticamente tenga una correlación cercana a cero (no correlacionado) se considerará como valores outlier debido al contexto, por lo que se optará por eliminar también." + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%% md\n" + } + } + }, + { + "cell_type": "code", + "execution_count": 200, + "outputs": [], + "source": [ + "df_nacimientos.drop(columns=['Hombres', 'Mujeres', 'No Especificado'], inplace=True)" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "code", + "execution_count": 201, + "outputs": [ + { + "data": { + "text/plain": " Estado Total Año\n0 Aguascalientes 26583 2010\n33 Aguascalientes 27427 2011\n66 Aguascalientes 26933 2012\n99 Aguascalientes 26434 2013\n132 Aguascalientes 27080 2014\n165 Aguascalientes 26486 2015\n198 Aguascalientes 26388 2016\n231 Aguascalientes 26955 2017\n264 Aguascalientes 25938 2018\n1 Baja California 63559 2010\n34 Baja California 65631 2011\n67 Baja California 62871 2012\n100 Baja California 61840 2013\n133 Baja California 63183 2014\n166 Baja California 63805 2015", + "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
EstadoTotalAño
0Aguascalientes265832010
33Aguascalientes274272011
66Aguascalientes269332012
99Aguascalientes264342013
132Aguascalientes270802014
165Aguascalientes264862015
198Aguascalientes263882016
231Aguascalientes269552017
264Aguascalientes259382018
1Baja California635592010
34Baja California656312011
67Baja California628712012
100Baja California618402013
133Baja California631832014
166Baja California638052015
\n
" + }, + "execution_count": 201, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_nacimientos.sort_values(['Estado', 'Año']).head(15)" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "markdown", + "id": "b721a22a", + "metadata": { + "pycharm": { + "name": "#%% md\n" + } + }, + "source": [ + "## Visualización de los datos\n", + "\n", + "Se iniciará generando diagrama de caja para cada estado. Por temas de legilibilidad, se separaran en dos gráficos aparte." + ] + }, + { + "cell_type": "code", + "execution_count": 202, + "outputs": [], + "source": [ + "# The list of states is separated in two different lists.\n", + "col_list = df_nacimientos.sort_values(['Total'])['Estado'].unique()\n", + "col_list_1 = col_list[:16]\n", + "col_list_2 = col_list[16:]\n", + "\n", + "# Create a new dataframe with the first list of states\n", + "df_1 = df_nacimientos[df_nacimientos['Estado'].isin(col_list_1)]\n", + "\n", + "# Create a new dataframe with the last list of states\n", + "df_2 = df_nacimientos[df_nacimientos['Estado'].isin(col_list_2)]" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "code", + "execution_count": 203, + "outputs": [ + { + "data": { + "application/vnd.plotly.v1+json": { + "data": [ + { + "alignmentgroup": "True", + "boxpoints": "all", + "hovertemplate": "Estado=%{x}
Total=%{y}", + "legendgroup": "", + "marker": { + "color": "#636efa" + }, + "name": "", + "notched": false, + "offsetgroup": "", + "orientation": "v", + "showlegend": false, + "x": [ + "Aguascalientes", + "Baja California Sur", + "Campeche", + "Colima", + "Durango", + "Morelos", + "Nayarit", + "Querétaro", + "Quintana Roo", + "San Luis Potosí", + "Sonora", + "Tabasco", + "Tlaxcala", + "Yucatán", + "Zacatecas", + "Extranjero", + "Aguascalientes", + "Baja California Sur", + "Campeche", + "Colima", + "Durango", + "Morelos", + "Nayarit", + "Querétaro", + "Quintana Roo", + "San Luis Potosí", + "Sonora", + "Tabasco", + "Tlaxcala", + "Yucatán", + "Zacatecas", + "Extranjero", + "Aguascalientes", + "Baja California Sur", + "Campeche", + "Colima", + "Durango", + "Morelos", + "Nayarit", + "Querétaro", + "Quintana Roo", + "San Luis Potosí", + "Sonora", + "Tabasco", + "Tlaxcala", + "Yucatán", + "Zacatecas", + "Extranjero", + "Aguascalientes", + "Baja California Sur", + "Campeche", + "Colima", + "Durango", + "Morelos", + "Nayarit", + "Querétaro", + "Quintana Roo", + "San Luis Potosí", + "Sonora", + "Tabasco", + "Tlaxcala", + "Yucatán", + "Zacatecas", + "Extranjero", + "Aguascalientes", + "Baja California Sur", + "Campeche", + "Colima", + "Durango", + "Morelos", + "Nayarit", + "Querétaro", + "Quintana Roo", + "San Luis Potosí", + "Sonora", + "Tabasco", + "Tlaxcala", + "Yucatán", + "Zacatecas", + "Extranjero", + "Aguascalientes", + "Baja California Sur", + "Campeche", + "Colima", + "Durango", + "Morelos", + "Nayarit", + "Querétaro", + "Quintana Roo", + "San Luis Potosí", + "Sonora", + "Tabasco", + "Tlaxcala", + "Yucatán", + "Zacatecas", + "Extranjero", + "Aguascalientes", + "Baja California Sur", + "Campeche", + "Colima", + "Durango", + "Morelos", + "Nayarit", + "Querétaro", + "Quintana Roo", + "San Luis Potosí", + "Sonora", + "Tabasco", + "Tlaxcala", + "Yucatán", + "Zacatecas", + "Extranjero", + "Aguascalientes", + "Baja California Sur", + "Campeche", + "Colima", + "Durango", + "Morelos", + "Nayarit", + "Querétaro", + "Quintana Roo", + "San Luis Potosí", + "Sonora", + "Tabasco", + "Tlaxcala", + "Yucatán", + "Zacatecas", + "Extranjero", + "Aguascalientes", + "Baja California Sur", + "Campeche", + "Colima", + "Durango", + "Morelos", + "Nayarit", + "Querétaro", + "Quintana Roo", + "San Luis Potosí", + "Sonora", + "Tabasco", + "Tlaxcala", + "Yucatán", + "Zacatecas", + "Extranjero" + ], + "x0": " ", + "xaxis": "x", + "y": [ + 26583, + 13988, + 20380, + 13796, + 42514, + 40210, + 24639, + 40863, + 28999, + 58583, + 54110, + 49844, + 27076, + 37703, + 35974, + 7362, + 27427, + 13412, + 22138, + 14054, + 41922, + 40230, + 24949, + 41714, + 28848, + 57549, + 54756, + 49575, + 27867, + 36860, + 36629, + 8921, + 26933, + 12864, + 18343, + 13422, + 40269, + 37446, + 25731, + 41567, + 28736, + 55847, + 53768, + 48806, + 28203, + 36427, + 35625, + 8911, + 26434, + 12489, + 18998, + 13287, + 39298, + 37335, + 24163, + 41817, + 28103, + 54488, + 52825, + 52478, + 27060, + 38588, + 35089, + 9303, + 27080, + 12667, + 19304, + 13303, + 40337, + 36666, + 22930, + 42231, + 30563, + 54112, + 51894, + 52508, + 25832, + 37579, + 34031, + 9096, + 26486, + 12526, + 17862, + 12344, + 39738, + 37089, + 23663, + 41904, + 30841, + 52250, + 48925, + 49785, + 26166, + 37117, + 33833, + 10776, + 26388, + 12545, + 17361, + 11867, + 37801, + 35632, + 21714, + 39634, + 30367, + 49688, + 46785, + 50310, + 25057, + 35381, + 33677, + 7856, + 26955, + 12573, + 17034, + 11756, + 37897, + 33159, + 21688, + 39400, + 29442, + 48693, + 45951, + 48725, + 26589, + 35017, + 34460, + 10842, + 25938, + 11917, + 16247, + 11375, + 36157, + 30225, + 20273, + 38559, + 29306, + 47738, + 43729, + 43911, + 24842, + 35158, + 33098, + 14843 + ], + "y0": " ", + "yaxis": "y", + "type": "box" + } + ], + "layout": { + "template": { + "data": { + "bar": [ + { + "error_x": { + "color": "#2a3f5f" + }, + "error_y": { + "color": "#2a3f5f" + }, + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "bar" + } + ], + "barpolar": [ + { + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "barpolar" + } + ], + "carpet": [ + { + "aaxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "baxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "type": "carpet" + } + ], + "choropleth": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "choropleth" + } + ], + "contour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ], + "type": "contour" + } + ], + "contourcarpet": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "contourcarpet" + } + ], + "heatmap": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ], + "type": "heatmap" + } + ], + "heatmapgl": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ], + "type": "heatmapgl" + } + ], + "histogram": [ + { + "marker": { + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "histogram" + } + ], + "histogram2d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ], + "type": "histogram2d" + } + ], + "histogram2dcontour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ], + "type": "histogram2dcontour" + } + ], + "mesh3d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "mesh3d" + } + ], + "parcoords": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "parcoords" + } + ], + "pie": [ + { + "automargin": true, + "type": "pie" + } + ], + "scatter": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatter" + } + ], + "scatter3d": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatter3d" + } + ], + "scattercarpet": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattercarpet" + } + ], + "scattergeo": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergeo" + } + ], + "scattergl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergl" + } + ], + "scattermapbox": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattermapbox" + } + ], + "scatterpolar": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolar" + } + ], + "scatterpolargl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolargl" + } + ], + "scatterternary": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterternary" + } + ], + "surface": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ], + "type": "surface" + } + ], + "table": [ + { + "cells": { + "fill": { + "color": "#EBF0F8" + }, + "line": { + "color": "white" + } + }, + "header": { + "fill": { + "color": "#C8D4E3" + }, + "line": { + "color": "white" + } + }, + "type": "table" + } + ] + }, + "layout": { + "annotationdefaults": { + "arrowcolor": "#2a3f5f", + "arrowhead": 0, + "arrowwidth": 1 + }, + "autotypenumbers": "strict", + "coloraxis": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "colorscale": { + "diverging": [ + [ + 0, + "#8e0152" + ], + [ + 0.1, + "#c51b7d" + ], + [ + 0.2, + "#de77ae" + ], + [ + 0.3, + "#f1b6da" + ], + [ + 0.4, + "#fde0ef" + ], + [ + 0.5, + "#f7f7f7" + ], + [ + 0.6, + "#e6f5d0" + ], + [ + 0.7, + "#b8e186" + ], + [ + 0.8, + "#7fbc41" + ], + [ + 0.9, + "#4d9221" + ], + [ + 1, + "#276419" + ] + ], + "sequential": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ], + "sequentialminus": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ] + }, + "colorway": [ + "#636efa", + "#EF553B", + "#00cc96", + "#ab63fa", + "#FFA15A", + "#19d3f3", + "#FF6692", + "#B6E880", + "#FF97FF", + "#FECB52" + ], + "font": { + "color": "#2a3f5f" + }, + "geo": { + "bgcolor": "white", + "lakecolor": "white", + "landcolor": "#E5ECF6", + "showlakes": true, + "showland": true, + "subunitcolor": "white" + }, + "hoverlabel": { + "align": "left" + }, + "hovermode": "closest", + "mapbox": { + "style": "light" + }, + "paper_bgcolor": "white", + "plot_bgcolor": "#E5ECF6", + "polar": { + "angularaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "radialaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "scene": { + "xaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "yaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "zaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + } + }, + "shapedefaults": { + "line": { + "color": "#2a3f5f" + } + }, + "ternary": { + "aaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "baxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "caxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "title": { + "x": 0.05 + }, + "xaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + }, + "yaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + } + } + }, + "xaxis": { + "anchor": "y", + "domain": [ + 0.0, + 1.0 + ], + "title": { + "text": "Estado" + } + }, + "yaxis": { + "anchor": "x", + "domain": [ + 0.0, + 1.0 + ], + "title": { + "text": "Total" + } + }, + "legend": { + "tracegroupgap": 0 + }, + "margin": { + "t": 60 + }, + "boxmode": "group", + "height": 800, + "width": 1200 + }, + "config": { + "plotlyServerURL": "https://plot.ly" + } + }, + "text/html": "
" + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig = px.box(df_1, x=\"Estado\", y=\"Total\", points=\"all\", width=1200, height=800)\n", + "fig.show()" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "markdown", + "source": [ + "____\n", + "De esta primera gráfica, se observa que parte de los estados más pequeños (en territorio geográfico) son los que menos nacimientos nuevos tienen por año (2010-2018). Cabe destacar que Sonora, a pesar de ser un estado con un territorio extenso, la cantidad de nacimientos por año es muy baja.\n", + "____" + ], + "metadata": { + "collapsed": false + } + }, + { + "cell_type": "code", + "execution_count": 204, + "outputs": [ + { + "data": { + "application/vnd.plotly.v1+json": { + "data": [ + { + "alignmentgroup": "True", + "boxpoints": "all", + "hovertemplate": "Estado=%{x}
Total=%{y}", + "legendgroup": "", + "marker": { + "color": "#636efa" + }, + "name": "", + "notched": false, + "offsetgroup": "", + "orientation": "v", + "showlegend": false, + "x": [ + "Baja California", + "Coahuila de Zaragoza", + "Chiapas", + "Chihuahua", + "Ciudad de México", + "Guanajuato", + "Guerrero", + "Hidalgo", + "Jalisco", + "México", + "Michoacán de Ocampo", + "Nuevo León", + "Oaxaca", + "Puebla", + "Sinaloa", + "Tamaulipas", + "Veracruz de Ignacio de la Llave", + "Baja California", + "Coahuila de Zaragoza", + "Chiapas", + "Chihuahua", + "Ciudad de México", + "Guanajuato", + "Guerrero", + "Hidalgo", + "Jalisco", + "México", + "Michoacán de Ocampo", + "Nuevo León", + "Oaxaca", + "Puebla", + "Sinaloa", + "Tamaulipas", + "Veracruz de Ignacio de la Llave", + "Baja California", + "Coahuila de Zaragoza", + "Chiapas", + "Chihuahua", + "Ciudad de México", + "Guanajuato", + "Guerrero", + "Hidalgo", + "Jalisco", + "México", + "Michoacán de Ocampo", + "Nuevo León", + "Oaxaca", + "Puebla", + "Sinaloa", + "Tamaulipas", + "Veracruz de Ignacio de la Llave", + "Baja California", + "Coahuila de Zaragoza", + "Chiapas", + "Chihuahua", + "Ciudad de México", + "Guanajuato", + "Guerrero", + "Hidalgo", + "Jalisco", + "México", + "Michoacán de Ocampo", + "Nuevo León", + "Oaxaca", + "Puebla", + "Sinaloa", + "Tamaulipas", + "Veracruz de Ignacio de la Llave", + "Baja California", + "Coahuila de Zaragoza", + "Chiapas", + "Chihuahua", + "Ciudad de México", + "Guanajuato", + "Guerrero", + "Hidalgo", + "Jalisco", + "México", + "Michoacán de Ocampo", + "Nuevo León", + "Oaxaca", + "Puebla", + "Sinaloa", + "Tamaulipas", + "Veracruz de Ignacio de la Llave", + "Baja California", + "Coahuila de Zaragoza", + "Chiapas", + "Chihuahua", + "Ciudad de México", + "Guanajuato", + "Guerrero", + "Hidalgo", + "Jalisco", + "México", + "Michoacán de Ocampo", + "Nuevo León", + "Oaxaca", + "Puebla", + "Sinaloa", + "Tamaulipas", + "Veracruz de Ignacio de la Llave", + "Baja California", + "Coahuila de Zaragoza", + "Chiapas", + "Chihuahua", + "Ciudad de México", + "Guanajuato", + "Guerrero", + "Hidalgo", + "Jalisco", + "México", + "Michoacán de Ocampo", + "Nuevo León", + "Oaxaca", + "Puebla", + "Sinaloa", + "Tamaulipas", + "Veracruz de Ignacio de la Llave", + "Baja California", + "Coahuila de Zaragoza", + "Chiapas", + "Chihuahua", + "Ciudad de México", + "Guanajuato", + "Guerrero", + "Hidalgo", + "Jalisco", + "México", + "Michoacán de Ocampo", + "Nuevo León", + "Oaxaca", + "Puebla", + "Sinaloa", + "Tamaulipas", + "Veracruz de Ignacio de la Llave", + "Baja California", + "Coahuila de Zaragoza", + "Chiapas", + "Chihuahua", + "Ciudad de México", + "Guanajuato", + "Guerrero", + "Hidalgo", + "Jalisco", + "México", + "Michoacán de Ocampo", + "Nuevo León", + "Oaxaca", + "Puebla", + "Sinaloa", + "Tamaulipas", + "Veracruz de Ignacio de la Llave" + ], + "x0": " ", + "xaxis": "x", + "y": [ + 63559, + 56972, + 175382, + 74063, + 160057, + 126741, + 119780, + 62185, + 161543, + 335898, + 116260, + 94119, + 109624, + 160571, + 61233, + 69211, + 174086, + 65631, + 58882, + 168256, + 69376, + 156549, + 124003, + 113692, + 63380, + 163123, + 327165, + 111362, + 93747, + 98888, + 146865, + 60208, + 66892, + 171417, + 62871, + 59966, + 144423, + 69735, + 153631, + 122412, + 98285, + 59924, + 161217, + 326412, + 104885, + 94440, + 95505, + 147296, + 57543, + 63263, + 164174, + 61840, + 62490, + 164102, + 66516, + 145302, + 119083, + 102077, + 59045, + 159748, + 317834, + 105158, + 93710, + 92503, + 140507, + 56267, + 59933, + 161019, + 63183, + 62966, + 164912, + 66110, + 145609, + 114890, + 90352, + 54108, + 158592, + 316088, + 104370, + 93225, + 88364, + 150633, + 55371, + 62358, + 162156, + 63805, + 62807, + 145526, + 63395, + 135828, + 114269, + 80336, + 54124, + 151578, + 303778, + 98543, + 93123, + 85492, + 141121, + 53461, + 60263, + 144842, + 62608, + 62011, + 140356, + 62313, + 128227, + 117281, + 87127, + 52629, + 148377, + 295635, + 96217, + 92978, + 83564, + 132823, + 53247, + 58914, + 137338, + 61840, + 58393, + 131638, + 63475, + 119227, + 116531, + 79244, + 50255, + 151950, + 286204, + 95287, + 89115, + 78673, + 136271, + 51850, + 57282, + 126623, + 60174, + 56718, + 130200, + 58617, + 111130, + 116207, + 73750, + 48096, + 146960, + 271684, + 91526, + 93886, + 79436, + 127695, + 51523, + 56944, + 124673 + ], + "y0": " ", + "yaxis": "y", + "type": "box" + } + ], + "layout": { + "template": { + "data": { + "bar": [ + { + "error_x": { + "color": "#2a3f5f" + }, + "error_y": { + "color": "#2a3f5f" + }, + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "bar" + } + ], + "barpolar": [ + { + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "barpolar" + } + ], + "carpet": [ + { + "aaxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "baxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "type": "carpet" + } + ], + "choropleth": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "choropleth" + } + ], + "contour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ], + "type": "contour" + } + ], + "contourcarpet": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "contourcarpet" + } + ], + "heatmap": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ], + "type": "heatmap" + } + ], + "heatmapgl": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ], + "type": "heatmapgl" + } + ], + "histogram": [ + { + "marker": { + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "histogram" + } + ], + "histogram2d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ], + "type": "histogram2d" + } + ], + "histogram2dcontour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ], + "type": "histogram2dcontour" + } + ], + "mesh3d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "mesh3d" + } + ], + "parcoords": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "parcoords" + } + ], + "pie": [ + { + "automargin": true, + "type": "pie" + } + ], + "scatter": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatter" + } + ], + "scatter3d": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatter3d" + } + ], + "scattercarpet": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattercarpet" + } + ], + "scattergeo": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergeo" + } + ], + "scattergl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergl" + } + ], + "scattermapbox": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattermapbox" + } + ], + "scatterpolar": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolar" + } + ], + "scatterpolargl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolargl" + } + ], + "scatterternary": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterternary" + } + ], + "surface": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ], + "type": "surface" + } + ], + "table": [ + { + "cells": { + "fill": { + "color": "#EBF0F8" + }, + "line": { + "color": "white" + } + }, + "header": { + "fill": { + "color": "#C8D4E3" + }, + "line": { + "color": "white" + } + }, + "type": "table" + } + ] + }, + "layout": { + "annotationdefaults": { + "arrowcolor": "#2a3f5f", + "arrowhead": 0, + "arrowwidth": 1 + }, + "autotypenumbers": "strict", + "coloraxis": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "colorscale": { + "diverging": [ + [ + 0, + "#8e0152" + ], + [ + 0.1, + "#c51b7d" + ], + [ + 0.2, + "#de77ae" + ], + [ + 0.3, + "#f1b6da" + ], + [ + 0.4, + "#fde0ef" + ], + [ + 0.5, + "#f7f7f7" + ], + [ + 0.6, + "#e6f5d0" + ], + [ + 0.7, + "#b8e186" + ], + [ + 0.8, + "#7fbc41" + ], + [ + 0.9, + "#4d9221" + ], + [ + 1, + "#276419" + ] + ], + "sequential": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ], + "sequentialminus": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ] + }, + "colorway": [ + "#636efa", + "#EF553B", + "#00cc96", + "#ab63fa", + "#FFA15A", + "#19d3f3", + "#FF6692", + "#B6E880", + "#FF97FF", + "#FECB52" + ], + "font": { + "color": "#2a3f5f" + }, + "geo": { + "bgcolor": "white", + "lakecolor": "white", + "landcolor": "#E5ECF6", + "showlakes": true, + "showland": true, + "subunitcolor": "white" + }, + "hoverlabel": { + "align": "left" + }, + "hovermode": "closest", + "mapbox": { + "style": "light" + }, + "paper_bgcolor": "white", + "plot_bgcolor": "#E5ECF6", + "polar": { + "angularaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "radialaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "scene": { + "xaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "yaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "zaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + } + }, + "shapedefaults": { + "line": { + "color": "#2a3f5f" + } + }, + "ternary": { + "aaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "baxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "caxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "title": { + "x": 0.05 + }, + "xaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + }, + "yaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + } + } + }, + "xaxis": { + "anchor": "y", + "domain": [ + 0.0, + 1.0 + ], + "title": { + "text": "Estado" + } + }, + "yaxis": { + "anchor": "x", + "domain": [ + 0.0, + 1.0 + ], + "title": { + "text": "Total" + } + }, + "legend": { + "tracegroupgap": 0 + }, + "margin": { + "t": 60 + }, + "boxmode": "group", + "height": 800, + "width": 1200 + }, + "config": { + "plotlyServerURL": "https://plot.ly" + } + }, + "text/html": "
" + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig = px.box(df_2, x=\"Estado\", y=\"Total\", points=\"all\", width=1200, height=800)\n", + "fig.show()" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "markdown", + "source": [ + "En esta segunda gráfica se pueden observar diferente particularidades:\n", + "- Se podría considerar a **México (Estado)** como un *\"outlier\"*, ya que la cantidad de nacimientos está muy por encima de los demás estados.\n", + "- El estado de **Nuevo León** es el que más *constante/estacionario* es de todo el país, ya que la cantidad de nacimientos en el período estudiado difiere muy poco entre años. Seguido de Aguascalientes, Baja California y Baja California Sur.\n", + "- Jalisco, *que es el estado de interés para este problema*, no tiene un comportamiento estacionario del todo, pero tampoco tiene variaciones tan marcadas como otros estados, por ejemplo México, Veracruz, Ciudad de México, Chiapas y San Luis Potosí.\n", + "____" + ], + "metadata": { + "collapsed": false + } + }, + { + "cell_type": "markdown", + "source": [ + "Ahora, se procederá a comprar el valor promedio anual de todos los estados, para ver qué estados tienen una tendencia promedio similar a la del estado de Jalisco.\n", + "____\n" + ], + "metadata": { + "collapsed": false + } + }, + { + "cell_type": "code", + "execution_count": 205, + "outputs": [], + "source": [ + "# Grouping by state\n", + "df_grouped_state = df_nacimientos.groupby(by='Estado')\n", + "\n", + "# Calculating the mean value by state and sort the values in descending order\n", + "total_average_state = df_grouped_state['Total'].mean()\n", + "total_average_state = total_average_state.sort_values(ascending=False)" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "code", + "execution_count": 206, + "outputs": [ + { + "data": { + "application/vnd.plotly.v1+json": { + "data": [ + { + "textposition": "auto", + "x": [ + "México", + "Jalisco", + "Veracruz de Ignacio de la Llave", + "Chiapas", + "Puebla", + "Ciudad de México", + "Guanajuato", + "Michoacán de Ocampo", + "Guerrero", + "Nuevo León", + "Oaxaca", + "Chihuahua", + "Baja California", + "Tamaulipas", + "Coahuila de Zaragoza", + "Hidalgo", + "Sinaloa", + "San Luis Potosí", + "Sonora", + "Tabasco", + "Querétaro", + "Durango", + "Yucatán", + "Morelos", + "Zacatecas", + "Quintana Roo", + "Aguascalientes", + "Tlaxcala", + "Nayarit", + "Campeche", + "Colima", + "Baja California Sur", + "Extranjero" + ], + "y": [ + 308966.44444444444, + 155898.66666666666, + 151814.22222222222, + 151643.88888888888, + 142642.44444444444, + 139506.66666666666, + 119046.33333333333, + 102623.11111111111, + 93849.22222222222, + 93149.22222222222, + 90227.66666666667, + 65955.55555555556, + 62834.555555555555, + 61673.333333333336, + 60133.88888888889, + 55971.77777777778, + 55633.666666666664, + 53216.444444444445, + 50304.77777777778, + 49549.11111111111, + 40854.333333333336, + 39548.11111111111, + 36647.77777777778, + 36443.555555555555, + 34712.88888888889, + 29467.222222222223, + 26691.555555555555, + 26521.333333333332, + 23305.555555555555, + 18629.666666666668, + 12800.444444444445, + 12775.666666666666, + 9767.777777777777 + ], + "type": "bar" + } + ], + "layout": { + "template": { + "data": { + "bar": [ + { + "error_x": { + "color": "#2a3f5f" + }, + "error_y": { + "color": "#2a3f5f" + }, + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "bar" + } + ], + "barpolar": [ + { + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "barpolar" + } + ], + "carpet": [ + { + "aaxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "baxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "type": "carpet" + } + ], + "choropleth": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "choropleth" + } + ], + "contour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ], + "type": "contour" + } + ], + "contourcarpet": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "contourcarpet" + } + ], + "heatmap": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ], + "type": "heatmap" + } + ], + "heatmapgl": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ], + "type": "heatmapgl" + } + ], + "histogram": [ + { + "marker": { + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "histogram" + } + ], + "histogram2d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ], + "type": "histogram2d" + } + ], + "histogram2dcontour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ], + "type": "histogram2dcontour" + } + ], + "mesh3d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "mesh3d" + } + ], + "parcoords": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "parcoords" + } + ], + "pie": [ + { + "automargin": true, + "type": "pie" + } + ], + "scatter": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatter" + } + ], + "scatter3d": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatter3d" + } + ], + "scattercarpet": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattercarpet" + } + ], + "scattergeo": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergeo" + } + ], + "scattergl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergl" + } + ], + "scattermapbox": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattermapbox" + } + ], + "scatterpolar": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolar" + } + ], + "scatterpolargl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolargl" + } + ], + "scatterternary": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterternary" + } + ], + "surface": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ], + "type": "surface" + } + ], + "table": [ + { + "cells": { + "fill": { + "color": "#EBF0F8" + }, + "line": { + "color": "white" + } + }, + "header": { + "fill": { + "color": "#C8D4E3" + }, + "line": { + "color": "white" + } + }, + "type": "table" + } + ] + }, + "layout": { + "annotationdefaults": { + "arrowcolor": "#2a3f5f", + "arrowhead": 0, + "arrowwidth": 1 + }, + "autotypenumbers": "strict", + "coloraxis": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "colorscale": { + "diverging": [ + [ + 0, + "#8e0152" + ], + [ + 0.1, + "#c51b7d" + ], + [ + 0.2, + "#de77ae" + ], + [ + 0.3, + "#f1b6da" + ], + [ + 0.4, + "#fde0ef" + ], + [ + 0.5, + "#f7f7f7" + ], + [ + 0.6, + "#e6f5d0" + ], + [ + 0.7, + "#b8e186" + ], + [ + 0.8, + "#7fbc41" + ], + [ + 0.9, + "#4d9221" + ], + [ + 1, + "#276419" + ] + ], + "sequential": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ], + "sequentialminus": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ] + }, + "colorway": [ + "#636efa", + "#EF553B", + "#00cc96", + "#ab63fa", + "#FFA15A", + "#19d3f3", + "#FF6692", + "#B6E880", + "#FF97FF", + "#FECB52" + ], + "font": { + "color": "#2a3f5f" + }, + "geo": { + "bgcolor": "white", + "lakecolor": "white", + "landcolor": "#E5ECF6", + "showlakes": true, + "showland": true, + "subunitcolor": "white" + }, + "hoverlabel": { + "align": "left" + }, + "hovermode": "closest", + "mapbox": { + "style": "light" + }, + "paper_bgcolor": "white", + "plot_bgcolor": "#E5ECF6", + "polar": { + "angularaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "radialaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "scene": { + "xaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "yaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "zaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + } + }, + "shapedefaults": { + "line": { + "color": "#2a3f5f" + } + }, + "ternary": { + "aaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "baxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "caxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "title": { + "x": 0.05 + }, + "xaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + }, + "yaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + } + } + }, + "title": { + "text": "Promedio anual de nacimientos por estado" + } + }, + "config": { + "plotlyServerURL": "https://plot.ly" + } + }, + "text/html": "
" + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "x = total_average_state.index\n", + "y = total_average_state\n", + "fig = go.Figure(data=[go.Bar(x=x, y=y,\n", + " textposition='auto')])\n", + "fig.update_layout(title_text='Promedio anual de nacimientos por estado')\n", + "fig.show()" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "markdown", + "source": [ + "Con esta gráfica, se vuelve a corroborar la hipótesis de que el estado de México es un outlier. Igual mente, se peude observar que los estados de Jalisco, Veracruz y Chiapas tiene una tendencia media similar. Aunque se sabe (de la gráfica anterior) que los datos de Veracruz y Chiapas no son estacionarios.\n", + "\n", + "Se procederá a graficar la serie de tiempo para los 3 estados mencionados anteriormente." + ], + "metadata": { + "collapsed": false + } + }, + { + "cell_type": "code", + "execution_count": 207, + "outputs": [], + "source": [ + "# The focus states are filtered\n", + "df_nacimientos_jalisco = df_nacimientos[df_nacimientos['Estado'] == 'Jalisco'].drop(columns='Estado')\n", + "df_nacimientos_veracruz = df_nacimientos[df_nacimientos['Estado'].str.contains('Veracruz')].drop(columns='Estado')\n", + "df_nacimientos_chiapas = df_nacimientos[df_nacimientos['Estado'] == 'Chiapas'].drop(columns='Estado')" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "code", + "execution_count": 208, + "id": "57719d02", + "metadata": { + "pycharm": { + "name": "#%%\n" + } + }, + "outputs": [ + { + "data": { + "application/vnd.plotly.v1+json": { + "data": [ + { + "marker": { + "color": "LightSkyBlue", + "line": { + "color": "MediumPurple", + "width": 2 + }, + "size": 20 + }, + "mode": "markers", + "x": [ + 2010, + 2011, + 2012, + 2013, + 2014, + 2015, + 2016, + 2017, + 2018 + ], + "y": [ + 161543, + 163123, + 161217, + 159748, + 158592, + 151578, + 148377, + 151950, + 146960 + ], + "type": "scatter" + } + ], + "layout": { + "template": { + "data": { + "bar": [ + { + "error_x": { + "color": "#2a3f5f" + }, + "error_y": { + "color": "#2a3f5f" + }, + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "bar" + } + ], + "barpolar": [ + { + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "barpolar" + } + ], + "carpet": [ + { + "aaxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "baxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "type": "carpet" + } + ], + "choropleth": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "choropleth" + } + ], + "contour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ], + "type": "contour" + } + ], + "contourcarpet": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "contourcarpet" + } + ], + "heatmap": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ], + "type": "heatmap" + } + ], + "heatmapgl": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ], + "type": "heatmapgl" + } + ], + "histogram": [ + { + "marker": { + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "histogram" + } + ], + "histogram2d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ], + "type": "histogram2d" + } + ], + "histogram2dcontour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ], + "type": "histogram2dcontour" + } + ], + "mesh3d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "mesh3d" + } + ], + "parcoords": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "parcoords" + } + ], + "pie": [ + { + "automargin": true, + "type": "pie" + } + ], + "scatter": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatter" + } + ], + "scatter3d": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatter3d" + } + ], + "scattercarpet": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattercarpet" + } + ], + "scattergeo": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergeo" + } + ], + "scattergl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergl" + } + ], + "scattermapbox": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattermapbox" + } + ], + "scatterpolar": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolar" + } + ], + "scatterpolargl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolargl" + } + ], + "scatterternary": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterternary" + } + ], + "surface": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ], + "type": "surface" + } + ], + "table": [ + { + "cells": { + "fill": { + "color": "#EBF0F8" + }, + "line": { + "color": "white" + } + }, + "header": { + "fill": { + "color": "#C8D4E3" + }, + "line": { + "color": "white" + } + }, + "type": "table" + } + ] + }, + "layout": { + "annotationdefaults": { + "arrowcolor": "#2a3f5f", + "arrowhead": 0, + "arrowwidth": 1 + }, + "autotypenumbers": "strict", + "coloraxis": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "colorscale": { + "diverging": [ + [ + 0, + "#8e0152" + ], + [ + 0.1, + "#c51b7d" + ], + [ + 0.2, + "#de77ae" + ], + [ + 0.3, + "#f1b6da" + ], + [ + 0.4, + "#fde0ef" + ], + [ + 0.5, + "#f7f7f7" + ], + [ + 0.6, + "#e6f5d0" + ], + [ + 0.7, + "#b8e186" + ], + [ + 0.8, + "#7fbc41" + ], + [ + 0.9, + "#4d9221" + ], + [ + 1, + "#276419" + ] + ], + "sequential": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ], + "sequentialminus": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ] + }, + "colorway": [ + "#636efa", + "#EF553B", + "#00cc96", + "#ab63fa", + "#FFA15A", + "#19d3f3", + "#FF6692", + "#B6E880", + "#FF97FF", + "#FECB52" + ], + "font": { + "color": "#2a3f5f" + }, + "geo": { + "bgcolor": "white", + "lakecolor": "white", + "landcolor": "#E5ECF6", + "showlakes": true, + "showland": true, + "subunitcolor": "white" + }, + "hoverlabel": { + "align": "left" + }, + "hovermode": "closest", + "mapbox": { + "style": "light" + }, + "paper_bgcolor": "white", + "plot_bgcolor": "#E5ECF6", + "polar": { + "angularaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "radialaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "scene": { + "xaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "yaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "zaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + } + }, + "shapedefaults": { + "line": { + "color": "#2a3f5f" + } + }, + "ternary": { + "aaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "baxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "caxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "title": { + "x": 0.05 + }, + "xaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + }, + "yaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + } + } + }, + "title": { + "text": "Jalisco" + }, + "xaxis": { + "title": { + "text": "Año" + } + }, + "yaxis": { + "title": { + "text": "Nacimientos" + } + } + }, + "config": { + "plotlyServerURL": "https://plot.ly" + } + }, + "text/html": "
" + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "x = df_nacimientos_jalisco['Año']\n", + "y = df_nacimientos_jalisco['Total']\n", + "\n", + "marker_style = dict(\n", + " color='LightSkyBlue',\n", + " size=20,\n", + " line=dict(color='MediumPurple', width=2)\n", + ")\n", + "\n", + "fig = go.Figure([go.Scatter(mode=\"markers\", x=x, y=y, marker=marker_style)])\n", + "\n", + "fig.update_layout(\n", + " title=\"Jalisco\",\n", + " xaxis_title=\"Año\",\n", + " yaxis_title=\"Nacimientos\",\n", + ")\n", + "\n", + "fig.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 209, + "outputs": [ + { + "data": { + "application/vnd.plotly.v1+json": { + "data": [ + { + "marker": { + "color": "LightSkyBlue", + "line": { + "color": "MediumPurple", + "width": 2 + }, + "size": 20 + }, + "mode": "markers", + "x": [ + 2010, + 2011, + 2012, + 2013, + 2014, + 2015, + 2016, + 2017, + 2018 + ], + "y": [ + 174086, + 171417, + 164174, + 161019, + 162156, + 144842, + 137338, + 126623, + 124673 + ], + "type": "scatter" + } + ], + "layout": { + "template": { + "data": { + "bar": [ + { + "error_x": { + "color": "#2a3f5f" + }, + "error_y": { + "color": "#2a3f5f" + }, + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "bar" + } + ], + "barpolar": [ + { + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "barpolar" + } + ], + "carpet": [ + { + "aaxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "baxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "type": "carpet" + } + ], + "choropleth": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "choropleth" + } + ], + "contour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ], + "type": "contour" + } + ], + "contourcarpet": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "contourcarpet" + } + ], + "heatmap": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ], + "type": "heatmap" + } + ], + "heatmapgl": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ], + "type": "heatmapgl" + } + ], + "histogram": [ + { + "marker": { + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "histogram" + } + ], + "histogram2d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ], + "type": "histogram2d" + } + ], + "histogram2dcontour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ], + "type": "histogram2dcontour" + } + ], + "mesh3d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "mesh3d" + } + ], + "parcoords": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "parcoords" + } + ], + "pie": [ + { + "automargin": true, + "type": "pie" + } + ], + "scatter": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatter" + } + ], + "scatter3d": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatter3d" + } + ], + "scattercarpet": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattercarpet" + } + ], + "scattergeo": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergeo" + } + ], + "scattergl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergl" + } + ], + "scattermapbox": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattermapbox" + } + ], + "scatterpolar": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolar" + } + ], + "scatterpolargl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolargl" + } + ], + "scatterternary": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterternary" + } + ], + "surface": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ], + "type": "surface" + } + ], + "table": [ + { + "cells": { + "fill": { + "color": "#EBF0F8" + }, + "line": { + "color": "white" + } + }, + "header": { + "fill": { + "color": "#C8D4E3" + }, + "line": { + "color": "white" + } + }, + "type": "table" + } + ] + }, + "layout": { + "annotationdefaults": { + "arrowcolor": "#2a3f5f", + "arrowhead": 0, + "arrowwidth": 1 + }, + "autotypenumbers": "strict", + "coloraxis": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "colorscale": { + "diverging": [ + [ + 0, + "#8e0152" + ], + [ + 0.1, + "#c51b7d" + ], + [ + 0.2, + "#de77ae" + ], + [ + 0.3, + "#f1b6da" + ], + [ + 0.4, + "#fde0ef" + ], + [ + 0.5, + "#f7f7f7" + ], + [ + 0.6, + "#e6f5d0" + ], + [ + 0.7, + "#b8e186" + ], + [ + 0.8, + "#7fbc41" + ], + [ + 0.9, + "#4d9221" + ], + [ + 1, + "#276419" + ] + ], + "sequential": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ], + "sequentialminus": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ] + }, + "colorway": [ + "#636efa", + "#EF553B", + "#00cc96", + "#ab63fa", + "#FFA15A", + "#19d3f3", + "#FF6692", + "#B6E880", + "#FF97FF", + "#FECB52" + ], + "font": { + "color": "#2a3f5f" + }, + "geo": { + "bgcolor": "white", + "lakecolor": "white", + "landcolor": "#E5ECF6", + "showlakes": true, + "showland": true, + "subunitcolor": "white" + }, + "hoverlabel": { + "align": "left" + }, + "hovermode": "closest", + "mapbox": { + "style": "light" + }, + "paper_bgcolor": "white", + "plot_bgcolor": "#E5ECF6", + "polar": { + "angularaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "radialaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "scene": { + "xaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "yaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "zaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + } + }, + "shapedefaults": { + "line": { + "color": "#2a3f5f" + } + }, + "ternary": { + "aaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "baxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "caxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "title": { + "x": 0.05 + }, + "xaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + }, + "yaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + } + } + }, + "title": { + "text": "Veracruz" + }, + "xaxis": { + "title": { + "text": "Año" + } + }, + "yaxis": { + "title": { + "text": "Nacimientos" + } + } + }, + "config": { + "plotlyServerURL": "https://plot.ly" + } + }, + "text/html": "
" + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "x = df_nacimientos_veracruz['Año']\n", + "y = df_nacimientos_veracruz['Total']\n", + "\n", + "fig = go.Figure([go.Scatter(mode=\"markers\", x=x, y=y, marker=marker_style)])\n", + "\n", + "fig.update_layout(\n", + " title=\"Veracruz\",\n", + " xaxis_title=\"Año\",\n", + " yaxis_title=\"Nacimientos\",\n", + ")\n", + "\n", + "fig.show()" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "code", + "source": [ + "x = df_nacimientos_chiapas['Año']\n", + "y = df_nacimientos_chiapas['Total']\n", + "\n", + "fig = go.Figure([go.Scatter(mode=\"markers\", x=x, y=y, marker=marker_style)])\n", + "\n", + "fig.update_layout(\n", + " title=\"Chiapas\",\n", + " xaxis_title=\"Año\",\n", + " yaxis_title=\"Nacimientos\",\n", + ")\n", + "\n", + "fig.show()" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + }, + "execution_count": 210, + "outputs": [ + { + "data": { + "application/vnd.plotly.v1+json": { + "data": [ + { + "marker": { + "color": "LightSkyBlue", + "line": { + "color": "MediumPurple", + "width": 2 + }, + "size": 20 + }, + "mode": "markers", + "x": [ + 2010, + 2011, + 2012, + 2013, + 2014, + 2015, + 2016, + 2017, + 2018 + ], + "y": [ + 175382, + 168256, + 144423, + 164102, + 164912, + 145526, + 140356, + 131638, + 130200 + ], + "type": "scatter" + } + ], + "layout": { + "template": { + "data": { + "bar": [ + { + "error_x": { + "color": "#2a3f5f" + }, + "error_y": { + "color": "#2a3f5f" + }, + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "bar" + } + ], + "barpolar": [ + { + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "barpolar" + } + ], + "carpet": [ + { + "aaxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "baxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "type": "carpet" + } + ], + "choropleth": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "choropleth" + } + ], + "contour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ], + "type": "contour" + } + ], + "contourcarpet": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "contourcarpet" + } + ], + "heatmap": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ], + "type": "heatmap" + } + ], + "heatmapgl": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ], + "type": "heatmapgl" + } + ], + "histogram": [ + { + "marker": { + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "histogram" + } + ], + "histogram2d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ], + "type": "histogram2d" + } + ], + "histogram2dcontour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ], + "type": "histogram2dcontour" + } + ], + "mesh3d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "mesh3d" + } + ], + "parcoords": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "parcoords" + } + ], + "pie": [ + { + "automargin": true, + "type": "pie" + } + ], + "scatter": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatter" + } + ], + "scatter3d": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatter3d" + } + ], + "scattercarpet": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattercarpet" + } + ], + "scattergeo": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergeo" + } + ], + "scattergl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergl" + } + ], + "scattermapbox": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattermapbox" + } + ], + "scatterpolar": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolar" + } + ], + "scatterpolargl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolargl" + } + ], + "scatterternary": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterternary" + } + ], + "surface": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ], + "type": "surface" + } + ], + "table": [ + { + "cells": { + "fill": { + "color": "#EBF0F8" + }, + "line": { + "color": "white" + } + }, + "header": { + "fill": { + "color": "#C8D4E3" + }, + "line": { + "color": "white" + } + }, + "type": "table" + } + ] + }, + "layout": { + "annotationdefaults": { + "arrowcolor": "#2a3f5f", + "arrowhead": 0, + "arrowwidth": 1 + }, + "autotypenumbers": "strict", + "coloraxis": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "colorscale": { + "diverging": [ + [ + 0, + "#8e0152" + ], + [ + 0.1, + "#c51b7d" + ], + [ + 0.2, + "#de77ae" + ], + [ + 0.3, + "#f1b6da" + ], + [ + 0.4, + "#fde0ef" + ], + [ + 0.5, + "#f7f7f7" + ], + [ + 0.6, + "#e6f5d0" + ], + [ + 0.7, + "#b8e186" + ], + [ + 0.8, + "#7fbc41" + ], + [ + 0.9, + "#4d9221" + ], + [ + 1, + "#276419" + ] + ], + "sequential": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ], + "sequentialminus": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ] + }, + "colorway": [ + "#636efa", + "#EF553B", + "#00cc96", + "#ab63fa", + "#FFA15A", + "#19d3f3", + "#FF6692", + "#B6E880", + "#FF97FF", + "#FECB52" + ], + "font": { + "color": "#2a3f5f" + }, + "geo": { + "bgcolor": "white", + "lakecolor": "white", + "landcolor": "#E5ECF6", + "showlakes": true, + "showland": true, + "subunitcolor": "white" + }, + "hoverlabel": { + "align": "left" + }, + "hovermode": "closest", + "mapbox": { + "style": "light" + }, + "paper_bgcolor": "white", + "plot_bgcolor": "#E5ECF6", + "polar": { + "angularaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "radialaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "scene": { + "xaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "yaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "zaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + } + }, + "shapedefaults": { + "line": { + "color": "#2a3f5f" + } + }, + "ternary": { + "aaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "baxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "caxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "title": { + "x": 0.05 + }, + "xaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + }, + "yaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + } + } + }, + "title": { + "text": "Chiapas" + }, + "xaxis": { + "title": { + "text": "Año" + } + }, + "yaxis": { + "title": { + "text": "Nacimientos" + } + } + }, + "config": { + "plotlyServerURL": "https://plot.ly" + } + }, + "text/html": "
" + }, + "metadata": {}, + "output_type": "display_data" + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "#### De las gráficas anteriores, se puede ver que los 3 estados tienen un comportamiento ligeramente parecido, y una tendencia a disminuir la cantidad de nacimientos por año. Sin embargo, los valores entre los que varían los estados de `Chiapas`y `Veracruz`son un mayores que los valores del estado de `Jalisco`. Esto lo pudimos corroborar con los diagramas de caja vistos anteriormente.Igualmente lo podemos ver con ayuda de la desviación estándar de cada conjunto de datos.\n", + "____" + ], + "metadata": { + "collapsed": false + } + }, + { + "cell_type": "code", + "execution_count": 211, + "outputs": [ + { + "data": { + "text/plain": "(6175.9708953329755, 18888.362500345138, 16762.195772365598)" + }, + "execution_count": 211, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_nacimientos_jalisco['Total'].std(), df_nacimientos_veracruz['Total'].std(), df_nacimientos_chiapas['Total'].std()" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "markdown", + "source": [ + "#### Como se puede ver, la desviación estándar del estado de `Jalisco` es entre 2.5 y 3 veces más pequeña que los otros dos estados.\n", + "\n", + "**Con base en lo anterior, se decidirá trabajar exclusivamente con los datos de Jalisco.**" + ], + "metadata": { + "collapsed": false + } + }, + { + "cell_type": "markdown", + "source": [ + "## Modelo\n", + "\n", + "Para el desarrollo del modelo, se iniciará de la hipótesis que la serie de tiempo considerada, es una serie de tiempo estacionaria. Se propondrá un modelo ARMA (Autoregresivo con media móvil). Dicho modelo depende de dos parámetros fundamentales:\n", + "- **p**: *Cantidad de términos autoregresivos* y\n", + "- **q**: *Cantidad de términos media móvil*.\n", + "\n", + "El valor de $p$ se obtiene con ayuda de *la función parcial de autocorrelación*, mientras que el parámetro $q$ se calcula a parti de *la función de autocorrelación*. Se procede a graficar dichas funciones para la serie de tiempo considerada `df_nacimientos_jalisco`" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%% md\n" + } + } + }, + { + "cell_type": "code", + "execution_count": 212, + "outputs": [], + "source": [ + "df_nacimientos_jalisco.set_index('Año', inplace=True, drop=True)" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "code", + "execution_count": 213, + "outputs": [], + "source": [ + "jalisco_acf = acf(df_nacimientos_jalisco, nlags=3)\n", + "jalisco_pacf = pacf(df_nacimientos_jalisco, nlags=3, method='ols')" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "code", + "execution_count": 214, + "outputs": [ + { + "data": { + "application/vnd.plotly.v1+json": { + "data": [ + { + "mode": "lines", + "y": [ + 1.0, + 0.6419837579254108, + 0.3918053820601308, + 0.05649269629942675 + ], + "type": "scatter" + } + ], + "layout": { + "template": { + "data": { + "bar": [ + { + "error_x": { + "color": "#2a3f5f" + }, + "error_y": { + "color": "#2a3f5f" + }, + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "bar" + } + ], + "barpolar": [ + { + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "barpolar" + } + ], + "carpet": [ + { + "aaxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "baxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "type": "carpet" + } + ], + "choropleth": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "choropleth" + } + ], + "contour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ], + "type": "contour" + } + ], + "contourcarpet": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "contourcarpet" + } + ], + "heatmap": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ], + "type": "heatmap" + } + ], + "heatmapgl": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ], + "type": "heatmapgl" + } + ], + "histogram": [ + { + "marker": { + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "histogram" + } + ], + "histogram2d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ], + "type": "histogram2d" + } + ], + "histogram2dcontour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ], + "type": "histogram2dcontour" + } + ], + "mesh3d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "mesh3d" + } + ], + "parcoords": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "parcoords" + } + ], + "pie": [ + { + "automargin": true, + "type": "pie" + } + ], + "scatter": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatter" + } + ], + "scatter3d": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatter3d" + } + ], + "scattercarpet": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattercarpet" + } + ], + "scattergeo": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergeo" + } + ], + "scattergl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergl" + } + ], + "scattermapbox": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattermapbox" + } + ], + "scatterpolar": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolar" + } + ], + "scatterpolargl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolargl" + } + ], + "scatterternary": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterternary" + } + ], + "surface": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ], + "type": "surface" + } + ], + "table": [ + { + "cells": { + "fill": { + "color": "#EBF0F8" + }, + "line": { + "color": "white" + } + }, + "header": { + "fill": { + "color": "#C8D4E3" + }, + "line": { + "color": "white" + } + }, + "type": "table" + } + ] + }, + "layout": { + "annotationdefaults": { + "arrowcolor": "#2a3f5f", + "arrowhead": 0, + "arrowwidth": 1 + }, + "autotypenumbers": "strict", + "coloraxis": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "colorscale": { + "diverging": [ + [ + 0, + "#8e0152" + ], + [ + 0.1, + "#c51b7d" + ], + [ + 0.2, + "#de77ae" + ], + [ + 0.3, + "#f1b6da" + ], + [ + 0.4, + "#fde0ef" + ], + [ + 0.5, + "#f7f7f7" + ], + [ + 0.6, + "#e6f5d0" + ], + [ + 0.7, + "#b8e186" + ], + [ + 0.8, + "#7fbc41" + ], + [ + 0.9, + "#4d9221" + ], + [ + 1, + "#276419" + ] + ], + "sequential": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ], + "sequentialminus": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ] + }, + "colorway": [ + "#636efa", + "#EF553B", + "#00cc96", + "#ab63fa", + "#FFA15A", + "#19d3f3", + "#FF6692", + "#B6E880", + "#FF97FF", + "#FECB52" + ], + "font": { + "color": "#2a3f5f" + }, + "geo": { + "bgcolor": "white", + "lakecolor": "white", + "landcolor": "#E5ECF6", + "showlakes": true, + "showland": true, + "subunitcolor": "white" + }, + "hoverlabel": { + "align": "left" + }, + "hovermode": "closest", + "mapbox": { + "style": "light" + }, + "paper_bgcolor": "white", + "plot_bgcolor": "#E5ECF6", + "polar": { + "angularaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "radialaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "scene": { + "xaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "yaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "zaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + } + }, + "shapedefaults": { + "line": { + "color": "#2a3f5f" + } + }, + "ternary": { + "aaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "baxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "caxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "title": { + "x": 0.05 + }, + "xaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + }, + "yaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + } + } + }, + "shapes": [ + { + "line": { + "color": "gray", + "dash": "dash" + }, + "type": "line", + "x0": 0, + "x1": 1, + "xref": "x domain", + "y0": 0, + "y1": 0, + "yref": "y" + }, + { + "line": { + "color": "gray", + "dash": "dash" + }, + "type": "line", + "x0": 0, + "x1": 1, + "xref": "x domain", + "y0": 0.6533333333333333, + "y1": 0.6533333333333333, + "yref": "y" + }, + { + "line": { + "color": "gray", + "dash": "dash" + }, + "type": "line", + "x0": 0, + "x1": 1, + "xref": "x domain", + "y0": -0.6533333333333333, + "y1": -0.6533333333333333, + "yref": "y" + } + ] + }, + "config": { + "plotlyServerURL": "https://plot.ly" + } + }, + "text/html": "
" + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "Z_VALOR = 1.96\n", + "CONFIDENCE_INTERVAL = Z_VALOR/np.sqrt(len(df_nacimientos_jalisco))\n", + "\n", + "fig = go.Figure()\n", + "\n", + "fig.add_trace(go.Scatter(y=jalisco_acf, mode='lines'))\n", + "fig.add_hline(y=0, line_dash=\"dash\", line_color=\"gray\")\n", + "fig.add_hline(y=CONFIDENCE_INTERVAL, line_dash=\"dash\", line_color=\"gray\")\n", + "fig.add_hline(y=-CONFIDENCE_INTERVAL, line_dash=\"dash\", line_color=\"gray\")\n", + "# fig.add_trace(go.Scatter(y=CONFIDENCE_INTERVAL, mode='lines'))\n", + "\n", + "fig.show()" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "code", + "execution_count": 215, + "outputs": [ + { + "data": { + "application/vnd.plotly.v1+json": { + "data": [ + { + "mode": "lines", + "y": [ + 1.0, + 0.6419837579254108, + 0.3918053820601308, + 0.05649269629942675 + ], + "type": "scatter" + } + ], + "layout": { + "template": { + "data": { + "bar": [ + { + "error_x": { + "color": "#2a3f5f" + }, + "error_y": { + "color": "#2a3f5f" + }, + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "bar" + } + ], + "barpolar": [ + { + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "barpolar" + } + ], + "carpet": [ + { + "aaxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "baxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "type": "carpet" + } + ], + "choropleth": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "choropleth" + } + ], + "contour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ], + "type": "contour" + } + ], + "contourcarpet": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "contourcarpet" + } + ], + "heatmap": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ], + "type": "heatmap" + } + ], + "heatmapgl": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ], + "type": "heatmapgl" + } + ], + "histogram": [ + { + "marker": { + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "histogram" + } + ], + "histogram2d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ], + "type": "histogram2d" + } + ], + "histogram2dcontour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ], + "type": "histogram2dcontour" + } + ], + "mesh3d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "mesh3d" + } + ], + "parcoords": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "parcoords" + } + ], + "pie": [ + { + "automargin": true, + "type": "pie" + } + ], + "scatter": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatter" + } + ], + "scatter3d": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatter3d" + } + ], + "scattercarpet": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattercarpet" + } + ], + "scattergeo": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergeo" + } + ], + "scattergl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergl" + } + ], + "scattermapbox": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattermapbox" + } + ], + "scatterpolar": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolar" + } + ], + "scatterpolargl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolargl" + } + ], + "scatterternary": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterternary" + } + ], + "surface": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ], + "type": "surface" + } + ], + "table": [ + { + "cells": { + "fill": { + "color": "#EBF0F8" + }, + "line": { + "color": "white" + } + }, + "header": { + "fill": { + "color": "#C8D4E3" + }, + "line": { + "color": "white" + } + }, + "type": "table" + } + ] + }, + "layout": { + "annotationdefaults": { + "arrowcolor": "#2a3f5f", + "arrowhead": 0, + "arrowwidth": 1 + }, + "autotypenumbers": "strict", + "coloraxis": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "colorscale": { + "diverging": [ + [ + 0, + "#8e0152" + ], + [ + 0.1, + "#c51b7d" + ], + [ + 0.2, + "#de77ae" + ], + [ + 0.3, + "#f1b6da" + ], + [ + 0.4, + "#fde0ef" + ], + [ + 0.5, + "#f7f7f7" + ], + [ + 0.6, + "#e6f5d0" + ], + [ + 0.7, + "#b8e186" + ], + [ + 0.8, + "#7fbc41" + ], + [ + 0.9, + "#4d9221" + ], + [ + 1, + "#276419" + ] + ], + "sequential": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ], + "sequentialminus": [ + [ + 0.0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1.0, + "#f0f921" + ] + ] + }, + "colorway": [ + "#636efa", + "#EF553B", + "#00cc96", + "#ab63fa", + "#FFA15A", + "#19d3f3", + "#FF6692", + "#B6E880", + "#FF97FF", + "#FECB52" + ], + "font": { + "color": "#2a3f5f" + }, + "geo": { + "bgcolor": "white", + "lakecolor": "white", + "landcolor": "#E5ECF6", + "showlakes": true, + "showland": true, + "subunitcolor": "white" + }, + "hoverlabel": { + "align": "left" + }, + "hovermode": "closest", + "mapbox": { + "style": "light" + }, + "paper_bgcolor": "white", + "plot_bgcolor": "#E5ECF6", + "polar": { + "angularaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "radialaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "scene": { + "xaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "yaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "zaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + } + }, + "shapedefaults": { + "line": { + "color": "#2a3f5f" + } + }, + "ternary": { + "aaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "baxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "caxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "title": { + "x": 0.05 + }, + "xaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + }, + "yaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + } + } + }, + "shapes": [ + { + "line": { + "color": "gray", + "dash": "dash" + }, + "type": "line", + "x0": 0, + "x1": 1, + "xref": "x domain", + "y0": 0, + "y1": 0, + "yref": "y" + }, + { + "line": { + "color": "gray", + "dash": "dash" + }, + "type": "line", + "x0": 0, + "x1": 1, + "xref": "x domain", + "y0": 0.6533333333333333, + "y1": 0.6533333333333333, + "yref": "y" + }, + { + "line": { + "color": "gray", + "dash": "dash" + }, + "type": "line", + "x0": 0, + "x1": 1, + "xref": "x domain", + "y0": -0.6533333333333333, + "y1": -0.6533333333333333, + "yref": "y" + } + ] + }, + "config": { + "plotlyServerURL": "https://plot.ly" + } + }, + "text/html": "
" + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig = go.Figure()\n", + "\n", + "fig.add_trace(go.Scatter(y=jalisco_acf, mode='lines'))\n", + "fig.add_hline(y=0, line_dash=\"dash\", line_color=\"gray\")\n", + "fig.add_hline(y=CONFIDENCE_INTERVAL, line_dash=\"dash\", line_color=\"gray\")\n", + "fig.add_hline(y=-CONFIDENCE_INTERVAL, line_dash=\"dash\", line_color=\"gray\")\n", + "# fig.add_trace(go.Scatter(y=CONFIDENCE_INTERVAL, mode='lines'))\n", + "\n", + "fig.show()" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "markdown", + "source": [ + "De las gráficas anteriores, se puede obtener los respectivos valores de los parámetros $p$ y $q$ en donde las gráficas cruzan el valor superior del intervalo de confianza. En ambos casos, dicho valor es de $p=q=1$. Por lo tanto, este valor será el que se utilizará para generar el modelo." + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%% md\n" + } + } + }, + { + "cell_type": "code", + "execution_count": 216, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/cristian/Documents/personalProyects/interview-challenge/venv/lib/python3.9/site-packages/statsmodels/tsa/base/tsa_model.py:536: ValueWarning:\n", + "\n", + "No frequency information was provided, so inferred frequency AS-JAN will be used.\n", + "\n", + "/Users/cristian/Documents/personalProyects/interview-challenge/venv/lib/python3.9/site-packages/statsmodels/tsa/base/tsa_model.py:536: ValueWarning:\n", + "\n", + "No frequency information was provided, so inferred frequency AS-JAN will be used.\n", + "\n", + "/Users/cristian/Documents/personalProyects/interview-challenge/venv/lib/python3.9/site-packages/statsmodels/tsa/base/tsa_model.py:536: ValueWarning:\n", + "\n", + "No frequency information was provided, so inferred frequency AS-JAN will be used.\n", + "\n" + ] + }, + { + "data": { + "text/plain": "\n\"\"\"\n SARIMAX Results \n==============================================================================\nDep. Variable: Total No. Observations: 9\nModel: ARIMA(1, 0, 1) Log Likelihood -87.232\nDate: Tue, 11 Jan 2022 AIC 182.463\nTime: 04:54:34 BIC 183.252\nSample: 01-01-2010 HQIC 180.761\n - 01-01-2018 \nCovariance Type: opg \n==============================================================================\n coef std err z P>|z| [0.025 0.975]\n------------------------------------------------------------------------------\nconst 1.559e+05 7046.185 22.125 0.000 1.42e+05 1.7e+05\nar.L1 0.7630 0.552 1.381 0.167 -0.320 1.846\nma.L1 0.0990 0.685 0.144 0.885 -1.244 1.442\nsigma2 1.912e+07 1.712 1.12e+07 0.000 1.91e+07 1.91e+07\n===================================================================================\nLjung-Box (L1) (Q): 0.02 Jarque-Bera (JB): 0.80\nProb(Q): 0.87 Prob(JB): 0.67\nHeteroskedasticity (H): 2.90 Skew: -0.41\nProb(H) (two-sided): 0.40 Kurtosis: 1.79\n===================================================================================\n\nWarnings:\n[1] Covariance matrix calculated using the outer product of gradients (complex-step).\n[2] Covariance matrix is singular or near-singular, with condition number 1.3e+23. Standard errors may be unstable.\n\"\"\"", + "text/html": "\n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n
SARIMAX Results
Dep. Variable: Total No. Observations: 9
Model: ARIMA(1, 0, 1) Log Likelihood -87.232
Date: Tue, 11 Jan 2022 AIC 182.463
Time: 04:54:34 BIC 183.252
Sample: 01-01-2010 HQIC 180.761
- 01-01-2018
Covariance Type: opg
\n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n
coef std err z P>|z| [0.025 0.975]
const 1.559e+05 7046.185 22.125 0.000 1.42e+05 1.7e+05
ar.L1 0.7630 0.552 1.381 0.167 -0.320 1.846
ma.L1 0.0990 0.685 0.144 0.885 -1.244 1.442
sigma2 1.912e+07 1.712 1.12e+07 0.000 1.91e+07 1.91e+07
\n\n\n \n\n\n \n\n\n \n\n\n \n\n
Ljung-Box (L1) (Q): 0.02 Jarque-Bera (JB): 0.80
Prob(Q): 0.87 Prob(JB): 0.67
Heteroskedasticity (H): 2.90 Skew: -0.41
Prob(H) (two-sided): 0.40 Kurtosis: 1.79


Warnings:
[1] Covariance matrix calculated using the outer product of gradients (complex-step).
[2] Covariance matrix is singular or near-singular, with condition number 1.3e+23. Standard errors may be unstable." + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/plain": " Total\nAño \n2010-01-01 161543\n2011-01-01 163123\n2012-01-01 161217\n2013-01-01 159748\n2014-01-01 158592\n2015-01-01 151578\n2016-01-01 148377\n2017-01-01 151950\n2018-01-01 146960", + "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Total
Año
2010-01-01161543
2011-01-01163123
2012-01-01161217
2013-01-01159748
2014-01-01158592
2015-01-01151578
2016-01-01148377
2017-01-01151950
2018-01-01146960
\n
" + }, + "execution_count": 216, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_nacimientos_jalisco.reset_index(drop=False, inplace=True)\n", + "df_nacimientos_jalisco['Año'] = pd.to_datetime(df_nacimientos_jalisco['Año'], format='%Y')\n", + "df_nacimientos_jalisco.set_index('Año', inplace=True)\n", + "model = ARIMA(df_nacimientos_jalisco['Total'], order=(1, 0, 1))\n", + "result = model.fit()\n", + "display(result.summary())" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "code", + "execution_count": 224, + "outputs": [ + { + "data": { + "text/plain": "2019-01-01 148471.105742\n2020-01-01 150231.716437\n2021-01-01 151574.996315\nFreq: AS-JAN, Name: Predicciones Jalisco, dtype: float64" + }, + "execution_count": 224, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "result.predict(start='2019-01-01',end='2021-01-01').rename('Predicciones Jalisco')" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "code", + "source": [ + "model = auto_arima(df_nacimientos_jalisco['Total'])\n", + "display(model.summary())" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + }, + "execution_count": 218, + "outputs": [ + { + "data": { + "text/plain": "\n\"\"\"\n SARIMAX Results \n==============================================================================\nDep. Variable: y No. Observations: 9\nModel: SARIMAX(1, 0, 0) Log Likelihood -87.337\nDate: Tue, 11 Jan 2022 AIC 180.675\nTime: 04:54:35 BIC 181.266\nSample: 0 HQIC 179.398\n - 9 \nCovariance Type: opg \n==============================================================================\n coef std err z P>|z| [0.025 0.975]\n------------------------------------------------------------------------------\nintercept 7697.5480 2.73e+04 0.282 0.778 -4.58e+04 6.12e+04\nar.L1 0.9501 0.179 5.312 0.000 0.600 1.301\nsigma2 9.92e+06 82.027 1.21e+05 0.000 9.92e+06 9.92e+06\n===================================================================================\nLjung-Box (L1) (Q): 0.07 Jarque-Bera (JB): 0.51\nProb(Q): 0.80 Prob(JB): 0.78\nHeteroskedasticity (H): 4.37 Skew: -0.23\nProb(H) (two-sided): 0.26 Kurtosis: 1.93\n===================================================================================\n\nWarnings:\n[1] Covariance matrix calculated using the outer product of gradients (complex-step).\n[2] Covariance matrix is singular or near-singular, with condition number 8.18e+20. Standard errors may be unstable.\n\"\"\"", + "text/html": "\n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n
SARIMAX Results
Dep. Variable: y No. Observations: 9
Model: SARIMAX(1, 0, 0) Log Likelihood -87.337
Date: Tue, 11 Jan 2022 AIC 180.675
Time: 04:54:35 BIC 181.266
Sample: 0 HQIC 179.398
- 9
Covariance Type: opg
\n\n\n \n\n\n \n\n\n \n\n\n \n\n
coef std err z P>|z| [0.025 0.975]
intercept 7697.5480 2.73e+04 0.282 0.778 -4.58e+04 6.12e+04
ar.L1 0.9501 0.179 5.312 0.000 0.600 1.301
sigma2 9.92e+06 82.027 1.21e+05 0.000 9.92e+06 9.92e+06
\n\n\n \n\n\n \n\n\n \n\n\n \n\n
Ljung-Box (L1) (Q): 0.07 Jarque-Bera (JB): 0.51
Prob(Q): 0.80 Prob(JB): 0.78
Heteroskedasticity (H): 4.37 Skew: -0.23
Prob(H) (two-sided): 0.26 Kurtosis: 1.93


Warnings:
[1] Covariance matrix calculated using the outer product of gradients (complex-step).
[2] Covariance matrix is singular or near-singular, with condition number 8.18e+20. Standard errors may be unstable." + }, + "metadata": {}, + "output_type": "display_data" + } + ] + }, + { + "cell_type": "code", + "execution_count": 223, + "outputs": [ + { + "data": { + "text/plain": " Predicción Jalisco\n2019 147327.562462\n2020 147676.791857\n2021 148008.602592", + "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Predicción Jalisco
2019147327.562462
2020147676.791857
2021148008.602592
\n
" + }, + "execution_count": 223, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pred = pd.DataFrame(model.predict(3), index=[\"2019\", \"2020\", \"2021\"], columns=['Predicción Jalisco'])\n", + "pred" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.9" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} \ No newline at end of file diff --git a/requirements.txt b/requirements.txt index 04ea15a..12031fa 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,4 +2,6 @@ seaborn==0.11.2 matplotlib==3.3.2 plotly==5.5.0 jupyter==1.0.0 -pandas==1.3.5 \ No newline at end of file +pandas==1.3.5 +statsmodels==0.13.1 +pmdarima==1.8.4 \ No newline at end of file