1.- Diferencias entre métodos supervisados y no supervisados:
Los métodos supervisados son los algoritmos en los que un modelo es aprendido a través de un conjunto de datos de entrenamiento previamente etiquetados. Mientras tanto, los no supervisados se basan en su proceso de entrenamiento en un conjunto de datos sin etiquetas definidas, a priori, este metodo no conoce ni un valor.
2.- Proceso de resolución de problema usando ciencia de datos:
Como primer paso debemos definir claramente el problema de datos a la cual le daremos solución. Debemos conseguir que la definición del problema sea concisa y medible esto con la intención de facilitar el manejo de los datos referentes al problema.
Posteriormente, es muy importante identificar el enfoque que se le dará al problema para saber que datos nos serán de utilidad para el desarrollo del problema seleccionado.
Después llega una de las partes más importantes, la cual sería la recolección de datos. Es muy importante obtener datos los cuales sean confiables y que se puedan organizar de una manera comprensible para poder trabajar con ellos.
Dicho esto, se realiza el análisis de los datos recolectados en la cual se descartan datos que analizándolos no nos sean de utilidad para el desarrollo del problema. Por lo cual se recomienda probar todos los enfoques básicos de aprendizaje automático, debido a que manejan una cantidad menor de parámetros a modificar.
Al haber realizado todo esto, por ultimo se lleva a cabo el análisis de los datos recabados. Es el momento donde interpretamos los resultados obtenidos y se llega a una conclusión para saber si obtuvimos alguna solución al problema original. Puede suceder que el modelo no funcione o no estemos conformes con el resultado a lo que es recomendable agregar más datos y volver a trabajar con el modelo hasta que se obtenga el resultado esperado.
Reactivación económica en Sonora
La reactivación económica es de gran importancia dentro del desarrollo de cualquier país, ya que consiste en el crecimiento económico posterior a una caída del mismo. Gracias a esto se mejoran todas las variables referentes a la economía de un país como lo podría ser la tasa de desempleo dando una mejor calidad de vida a los países que tengan una economía alta y estable.
Desafortunadamente la aparición de COVID-19 afecto muchísimo a la economía mundial, incluyendo a México y dejando así en una situación desfavorable a la mayoría de habitantes y más en el caso de México que es un país afectado seriamente por la hipertensión, diabetes y obesidad lo cual causa un riesgo mayor en el caso de contagio del COVID-19
Librerías usadas
Una librería es un conjunto de uno o varios archivos escritos por la comunidad que facilitan la utilización de distintas funcionalidades, en este caso se hará la importación de varias librerías existentes que ayudarán al desarrollo de este caso de estudio y permitirán hacer uso de funcionalidades que se ocupan de su importación.
library(pacman)
p_load("DT", "plotly", "scales", "readxl", "corrplot", "ggfortify", "forecast", "tseries","GGally", "psych", "gridExtra")
- DT: Esta librería proporciona una interfaz en R para la librería de JavaScript DataTables, que se utiliza para filtrar, paginar y ordenar tablas.
- plotly: Se utiliza para crear diferentes tipos de gráficas muy utiles, ya sean graficas básicas, estadísticas, financieras, mapas, de machine learning, en 3D, animationes, entre otros.
- scales: Se utiliza para complementar la creación de gráficas.
- readxl: Permite leer datos de un archivo de Excel y guardarlo.
- corrplot: Proporciona una herramienta de exploración visual de matrices de correlación que permite reordenar automáticamente las variables y detectar patrones ocultos.
- ggfortify: Proporciona herramientas de visualización de datos para resultados de análisis estadísticos
- tseries: Permite trabajar con series de tiempo.
Datos usados
setwd("~/APLICADA")
datos <- read_excel("Casos.xlsx")
pibNuevo <- read_excel("PIBAct.xlsx")
pibMex <- read_excel("PIBMex.xlsx")
movilidad <- read.csv("Movilidad.csv")
movilidad_covid <- read.csv("Movilidad-Covid.csv")
movilidad_covid_regresion <- read.csv("Movilidad-Covid-Regresion.csv")
educacion <- read_excel("Educacion.xlsx")
sonora <- read_excel("IMMSonora.xlsx")
sonoraCor <- read_excel("IMMSonoraCor.xlsx")
indicadores <- read.csv("indicadoresSectores.csv")
desempleo <- read_excel("Desempleo.xlsx")
Fecha <- seq(from = as.Date("2020-02-26"), to = as.Date("2022-04-06"), by = 'day')
Fecha2 <- seq(from = as.Date("2020-02-26"), to = as.Date("2022-04-04"), by = 'day')
Introducción
La economía de México a comienzos de 2020 se esperaba un incremento considerable gracias al incremento del 1.9 de actividades primarias y 0.5 en el sector terciario, pero el incremento se vio afectado por la caída del 1.7 de la producción industrial.
En el primer trimestre de 2020 el PIB mexicano sufrió una contracción de -2.4% comparándolo con el primer trimestre de 2019. Esto se debe a las condiciones previas de la pandemia, en esta fecha ya existían impactos económicos a nivel internacional por el virus, pero la pandemia en México se hizo presente hasta el 24 de marzo. De los sectores más afectados podemos destacar los servicios y el sector del turismo el cual constituye el 8.7% del PIB. El turismo internacional se redujo un 98.9%.
Referencia: Vergara, M. D. (2020). El antes, durante y después de la economía mexicana en 2020. Tecnológico de Monterrey. https://conecta.tec.mx/es/noticias/hidalgo/educacion/el-antes-durante-y-despues-de-la-economia-mexicana-en-2020
Planteamiento del problema
La reactivación económica en México se ha visto afectada desde el comienzo de la pandemia por COVID-19 en 2020, causando un gran bajo índice en el desarrollo humano y miles de desempleados colapsando la economía no solo a nivel nacional si no que a nivel mundial. Principalmente se han visto afectadas las PyMEs (Pequeñas y medianas empresas) ya que cerraron más de un millón de micro, pequeños y medianos negocios de acuerdo con el INEGI, lo que equivale a 1 de cada 5 empresas de este segmento que existían en 2019. La respuesta de muchas empresas fue digitalizar su negocio, y al parecer esto funcionó en gran medida, sin embargo esto nos deja en claro que de ahora en adelante la manera de hacer economía ha cambiado drásticamente por lo que ya no podemos usar los viejos métodos, y esto también es en parte debido a la digitalización que paso tan repentinamente.
Objetivos
Este caso de estudio se realiza con el objetivo de contestar las siguientes preguntas analizando los datos disponibles.
- Como afecto la pandemia a la economía de México?
- ¿Los contagios de COVID se correlacionan con la movilidad de las personas?
- ¿Se puede predecir como se van a mover las personas?
Marco teórico
¿Qué es la economía?
La economía es la ciencia social que estudia cómo las familias, empresas y gobiernos organizan los recursos disponibles que suelen ser escasos, para satisfacer las diferentes necesidades y así tener un mayor bienestar.
Referencia: https://aleph.org.mx/que-es-la-economia-breve-resumen
¿Qué es la reactivación económica?
Se denomina reactivación económica al proceso mediante el cual se busca lograr que la economía de un país o de un lugar determinado tome buenos rumbos después de haberse sumergido en una crisis que afecta a la mayoría de la población.
Referencia: https://enciclopedia.banrepcultural.org/index.php?title=Reactivaci%C3%B3n_econ%C3%B3mica
¿Que son los agentes económicos?
Los agentes económicos son los actores, que toman las decisiones en un mercado, las cuales, generarán diversas consecuencias que afectan al sistema económico general, o de otra manera, también podemos definirlos como los intervinientes en la Economía, bajo un determinado sistema económico, y un conjunto de reglas de juego, donde buscarán optimizar su bienestar.
Existen distintos agentes económicos que mantienen la economía:
Familias o economías domesticas: toman decisiones sobre qué consumir
Empresas: toman decisiones sobre la producción y la distribución.
Sector público: crea leyes para regular la forma de actuar de los otros agentes económicos en el mercado, redistribuye la renta y ofrece el precio más bajo o gratuitamente bienes y servicios que la sociedad cree que deben poder recibir toda la población como lo son el mismo ejército, salud, educación, agua, etc., aunque hay que destacar que esto último depende del tipo de gobierno de cada país.
Sector externo: este sector esta formada ya sea por un grupo de inversionistas o instituciones extranjeras que son calves para llevar a cabo estrategias que pretende implementar el sector público para mantener las necesidades de un país.
El Estado: el cual, es cual trata de regular a todos los agentes económicos y se considera que tiene la actividad económica más compleja; el Estado viene siendo prácticamente el Gobierno en su totalidad.
Referencia: https://laeconomia.com.mx/agentes-economicos/
¿Qué es el PIB?
Entendemos al PIB como el valor de todos los bienes y servicios finales producidos dentro de un país en un período de tiempo. El PIB solo mide cuánto se produce.
Referencia: https://www.cuentame.inegi.org.mx/economia/pib.aspx
¿Por qué es importante la reactivación económica?
En primer lugar, porque genera empleo. Si se produce más, es esperable que las empresas demanden más personas para hacerlo. Sin embargo, para que eso ocurra deben existir personas sin empleo que además tengan las calificaciones requeridas para que sean contratadas por las empresas. En segundo lugar, producir más lleva a aumentos en la recaudación tributaria por lo que se eleva la capacidad de gasto del gobierno. El crecimiento económico financia el mayor gasto público. No obstante, una cosa es tener el dinero y otra muy distinta, saber gastarlo bien en objetivos que se relacionen directamente con el bienestar de los ciudadanos.
Referencia: https://gestion.pe/blog/economiaparatodos/2016/06/por-que-es-necesario-reactivar-la-economia.html
¿Qué significa digitalizar un negocio?
La digitalización en este sentido significa que las empresas usan la tecnología para interactuar con personas (externas e internas) con el fin de abordar necesidades particulares.
Método
Para este análisis se utilizarán las siguientes herramientas y metodologías:
Series de tiempo: Una serie de tiempo es una secuencia de datos u observaciones, medidos en determinados momentos y ordenados cronológicamente. Visualmente, es una curva que evoluciona en el tiempo. Una serie de tiempo es un conjunto de observaciones sobre los valores que toma una variable (cuantitativa) a través del tiempo.
Modelo Arima o Sarima: SARIMA y ARIMA son los enfoques más utilizados para el pronóstico de series de tiempo. Estos modelos son útiles para describir los datos auto correlacionados. Gracias a estos modelos podemos identificar el comportamiento estacional de la serie y nos ayuda a apreciar la regresión de los datos estadísticos con la intención de captar patrones y poder realizar predicciones.
Holt Winters: Consiste en analizar y predecir el comportamiento de una serie temporal en base a los datos obtenidos anteriormente. El método se basa en un algoritmo iterativo que a cada tiempo (mes o semana) realiza un pronóstico sobre el comportamiento de la serie en base a promedios debidamente ponderados de los datos anteriores.
Análisis de correlación El análisis de correlación consiste en un procedimiento estadístico para determinar si dos variables están relacionadas o no. El resultado del análisis es un coeficiente de correlación que puede tomar valores entre -1 y +1. El signo indica el tipo de correlación entre las dos variables.
Histogramas Un histograma es una representación gráfica de una variable en forma de barras, donde la superficie de cada barra es proporcional a la frecuencia de los valores representados.
Dispersión lineal La regresión lineal permite predecir el comportamiento de una variable (dependiente o predicha) a partir de otra (independiente o predictora). Tiene presunciones como la linearidad de la relación, la normalidad, la aleatoridad de la muestra y homogeneidad de las varianzas.
Resultados y discusión
Casos de Covid
covid_confirmados <- ggplot(datos)+
geom_line(aes(Fecha, Confirmado, colour="Confirmados"))+
geom_line(aes(Fecha, Sospechosos, colour="Sospechosos"))+
geom_line(aes(Fecha, Negativos, colour="Negativos"))+
geom_line(aes(Fecha, Decesos, colour="Decesos"))+
labs(title="Casos de Covid",x="Fecha",y="Número de casos")
ggplotly(covid_confirmados)
En esta gráfica podemos ver el número de casos confirmados de Covid durante los últimos 2 años, se pueden apreciar los distintos picos de contagios que han ocurrido, aunque pudiéramos pensar que los casos han disminuido con respecto a los años anteriores, la realidad es que es todo lo contrario ya que los picos de contagio no han hecho más que hacerse más grandes, y mas el ultimo pico que paso, ya que es más del triple de grande respecto al anterior.
¿Pero porqué pasa esto? Es normal pensar que los contagios serían menores ahora que las vacunas se aplican a la población del país, sin embargo es por esto mismo que hay más contagios que nunca, ya que las personas piensan que por estar vacunados es imposible que se contagien y dejan de tomar las medidas adecuadas.
También podemos ver como los contagios se comportan de manera cíclica, ya que los picos siempre son durante las mismas épocas, estas serían durante el verano y durante año nuevo, esto se debe a que las personas salen de vacaciones o celebran con sus familias y esto causa que el virus se propague fácilmente.
Se puede observar como los picos de casos coinciden siempre, esto debido a que mientras más contagiados haya, más decesos habrá, también habrá más sospechosos y más negativos.
Tasa de desempleo en México
desempleo.ts <- ts(desempleo, start = c (2020, 1), frequency = 12)
plot(desempleo.ts)
En esta gráfica se puede ver la tasa de desempleo en México durante los años 2020, 2021 e inicios de 2022, podemos ver como la mayor tasa de desempleo se dio en el primer pico de contagios de Covid, esto claro debido a que las personas dejaron de consumir servicios y no salían de su casa, por lo que esto afectó a muchos negocios y por lo tanto muchas personas se quedaron sin empleo.
Producto Interno Bruto anual per cápita en México desde 1960
gcov <- ggplot(data = pibNuevo) +
geom_line(aes(Año, PIB, colour="PIB per cápita")) +
xlab("Año") +
ylab("PIB per cápita") +
ggtitle("PIB anual per cápita de México") +
scale_y_continuous(labels = comma)
ggplotly(gcov)
Como se puede ver en la gráfica, el PIB va escalando según los años, después del año 2000 se observa que el PIB per cápita sube de una manera muy rápida esto se puede deber a que las empresas están produciendo más bienes y prestando más servicios, esto representa mayores ingresos para las empresas, al mismo tiempo una mayor economía para el estado.
También se puede ver que, en el año 2020 el PIB decae, desde luego, esa caída se debe al Coronavirus y a la pandemia, la gente perdió sus empleos y las empresas no generan tantas ganancias.
Tasa neta de matriculación según nivel educativo
gcov <- ggplot(data = educacion) +
geom_line(aes(Año, Preescolar, colour="Preescolar")) +
geom_line(aes(Año, Primaria, colour="Primaria")) +
geom_line(aes(Año, Secundaria, colour="Secundaria")) +
xlab("Año") +
ylab("Tasa neta de matriculación") +
ggtitle("Tasa neta de matriculación según nivel educativo") +
scale_y_continuous(labels = comma)
ggplotly(gcov)
En esta gráfica podemos ver como ha ido variando la tasa neta de matriculación según el nivel educativo, se puede observar como la tasa de preescolar subió bastante desde el año 2000, la de primaria siempre ha estado bastante estable y la de secundaria también ha estado subiendo desde el año 2000, sin embargo en el año 2020 se puede ver como la tasa de preescolar bajo un 5.8%, lo cual es bastante notorio, además podemos ver que en los otros niveles educativos no hubo una reducción asi, esto se debe principalmente a que los padres tienen miedo a que sus hijos se contagien y por lo tanto no los dejan ir a la escuela y al ser muy pequeños no sabían cómo tomar clases en línea a diferencia de los niños de primaria y secundaria, los cuales ya podrían tomar clases en linea sin problema y por esta razón la tasa en esos niveles no disminuyó de esa manera.
Reporte de movilidad
movilidad2 <- ggplot(movilidad)+
geom_line(aes(Fecha2, Lugaresdetrabajo, colour="Lugares de trabajo"))+
geom_line(aes(Fecha2, supermercadosfarmacias, colour="Supermercados y farmacias"))+
geom_line(aes(Fecha2, Parques, colour="Parques"))+
geom_line(aes(Fecha2, Estacionesdetransito, colour="Estaciones de tránsito"))+
geom_line(aes(Fecha2, Comerciorecreacion, colour="Recreación y comercio"))+
geom_line(aes(Fecha2, Residencial, colour="Lugares residenciales"))+
labs(title="Reporte de movilidad",x="Fecha",y="Procentaje de cambio de movilidad")
ggplotly(movilidad2)
En esta gráfica podemos observar cómo las personas se movían, podemos ver claras relaciones respecto a los casos de contagiados de Covid, la relación más obvia es la del comienzo, ya que las personas tenían miedo ya que el Covid era un virus que llegó de la nada por lo que era obvio que causaría cierto pánico.
Este pánico provocaría que las personas se comenzarán a quedar en sus casas y dejaran de ir a trabajar y lo hicieran desde casa, sin embargo había personas que no se podían permitir esto ya que si no trabajan un dia no tendrían ni siquiera para comer, es importante resaltar que cuando el índice de movilidad en los hogares aumenta se reduce en los demás.
Algo interesante es que cuando el índice de movilidad en supermercados y farmacias sube repentinamente, poco después ocurre un pico de contagios de Covid, por lo que se podría predecir en base a esto.
Claro que mientras iba pasando el tiempo las personas comenzaban a perder el miedo, por lo que comenzaban a salir mas de sus casas y esto también ocasiona que los contagios sigan subiendo mas y mas.
Correlación entre la movilidad y los contagios de Covid
corrplot(cor(dplyr::select(movilidad_covid, Comerciorecreacion, supermercadosfarmacias, Parques, Estacionesdetransito, Lugaresdetrabajo, Residencial, Covid)),
method = "number", tl.col = "black")
Aquí podemos ver como las variables se correlacionan entre sí. Podemos ver que los contagios se correlacionan más con los lugares de comercio y farmacias.
Además podemos ver que se correlaciona de manera negativa con los lugares de trabajo ya que cuando la pandemia empezó y los contagios subían las personas no iban a trabajar.
Carrera a la reactivación económica
ff <- data.frame(indicadores)
f <- ff %>%
ggplot(aes(x=poblacion, y=personal.ocupado.total, size=produccion.bruta.total, colour=municipio)) +
geom_point(alpha=0.8)+
geom_text(aes(label = municipio), hjust = 0, vjust = 0)+
scale_size_continuous(range = c(1, 9))+
labs(title="Carrera a la 'Reactivación económica'", x = "Población" , y = "Personal ocupado", colour= "Municipio", size="Producción bruta")+
scale_y_continuous(labels = comma)+
scale_x_continuous(labels = comma)
ggplotly(f)
En esta gráfica se muestran algunos de los municipios de Sonora, estos se representan como un círculo cada uno y mientras más grande sea este círculo significa que su producción bruta total es mayor, además, los círculos que estén más a la derecha significan que tienen más población y la altura representa el personal ocupado. Con esto podemos ver que Hermosillo lleva la ventaja ya que tiene la mayor población, el mayor personal ocupado y la mayor producción bruta total.
datatable(sonora)
- POB_TOT: Población total
- PROD: Producción bruta total
- PERS_OCU: Personal ocupado
- ANALF: Porcentaje de población analfabeta de 15 años o más
- SBASC: Porcentaje de población de 15 años o más sin educación básica
- OVSDE: Porcentaje de ocupantes en viviendas particulares habitadas sin drenaje ni excusado
- OVSEE: Porcentaje de ocupantes en viviendas particulares habitadas sin energía eléctrica
- OVSAE: Porcentaje de ocupantes en viviendas particulares habitadas sin agua entubada
- OVPT: Porcentaje de ocupantes en viviendas particulares habitadas con piso de tierra
- VHAC: Porcentaje de viviendas particulares con hacinamiento
- PL.5000: Porcentaje de población que vive en localidades menores a 5 000 habitantes
- PO2SM: Porcentaje de población ocupada con ingresos de hasta 2 salarios mínimos
- IM_2020: Índice de marginación, 2020
- IMN_2020: Índice de marginación normalizado, 2020
Análisis de correlación
sonoraCor <- read_excel("IMMSonoraCor.xlsx")
corrplot(cor(dplyr::select(sonoraCor, POB_TOT, PROD, PERS_OCU, ANALF, SBASC, OVSDE, OVSEE, OVSAE, PO2SM, IM_2020)),
method = "number", tl.col = "black")
Se puede ver como existen diversos factores que afectan la economía y por consiguiente a la reactivación económica, los más importantes que podemos notar son el Analfabetismo, el porcentaje de población mayor a 15 años sin educación básica y por último el índice de marginación. Esto hace más visible como la educación tiene un impacto tan grande en la economía de un país, ya que es necesaria y sin duda alguna para tener una reactivación económica sostenible es realmente importante mejorar la educación del país.
Análisis de series de tiempo
El análisis de series de tiempo tiene muchas aplicaciones en diversos campos de la ciencia. Por ejemplo, en la economía continuamente se está expuesto a observaciones de los mercados financieros, indicadores de empleo, índices o indicadores del nivel de producción, índices de precios, etc.
La siguiente serie de tiempo mostrará la variación existente en el Producto Interior Bruto per cápita anual para México desde 2010 hasta 2020.
pib_ts <- ts(pibMex [,2], frequency = 4, start = 2010)
pib_ts
## Qtr1 Qtr2 Qtr3 Qtr4
## 2010 14.73 14.89 15.03 15.15
## 2011 15.27 15.34 15.64 15.75
## 2012 15.85 15.98 16.08 16.22
## 2013 16.26 16.16 16.31 16.41
## 2014 16.52 16.73 16.78 16.97
## 2015 17.06 17.26 17.47 17.43
## 2016 17.53 17.60 17.77 17.97
## 2017 18.06 18.13 18.05 18.29
## 2018 18.50 18.53 18.56 18.51
## 2019 18.57 18.57 18.57 18.36
## 2020 18.17 15.11 16.98 17.54
plot(pib_ts)
Podemos observar como se ha movido el Producto Interno Bruto anual en México, en trillones de pesos mexicanos.
Buscamos datos faltantes
anyNA(pib_ts)
## [1] FALSE
No existen datos faltantes por lo tanto podemos continuar.
Descomposición de la serie de tiempo
La descomposición de una serie de tiempo se utiliza para identificar y calcular aquellos componentes existentes en la serie de tiempo y la forma en que se relacionan con el propósito de contruir predicciones. Esta se utilizará para ver como se relacionan los componentes de la serie de tiempo.
pib_dec <- pib_ts %>%
decompose(type="multiplicative") %>%
autoplot()
pib_dec
En este caso se realizo la descomposicion de la serie de tiempo de los datos del Producto Interno Bruto anual para México.
Cambios en el índice de desarrollo humano
Lo digital está penetrando en todos los sectores, pero en distintos grados
Referencia: https://www.mckinsey.com/business-functions/mckinsey-digital/our-insights/the-case-for-digital-reinvention
Tecnologías, herramientas y métodos digitales utilizados actualmente por las organizaciones
Validación cruzada
La validación cruzada o cross-validation es una técnica utilizada para evaluar los resultados de un análisis estadístico y garantizar que son independientes de la partición entre datos de entrenamiento y prueba.
test_datos <- tail(pib_ts, 8) #20% para pruebas
train_datos <- head(pib_ts, length(pib_ts)-8) #80% para entrenamiento
Holt-Winters
datosHW <- HoltWinters(train_datos, seasonal = "multiplicative")
datosHW
## Holt-Winters exponential smoothing with trend and multiplicative seasonal component.
##
## Call:
## HoltWinters(x = train_datos, seasonal = "multiplicative")
##
## Smoothing parameters:
## alpha: 0.8758086
## beta : 0.04552094
## gamma: 0.9888066
##
## Coefficients:
## [,1]
## a 18.5200257
## b 0.1090110
## s1 1.0010476
## s2 0.9974213
## s3 0.9975426
## s4 0.9994762
Forecast
pib_forecast <- forecast(object = datosHW, h = 8)
Visualizando resultados
pib_ts %>%
autoplot(series = "actual") +
autolayer(pib_forecast$fitted, series = "train") +
autolayer(pib_forecast$mean, series = "test") +
theme_minimal()
## Warning: Removed 4 row(s) containing missing values (geom_path).
Evaluar la precisión del modelo
eval_ses <- accuracy(pib_forecast, test_datos)
eval_ses
## ME RMSE MAE MPE MAPE MASE
## Training set -0.02083772 0.1151756 0.08983069 -0.1149535 0.5295167 0.2010197
## Test set -1.25531752 1.7976753 1.25531752 -7.6117945 7.6117945 2.8091021
## ACF1 Theil's U
## Training set -0.02256782 NA
## Test set 0.43947697 1.386821
Según la prueba de decisión del modelo tiene un error medio de 7.6%, por lo que el modelo puede ser capaz de predecir el PIB anual en México.
Utilizando el modelo SARIMA o ARIMA
Los modelos SARIMA captan el comportamiento puramente estacional de una serie, en forma similar, como hemos visto, se realiza para la componente regular o no estacional. Una serie con influencia solamente por la componente estacional puede ser descrito por un modelo SARIMA (P,D,Q)
Empezaremos haciendo una prueba al conjunto de datos.
adf.test(pib_ts)
## Warning in adf.test(pib_ts): p-value greater than printed p-value
##
## Augmented Dickey-Fuller Test
##
## data: pib_ts
## Dickey-Fuller = 2.043, Lag order = 3, p-value = 0.99
## alternative hypothesis: stationary
En base al valor de p, podemos determinar que los datos NO son estacionarios debido a que son mayores que 0.05.
Analisis de ajuste
pib_diff <- pib_ts %>%
diff(lag=12) %>%
diff(lag=1)
pib_diff %>%
autoplot()
Analizando la serie de tiempo por medio de un modelo ARIMA
pib_auto <- auto.arima(y = train_datos, seasonal = T)
summary(pib_auto)
## Series: train_datos
## ARIMA(0,1,0)(0,0,1)[4] with drift
##
## Coefficients:
## sma1 drift
## -0.4001 0.1091
## s.e. 0.2400 0.0093
##
## sigma^2 estimated as 0.007491: log likelihood=36.68
## AIC=-67.36 AICc=-66.59 BIC=-62.69
##
## Training set error measures:
## ME RMSE MAE MPE MAPE MASE
## Training set 0.002564103 0.08286411 0.06248407 0.02174499 0.3656129 0.1398245
## ACF1
## Training set 0.04487406
De acuerdo a la prueba del modelo ARIMA, este modelo cuenta con un porcentaje de error del 0.36%, por lo tanto podrá predecir el PIB de México sin tanto margen de error.
Datos reales VS Datos del modelo ARIMA
Procederemos a observar los resultados del modelo ARIMA de manera gráfica.
train_datos %>%
autoplot(series= "Datos reales") +
autolayer (pib_auto$fitted, series = "SARIMA Auto") +
theme_minimal()
Podemos observar como el modelo ARIMA se parece en gran medida a los datos reales y por su parte logra hacer una predicción sin tantos errores.
Analisis de los cambios diferenciales en la serie de tiempo
tsdisplay(pib_diff)
datos2 <- as.data.frame(movilidad_covid_regresion)
round(cor(x = datos2, method="pearson"), 3)
## Comerciorecreacion supermercadosfarmacias Parques
## Comerciorecreacion 1.000 0.951 0.926
## supermercadosfarmacias 0.951 1.000 0.865
## Parques 0.926 0.865 1.000
## Estacionesdetransito 0.952 0.904 0.912
## Lugaresdetrabajo 0.688 0.646 0.689
## Residencial -0.800 -0.714 -0.770
## Confirmados 0.159 0.219 0.044
## Sospechosos -0.175 -0.129 -0.246
## Negativos 0.322 0.384 0.103
## Decesos -0.474 -0.443 -0.573
## Estacionesdetransito Lugaresdetrabajo Residencial
## Comerciorecreacion 0.952 0.688 -0.800
## supermercadosfarmacias 0.904 0.646 -0.714
## Parques 0.912 0.689 -0.770
## Estacionesdetransito 1.000 0.847 -0.898
## Lugaresdetrabajo 0.847 1.000 -0.890
## Residencial -0.898 -0.890 1.000
## Confirmados 0.060 -0.040 0.083
## Sospechosos -0.305 -0.414 0.501
## Negativos 0.177 -0.083 -0.037
## Decesos -0.505 -0.357 0.402
## Confirmados Sospechosos Negativos Decesos
## Comerciorecreacion 0.159 -0.175 0.322 -0.474
## supermercadosfarmacias 0.219 -0.129 0.384 -0.443
## Parques 0.044 -0.246 0.103 -0.573
## Estacionesdetransito 0.060 -0.305 0.177 -0.505
## Lugaresdetrabajo -0.040 -0.414 -0.083 -0.357
## Residencial 0.083 0.501 -0.037 0.402
## Confirmados 1.000 0.660 0.688 0.250
## Sospechosos 0.660 1.000 0.422 0.398
## Negativos 0.688 0.422 1.000 0.272
## Decesos 0.250 0.398 0.272 1.000
modelo <- lm(Decesos ~ Lugaresdetrabajo,data = datos2)
summary(modelo)
##
## Call:
## lm(formula = Decesos ~ Lugaresdetrabajo, data = datos2)
##
## Residuals:
## Min 1Q Median 3Q Max
## -650.48 -206.62 -34.62 177.27 1038.34
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 344.315 12.718 27.07 <2e-16 ***
## Lugaresdetrabajo -5.336 0.504 -10.59 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 290.5 on 767 degrees of freedom
## Multiple R-squared: 0.1275, Adjusted R-squared: 0.1264
## F-statistic: 112.1 on 1 and 767 DF, p-value: < 2.2e-16
Primer modelo de regresión lineal
modelo2 <- lm(Decesos ~ Comerciorecreacion + supermercadosfarmacias + Parques + Estacionesdetransito + Lugaresdetrabajo + Residencial , data = datos2 )
summary(modelo2)
##
## Call:
## lm(formula = Decesos ~ Comerciorecreacion + supermercadosfarmacias +
## Parques + Estacionesdetransito + Lugaresdetrabajo + Residencial,
## data = datos2)
##
## Residuals:
## Min 1Q Median 3Q Max
## -698.96 -156.03 -30.09 133.01 832.48
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -2.9206 43.0014 -0.068 0.946
## Comerciorecreacion 18.6703 2.5632 7.284 8.10e-13 ***
## supermercadosfarmacias 0.3058 1.5063 0.203 0.839
## Parques -16.6408 1.5883 -10.477 < 2e-16 ***
## Estacionesdetransito -21.0810 2.8802 -7.319 6.34e-13 ***
## Lugaresdetrabajo 7.3465 1.2798 5.740 1.37e-08 ***
## Residencial -4.7725 4.6101 -1.035 0.301
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 242.5 on 762 degrees of freedom
## Multiple R-squared: 0.3961, Adjusted R-squared: 0.3914
## F-statistic: 83.31 on 6 and 762 DF, p-value: < 2.2e-16
El modelo con todas las variables introducidas como predictores tiene un R2 ajustada (0.3914), es capaz de explicar el 39.14% de la variabilidad observada en los casos de Covid.
Evaluación general del modelo
step(object = modelo2, direction = "both", trace = 1)
## Start: AIC=8451.86
## Decesos ~ Comerciorecreacion + supermercadosfarmacias + Parques +
## Estacionesdetransito + Lugaresdetrabajo + Residencial
##
## Df Sum of Sq RSS AIC
## - supermercadosfarmacias 1 2422 44797255 8449.9
## - Residencial 1 63001 44857833 8450.9
## <none> 44794833 8451.9
## - Lugaresdetrabajo 1 1936997 46731829 8482.4
## - Comerciorecreacion 1 3118989 47913822 8501.6
## - Estacionesdetransito 1 3149278 47944111 8502.1
## - Parques 1 6453239 51248071 8553.4
##
## Step: AIC=8449.9
## Decesos ~ Comerciorecreacion + Parques + Estacionesdetransito +
## Lugaresdetrabajo + Residencial
##
## Df Sum of Sq RSS AIC
## - Residencial 1 63377 44860632 8449.0
## <none> 44797255 8449.9
## + supermercadosfarmacias 1 2422 44794833 8451.9
## - Lugaresdetrabajo 1 1971244 46768499 8481.0
## - Estacionesdetransito 1 3213607 48010862 8501.2
## - Comerciorecreacion 1 4703015 49500270 8524.7
## - Parques 1 6708371 51505626 8555.2
##
## Step: AIC=8448.99
## Decesos ~ Comerciorecreacion + Parques + Estacionesdetransito +
## Lugaresdetrabajo
##
## Df Sum of Sq RSS AIC
## <none> 44860632 8449.0
## + Residencial 1 63377 44797255 8449.9
## + supermercadosfarmacias 1 2799 44857833 8450.9
## - Lugaresdetrabajo 1 2703917 47564549 8492.0
## - Estacionesdetransito 1 3176498 48037130 8499.6
## - Comerciorecreacion 1 4716480 49577112 8523.9
## - Parques 1 6856736 51717368 8556.4
##
## Call:
## lm(formula = Decesos ~ Comerciorecreacion + Parques + Estacionesdetransito +
## Lugaresdetrabajo, data = datos2)
##
## Coefficients:
## (Intercept) Comerciorecreacion Parques
## -16.521 18.989 -16.828
## Estacionesdetransito Lugaresdetrabajo
## -20.308 7.905
Con respecto al método AIC, el mejor modelo resultante del proceso de selección ha sido:
modelo3 <- (lm(formula = Decesos ~ Comerciorecreacion + Parques + Estacionesdetransito +
Lugaresdetrabajo, data = datos2))
summary(modelo3)
##
## Call:
## lm(formula = Decesos ~ Comerciorecreacion + Parques + Estacionesdetransito +
## Lugaresdetrabajo, data = datos2)
##
## Residuals:
## Min 1Q Median 3Q Max
## -690.4 -153.8 -28.3 131.4 837.0
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -16.521 24.178 -0.683 0.495
## Comerciorecreacion 18.989 2.119 8.962 < 2e-16 ***
## Parques -16.828 1.557 -10.806 < 2e-16 ***
## Estacionesdetransito -20.308 2.761 -7.355 4.93e-13 ***
## Lugaresdetrabajo 7.905 1.165 6.786 2.31e-11 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 242.3 on 764 degrees of freedom
## Multiple R-squared: 0.3952, Adjusted R-squared: 0.3921
## F-statistic: 124.8 on 4 and 764 DF, p-value: < 2.2e-16
Ahora mostraremos los intervalos de confianza:
confint(lm(formula = Decesos ~ Comerciorecreacion + Parques + Estacionesdetransito +
Lugaresdetrabajo, data = datos2))
## 2.5 % 97.5 %
## (Intercept) -63.983164 30.94207
## Comerciorecreacion 14.829370 23.14767
## Parques -19.884518 -13.77065
## Estacionesdetransito -25.727962 -14.88766
## Lugaresdetrabajo 5.618163 10.19173
Análisis de residuales
Validación de condiciones para la regresión múltiple lineal
plot1 <- ggplot(data = datos2, aes(Comerciorecreacion, modelo$residuals)) +
geom_point() + geom_smooth(color = "firebrick") + geom_hline(yintercept = 0) +
theme_bw()
plot2 <- ggplot(data = datos2, aes(Parques, modelo$residuals)) +
geom_point() + geom_smooth(color = "firebrick") + geom_hline(yintercept = 0) +
theme_bw()
plot3 <- ggplot(data = datos2, aes(Estacionesdetransito, modelo$residuals)) +
geom_point() + geom_smooth(color = "firebrick") + geom_hline(yintercept = 0) +
theme_bw()
plot4 <- ggplot(data = datos2, aes(Lugaresdetrabajo, modelo$residuals)) +
geom_point() + geom_smooth(color = "firebrick") + geom_hline(yintercept = 0) +
theme_bw()
grid.arrange(plot1, plot2, plot3, plot4)
## `geom_smooth()` using method = 'loess' and formula 'y ~ x'
## `geom_smooth()` using method = 'loess' and formula 'y ~ x'
## `geom_smooth()` using method = 'loess' and formula 'y ~ x'
## `geom_smooth()` using method = 'loess' and formula 'y ~ x'
Distribución normal de los residuos
qqnorm(modelo3$residuals)
qqline(modelo3$residuals)
Prueba de normalidad de Shapiro-wilk
shapiro.test(modelo3$residuals)
##
## Shapiro-Wilk normality test
##
## data: modelo3$residuals
## W = 0.97499, p-value = 3.398e-10
Conclusión personal
La economía Mexicana, como la mayoria de economías del mundo, se han visto muy afectadas por el brote del COVID-19 y su efecto en la movilidad social, viendo los datos utilizados pudimos observar que la movilidad social actuaba muy concorde a como se presentaban las oleadas de contagios con diferencias muy marcadas debido al miedo que estas producian en la gente y que fomentaba el quedarse en casa, también destacar la educación en México, que aporta mucho a una reactivación económica sostenible.
El uso de técnicas de ciencia de datos para la resolución de un problema, nos ayuda a sacar conclusiones concisas en base a datos, en este caso pudimos determinar un modelo ARIMA para predecir el PIB anual de México, y como ira creciendo en los proximos años, por lo tanto observamos que la economía méxicana sufrió en gran manera desde el inicio del COVID-19, llevando al Producto Interno Bruto a su punto más bajo de los últimos años, todo esto en base a la perdida de empleos de las personas en este periodo y cancelación de actividades que generaban ingresos para las personas, es importante conocer el comportamiento económico de nuestro país.
Personalmente, en base a los datos recabados por las instituciones pertinentes pudimos darnos cuenta que México fue un país bastante afectado para la pandemia del COVID-19, claramente el país no estaba preparado para un desequilibrio de la economía de este tamaño algo que no podía ser predicho en base a los datos que se habían estado teniendo siendo que por muy preparados que estaban, nunca surgió la preocupación por la existencia de una pandemia repentina.
Bibliografía
Parodi, C. (2016). Economía para todos - Gestion. Recuperado de: https://gestion.pe/blog/economiaparatodos/2016/06/por-que-es-necesario-reactivar-la-econo mia.html
Reactivación económica - Enciclopedia | Banrepcultural. (2021). Recuperado de: https://enciclopedia.banrepcultural.org/index.php?title=Reactivaci%C3%B3n_econ%C3%B3mica&%3A
Qué es economía - INE. (2021). Recuperado de: https://www.ine.cl/ine-ciudadano/definiciones-estadisticas/economia/que-es-economia
Qué es AGENTES ECONÓMICOS - Glosario Billin. (2021). Recuperado de: https://www.billin.net/glosario/definicion-agentes-economicos/
Alquicira, J. (2017). Análisis de correlación. Conogasi. https://conogasi.org/articulos/analisis-de-correlacion-2/
IBM. (s. f.). Gráficos de histograma. IBM Corp. https://www.ibm.com/docs/es/spss-statistics/beta?topic=types-histogram-charts
MathWorks. (s. f.). ¿Qué es la regresión lineal? MATLAB & Simulink. https://la.mathworks.com/discovery/linear-regression.html
Descarga de código y datos
xfun::embed_file("Evaluacion unidad de competencia 1.Rmd")
Download Evaluacion unidad de competencia 1.Rmd
xfun::embed_file("Casos.xlsx")
xfun::embed_file("PIBAct.xlsx")
xfun::embed_file("PIBMex.xlsx")
xfun::embed_file("Movilidad.csv")
xfun::embed_file("Movilidad-Covid.csv")
xfun::embed_file("Educacion.xlsx")
xfun::embed_file("IMMSonora.xlsx")
xfun::embed_file("IMMSonoraCor.xlsx")
xfun::embed_file("indicadoresSectores.csv")
Download indicadoresSectores.csv
xfun::embed_file("Desempleo.xlsx")