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 deļ¬nidas, 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("~/R/Estadistica 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%.
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#:~:text=De%20esta%20forma%2C%20%C2%BFqu%C3%A9%20es%20la%20econom%C3%ADa%20en,comportamiento%20y%20las%20acciones%20de%20los%20seres%20humanos.
¿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
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.
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.
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
Para concluir con este tema, se puede decir la economia sufrio bastante cuando apareció el Coronavirus, este afecto de tal forma que tuvimos que adaptar las actividades diarias, al mismo tiempo, muchas personas perdieron lo que es su empleo por la pandemia, afectando la economia del todo el pais, pero actualmente, las actividades que se dejaron de hacer por la pandemia estan regresando a lo que era hace 5 años.
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")