Se cargan los paquetes
library(readr)
library(plotly)
library(shiny)
library(data.table)
library(plyr)
library(dplyr)
library(lubridate)
library(glmnet)
library(neuralnet)
library(randomForest)
library(h2o)
library(xgboost)El paquete h2o necesita inicializarse con el siguiente código:
## Connection successful!
##
## R is connected to the H2O cluster:
## H2O cluster uptime: 3 hours 44 minutes
## H2O cluster timezone: America/Bogota
## H2O data parsing timezone: UTC
## H2O cluster version: 3.30.0.1
## H2O cluster version age: 4 months and 30 days !!!
## H2O cluster name: H2O_started_from_R_esteb_pfw245
## H2O cluster total nodes: 1
## H2O cluster total memory: 3.96 GB
## H2O cluster total cores: 8
## H2O cluster allowed cores: 8
## H2O cluster healthy: TRUE
## H2O Connection ip: localhost
## H2O Connection port: 54321
## H2O Connection proxy: NA
## H2O Internal Security: FALSE
## H2O API Extensions: Amazon S3, Algos, AutoML, Core V3, TargetEncoder, Core V4
## R Version: R version 4.0.2 (2020-06-22)
## Warning in h2o.clusterInfo():
## Your H2O cluster version is too old (4 months and 30 days)!
## Please download and install the latest version from http://h2o.ai/download/
Se cargan los datos a los cuales se les realizó un proceso de limpieza previamente:
setwd("G:/.shortcut-targets-by-id/1Gc04gd7KUHrKy7VvY9XeigRCfGHMw3C1/Trabajo Final AP")
Data <- read_delim("Datos/BD_Accidentalidad.csv", ";", escape_double = FALSE, trim_ws = TRUE)## Parsed with column specification:
## cols(
## ID = col_double(),
## FECHA = col_character(),
## DIA = col_double(),
## PERIODO = col_double(),
## CLASE = col_character(),
## DIRECCION = col_character(),
## CBML = col_character(),
## CB = col_character(),
## TIPO_GEOCOD = col_character(),
## GRAVEDAD = col_character(),
## DISENO = col_character(),
## DIA_NOMBRE = col_character(),
## MES = col_double(),
## X_MAGNAMED = col_double(),
## Y_MAGNAMED = col_double(),
## LONGITUD = col_double(),
## LATITUD = col_double(),
## COMUNA.REAL = col_character(),
## BARRIO.REAL = col_character()
## )
Previamente se acordó que el usuario particular y objeto de este trabajo son las entidades públicas o privadas que requieran información para ubicar estratégicamente sus vehículos o equipos de respuesta para accidentes viales. Por lo anterior, se analizan las clases definidas en los datos originales:
El 44.6% de los accidentes son Choques con gravedad Solo Daños. Además, se puede observar que de todas las posibles combinaciones únicamente esta no requiere un vehículo o equipo de emergencia, ya sea: ambulancia, vehículo de bomberos o un equipo de la DIJIN.
A partir de lo anterior y teniendo en cuenta el usuario objetivo, se dividen los accidentes en dos clases:
1. Tipo I: en esta clase se encuentran aquellos accidentes que, ni por su gravedad ni por su clase requieren la asistencia de un vehículo de emergencia. Es decir, aquellos en los que basta la presencia de las autoridades de tránsito y la asistencia de la aseguradora.
2. Tipo II: en esta clase se clasifican los accidentes que requieren, ya sea por su clase (volcamiento, incendio, atropello) o por su gravedad (muerte, herido) el apoyo de vehículos y/o equipos de emergencia
Se crea la variable TIPO en el dataset:
Cabe recordar que uno de los objetivos de este trabajo es construir un modelo que permita predecir la accidentalidad por tipo de accidente a nivel diario, semanal y mensual. Para ello, el primer paso consiste en analizar cómo se comportan los tipos de accidentes en diferentes ventanas de tiempo.
Observe como cambian la cantidad de accidentes por tipo y por año:
Como se puede observar, para los accidentes Tipo I, no existen variaciones significativas a lo largo de los años. Se presentan aproximadamente 18682 accidentes por año con una desviación aproximada de 490. En el caso de los accidentes Tipo II, sí se nota cambios importantes a través de los años, con una media aproximada de 23203 y una desviación de 1106.
Observe como cambian la cantidad de accidentes por tipo y por mes:
Al analizar con una ventana de tiempo mensual, se notan importantes variaciones tanto para los accidentes de Tipo I como para los de Tipo II. La media y la desviación para cada uno de los tipos es, respectivamente: 7784 y 516 para el Tipo I y9668 y 532 para el Tipo II. Observe además que el mes de enero es el mes con menor accidentalidad y agosto el de mayor.
Observe como cambian la cantidad de accidentes por tipo y por semana:
Observe en el gráfico anterior que las dos primeras y las dos últimas semanas del año tienen baja frecuencia de accidentes de Tipos I y II. Las semanas 26 y 27 también parecen tener una menor frecuencia con respecto a las demás semanas. Esta hipótesis se comprobará en la siguiente sección.
Observe como cambian la cantidad de accidentes por tipo y por día del mes (1 a 31):
Debido a que la cantidad de días por mes cambia (28, 29, 30 o 31 días), en este caso se analizan los accidentes promedio por día del mes. En la gráfica se puede observar que los últimos días del mes la accidentalidad es más baja, por el contrario, los días posteriores a la quincena y los días 10 y 28 del mes tienen una alta accidentalidad.
Observe cómo cambian la cantidad de accidentes de domingo a lunes por tipo:
En este caso, también hay diferencias notables entre la cantidad de accidentes en cada día de la semana. El domingo es el día con menos registros, especialmente de los accidentes Tipo I. El viernes, por su parte, es el día con más accidentes registrados. Los días laborales, de lunes a viernes parecen tener en promedio más accidentes que los no laborales, esto será analizado más adelante en la inclusión de variables.
En esta sección, se incluirán variables que pueden aportar información valiosa para la predicción.
# Creación de la variable
Data$DIA.LAB <- as.factor(if_else(Data$DIA_NOMBRE %in% c("SÁBADO","DOMINGO"),"NO","SI"))Para los accidentes de tipo I la caja de rango intercuartil (que representa el 50% intermedio de los datos) de los días laborales es (49, 65) mientras que de los días no laborales es (26, 52), es decir que, hay mayor dispersión en los días no laborales. Además, los accidentes en los días no laborales de Tipo I presentan un sesgo hacia arriba pero tienen una mediadana mucho menor que la de los accidentes en días laborales, lo que sugiere diferencias importantes entre los días laborales y no laborales en este tipo de accidentes. En los accidentes de Tipo II la diferencia no es tan marcada, los días laborales y no laborales presentan los siguientes rangos intecuartiles respectivamente: (59, 74) y (47, 65.75)
Prueba de medias con varianzas diferentes
En estas pruebas interesa estudiar el siguiente conjuto de hipótesis:
\(H_0: \mu_1 - \mu_2 = 0\)
\(H_0: \mu_1 - \mu_2 \neq 0\)
Se realiza la prueba para los accidentes de Tipo I y se concluye por valor-p e intervalo de confianza que sí hay diferencias significativas en la cantidad promedio de accidentes Tipo I promedio en días laborales y no laborales:
##
## Welch Two Sample t-test
##
## data: AccxDLAB[AccxDLAB$TIPO == "Tipo I" & AccxDLAB$DIA.LAB == "SI", 4] and AccxDLAB[AccxDLAB$TIPO == "Tipo I" & AccxDLAB$DIA.LAB == "NO", 4]
## t = 21.372, df = 885.29, p-value < 0.00000000000000022
## alternative hypothesis: true difference in means is not equal to 0
## 97 percent confidence interval:
## 15.05559 18.46463
## sample estimates:
## mean of x mean of y
## 55.94785 39.18774
Se realiza la prueba para los accidentes de Tipo II y se concluye por valor-p e intervalo de confianza que sí hay diferencias significativas en la cantidad promedio de accidentes Tipo II promedio en días laborales y no laborales:
##
## Welch Two Sample t-test
##
## data: AccxDLAB[AccxDLAB$TIPO == "Tipo II" & AccxDLAB$DIA.LAB == "SI", 4] and AccxDLAB[AccxDLAB$TIPO == "Tipo II" & AccxDLAB$DIA.LAB == "NO", 4]
## t = 14.692, df = 925.51, p-value < 0.00000000000000022
## alternative hypothesis: true difference in means is not equal to 0
## 97 percent confidence interval:
## 8.13039 10.95354
## sample estimates:
## mean of x mean of y
## 66.26227 56.72031
# Importación de los datos
setwd("G:/Mi unidad/Trabajo Final AP")
Festivos <- read_csv("Datos/Festivos.csv", col_names = FALSE, cols(X1 = col_character()))
Festivos$X1 <- as.Date(Festivos$X1, "%d/%m/%Y")
#Creación de la variable
Data$FEST <- as.factor(if_else(Data$FECHA %in% Festivos$X1,"SI","NO"))Tanto para los accidentes de Tipo I como para los accidentes de Tipo II se pueden observar diferencias significativas entre la distribución de los días festivos y no festivos. Lo anterior es más notorio en los accidentes de Tipo I donde el 99% de los días tienen una frecuencia inferior al cuartil 25% de los días no festivos. En los accidentes de Tipo II las cajas tampoco se solapan, lo que sugiere diferencias significativas entre las medianas.
Prueba de medias con varianzas diferentes
Se realiza la prueba para los accidentes de Tipo I y se concluye por valor p e intervalo de confianza que sí hay diferencias significativas en la cantidad promedio de accidentes Tipo I promedio en días festivos y no festivos:
##
## Welch Two Sample t-test
##
## data: AccxFEST[AccxFEST$TIPO == "Tipo I" & AccxFEST$FEST == "SI", 4] and AccxFEST[AccxFEST$TIPO == "Tipo I" & AccxFEST$FEST == "NO", 4]
## t = -32.197, df = 131.09, p-value < 0.00000000000000022
## alternative hypothesis: true difference in means is not equal to 0
## 97 percent confidence interval:
## -31.41090 -27.40319
## sample estimates:
## mean of x mean of y
## 23.24731 52.65436
Se realiza la prueba para los accidentes de Tipo II y se concluye por valor p e intervalo de confianza que sí hay diferencias significativas en la cantidad promedio de accidentes Tipo II promedio en días festivos y no festivos:
##
## Welch Two Sample t-test
##
## data: AccxFEST[AccxFEST$TIPO == "Tipo II" & AccxFEST$FEST == "SI", 4] and AccxFEST[AccxFEST$TIPO == "Tipo II" & AccxFEST$FEST == "NO", 4]
## t = -17.39, df = 109.3, p-value < 0.00000000000000022
## alternative hypothesis: true difference in means is not equal to 0
## 97 percent confidence interval:
## -20.53072 -15.92172
## sample estimates:
## mean of x mean of y
## 46.23656 64.46278
#Creación de la variable
Data$DMadre <- as.factor(if_else(Data$FECHA %in% as.Date(c("2014-05-11","2015-05-10","2016-05-08","2017-05-14","2018-05-13")),"SI","NO"))Para realizar la comparación se tomarán solo los días domingo:
Se puede observar que para los accidentes de Tipo I hay evidencia que sugiere que hay diferencia significativa entre las medianas. Por el contrario, en los accidentes de Tipo II, las cajas se traslapan sugiriendo medias iguales.
Prueba de medias con varianzas diferentes
Se realiza la prueba para los accidentes de Tipo I y se concluye por valor p e intervalo de confianza que sí hay diferencias significativas en la cantidad promedio de accidentes Tipo I promedio en días de madres vs. domingos corrientes:
##
## Welch Two Sample t-test
##
## data: AccxMADRES[AccxMADRES$TIPO == "Tipo I" & AccxMADRES$DMadre == "SI", 4] and AccxMADRES[AccxMADRES$TIPO == "Tipo I" & AccxMADRES$DMadre == "NO", 4]
## t = 5.6642, df = 4.1979, p-value = 0.004137
## alternative hypothesis: true difference in means is not equal to 0
## 97 percent confidence interval:
## 6.129406 22.328407
## sample estimates:
## mean of x mean of y
## 40.60000 26.37109
Se realiza la prueba para los accidentes de Tipo II y se concluye por valor p e intervalo de confianza que no hay diferencias significativas en la cantidad promedio de accidentes Tipo II promedio en días de madres vs. domingos corrientes:
##
## Welch Two Sample t-test
##
## data: AccxMADRES[AccxMADRES$TIPO == "Tipo II" & AccxMADRES$DMadre == "SI", 4] and AccxMADRES[AccxMADRES$TIPO == "Tipo II" & AccxMADRES$DMadre == "NO", 4]
## t = 2.0806, df = 4.1969, p-value = 0.1027
## alternative hypothesis: true difference in means is not equal to 0
## 97 percent confidence interval:
## -4.369182 20.261370
## sample estimates:
## mean of x mean of y
## 57.20000 49.25391
#Creación de la variable
Data$DIC31 <- as.factor(if_else(Data$FECHA %in% as.Date(c("2014-12-31","2015-12-31","2016-12-31","2017-12-31","2018-12-31")),"SI","NO"))Note que el gráfico presenta evidencia que sugiere diferencias en las medianas dado que las cajas no se traslapan. Además para el Tipo I de accidentes, con un valor-p de 0.0005278 se rechaza la hipótesis nula \(H_0: \mu_1 - \mu_2 = 0\) y se concluye que hay diferencias significativas en la cantidad promedio de accidentes Tipo I promedio entre los 31 de diciembre y los demás días del mes. Para el Tipo II, se acepta la hipótesis nula con un valor-p de 0.0426897.
Recuerde que los días 31 eran días con menor accidentalidad, por lo tanto también evaluamos la diferencia entre las medias contra los 31 de los demás meses. Sin embargo, la hipótesis nula se rechazó para el Tipo I con un valor-p de 0.0003264.
En la gráfica anterior se puede observar evidencia que sugiere que la accidentalidad diaria en las semanas 1 y 2 del año en comparación con las demás semanas del año es menor. Se prueba la diferencia entre las medias para cada tipo de accidente:
Tipo 1
##
## Welch Two Sample t-test
##
## data: AccxSEM1Y2[AccxSEM1Y2$TIPO == "Tipo I" & AccxSEM1Y2$SEM1Y2 == "SI", 4] and AccxSEM1Y2[AccxSEM1Y2$TIPO == "Tipo I" & AccxSEM1Y2$SEM1Y2 == "NO", 4]
## t = -11.311, df = 77.205, p-value < 0.00000000000000022
## alternative hypothesis: true difference in means is not equal to 0
## 97 percent confidence interval:
## -21.02767 -14.15114
## sample estimates:
## mean of x mean of y
## 34.23188 51.82129
Se rechaza la hipótesis nula con un valor-p de 0 y un intervalo de confianza (-21.0276669, -14.1511376), es decir, la frecuencia promedio de accidentes Tipo I diarios en las dos primeras semanas del año es menor que la frecuencia promedio en las otras semanas del año.
Tipo 2
##
## Welch Two Sample t-test
##
## data: AccxSEM1Y2[AccxSEM1Y2$TIPO == "Tipo II" & AccxSEM1Y2$SEM1Y2 == "SI", 4] and AccxSEM1Y2[AccxSEM1Y2$TIPO == "Tipo II" & AccxSEM1Y2$SEM1Y2 == "NO", 4]
## t = -11.737, df = 76.854, p-value < 0.00000000000000022
## alternative hypothesis: true difference in means is not equal to 0
## 97 percent confidence interval:
## -17.52134 -11.96627
## sample estimates:
## mean of x mean of y
## 49.34783 64.09163
Se rechaza la hipótesis nula con un valor-p de 0 y un intervalo de confianza (-17.5213418, -11.966273), es decir, la frecuencia promedio de accidentes Tipo II diarios en las dos primeras semanas del año es menor que la frecuencia promedio en las otras semanas del año.
En esta sección, se analiza la frecuencia diaria de accidentes en semana santa vs. los días corrientes:
#Creación de la variable
Data$SSANTA <- as.factor(if_else(Data$FECHA %in% c(seq(as.Date("2014-04-13"),as.Date("2014-04-19"),1),
seq(as.Date("2015-03-29"),as.Date("2015-04-04"),1),
seq(as.Date("2016-03-20"),as.Date("2016-03-26"),1),
seq(as.Date("2017-04-09"),as.Date("2017-04-15"),1),
seq(as.Date("2018-03-25"),as.Date("2018-03-31"),1)),
"SI","NO"))En la gráfica anterior se puede observar que las cajas se traslapan tanto en los accidentes de Tipo I como en los accidentes de Tipo II. Si bien no se presenta evidencia clara de diferencias en la distribución de los accidentes diarios en Semana Santa y fuera de ella, se realiza la prueba de medias con varianzas diferentes antes de descartar la variable.
Prueba de medias con varianzas diferentes
Se realiza la prueba para los accidentes de Tipo I y Tipo II y por valor-p e intervalo de confianza, se descarta \(H_0\) en ambos tipos:
1. Tipo I
t.test(AccxSSANTA[AccxSSANTA$TIPO=="Tipo I" & AccxSSANTA$SSANTA=="SI",4], AccxSSANTA[AccxSSANTA$TIPO=="Tipo I" & AccxSSANTA$SSANTA=="NO",4], alternative="two.sided", mu=0, paired=FALSE, var.equal=FALSE, conf.level=0.97)##
## Welch Two Sample t-test
##
## data: AccxSSANTA[AccxSSANTA$TIPO == "Tipo I" & AccxSSANTA$SSANTA == "SI", 4] and AccxSSANTA[AccxSSANTA$TIPO == "Tipo I" & AccxSSANTA$SSANTA == "NO", 4]
## t = -4.9522, df = 34.835, p-value = 0.00001874
## alternative hypothesis: true difference in means is not equal to 0
## 97 percent confidence interval:
## -25.059525 -9.341688
## sample estimates:
## mean of x mean of y
## 34.28571 51.48632
2. Tipo II
t.test(AccxSSANTA[AccxSSANTA$TIPO=="Tipo II" & AccxSSANTA$SSANTA=="SI",4], AccxSSANTA[AccxSSANTA$TIPO=="Tipo II" & AccxSSANTA$SSANTA=="NO",4], alternative="two.sided", mu=0, paired=FALSE, var.equal=FALSE, conf.level=0.97)##
## Welch Two Sample t-test
##
## data: AccxSSANTA[AccxSSANTA$TIPO == "Tipo II" & AccxSSANTA$SSANTA == "SI", 4] and AccxSSANTA[AccxSSANTA$TIPO == "Tipo II" & AccxSSANTA$SSANTA == "NO", 4]
## t = -5.4538, df = 34.948, p-value = 0.000004073
## alternative hypothesis: true difference in means is not equal to 0
## 97 percent confidence interval:
## -20.058870 -8.296495
## sample estimates:
## mean of x mean of y
## 49.62857 63.80625
Como hay diferencia estadística entre las medias para ambos tipos de accidentes, se conserva la variable en el dataset.
Para realizar el análisis sugerido en el título de esta sección, debemos primero crear un vector con todos los viernes después de quincena (días de pago) durante los 5 años. Para ello, usaremos la función nextweekday que permite encontrar el siguiente día particular, esta función la tomamos de la entrada de Stack Overflow: How to find next particular day?
Se crea el vector con todos los viernes después de los días 15 y 30 de cada mes:
Quincena <- unique(Data$FECHA[Data$DIA=="15"|Data$DIA=="30"]) #Vector con fechas quincea
FRI.POST.PAY <- nextweekday(Quincena,6) #El 6 representa los viernes
Data$FRI.POST.PAY <- as.factor(if_else(Data$FECHA %in% FRI.POST.PAY,"SI","NO")) #Creación de la variableEn el gráfico no se pueden evidenciar grandes diferencias para la distribución de los accidentes en viernes después de pago y en viernes corrientes. Además, la prueba de medias con varianzas diferentes para ambos tipos indica que se debe aceptar \(H_0\) con un valor-p de 0.9630919 y 0.7601032 respectivamente. Por lo tanto se elimina esta variable del dataset.
Se probaron otras variables como: Noche buena, quincenas(15 y 30), primero de diciembre, Feria de las Flores, sábados después de pagos y primer viernes del mes; sin embargo, la diferencia entre las medias no era significativa para ninguno de los dos tipos de accidentes, por lo tanto no se incluyeron en el dataset.
Unimos este dataset con el conteo diario de accidentes por tipo y por comuna para obtener dos datasets DataF1 y DataF2 (uno por cada tipo de accidente), con:
- Variables relacionadas con las fechas (meses, día, semana, día de la semana, fechas especiales)
- Una variable indicadora por comuna
- Variable respuesta: número de accidentes de tipo X
Cada dataset tiene 40172 filas y 149 columnas. Es decir, tenemos un registro para cada día entre el 2014-01-01 y el 2018-31-12 (1826 días) por cada comuna (22 comunas).
Data3 <- aggregate(ID~FECHA,data=Data[Data$TIPO=="Tipo I",],FUN=length)
Data4 <- aggregate(ID~FECHA,data=Data[Data$TIPO=="Tipo II",],FUN=length)
Data3 <- merge(Base, Data3, by.x="FECHA", by.y="FECHA")
Data4 <- merge(Base, Data4, by.x="FECHA", by.y="FECHA")DataP <- data.frame(FECHA = seq(as.Date("2019-01-01"),as.Date("2020-12-31"),1))
DataP$AÑO <- as.integer(format(as.Date(DataP$FECHA, format="%Y/%m/%d"),"%Y"))
DataP$MES <- as.factor(format(as.Date(DataP$FECHA, format="%Y/%m/%d"),"%m")) #Agregamos variable mes
DataP$DIAM <- as.factor(format(as.Date(DataP$FECHA, format="%Y/%m/%d"),"%d"))
DataP$SEM <- as.factor(format(as.Date(DataP$FECHA, format="%Y/%m/%d"),"%V"))
Festivos2 <- as.Date(c("2019-01-01","2019-01-07","2019-03-05","2019-03-25","2019-04-18","2019-04-19","2019-05-01","2019-06-03","2019-06-24","2019-07-01","2019-07-20","2019-08-07","2019-08-19","2019-10-14","2019-11-04","2019-11-11","2019-12-08","2019-12-25",
"2020-01-01","2020-01-06","2020-03-26","2020-04-09","2020-04-10","2020-05-01","2020-05-25","2020-06-15","2020-06-22","2020-06-29","2020-07-20","2020-08-07","2020-08-17","2020-10-12","2020-11-02","2020-11-16","2020-12-08","2020-12-25" ))
DataP$DIAS <- as.factor(weekdays(DataP$FECHA, abbreviate = TRUE))
DataP$FESTIVO <- as.factor(if_else(DataP$FECHA %in% Festivos2,1,0))
DataP$MADRE <- as.factor(if_else(DataP$FECHA %in% as.Date(c("2019-05-12","2020-05-10")),1,0))
DataP$DIC31 <- as.factor(if_else(DataP$FECHA %in% as.Date(c("2019-12-31","2020-12-31")),1,0))
DataP$SSANTA <- as.factor(if_else(DataP$FECHA %in% c(seq(as.Date("2019-04-14"),as.Date("2020-04-20"),1),
seq(as.Date("2020-04-05"),as.Date("2020-04-11"),1))
,1,0))
DataP <- cbind(FECHA=DataP$FECHA,as.data.frame(model.matrix(~.-1, DataP[,-c(1)])))Los datos serán cargados directamente de los archivos creados anteriormente.
Modelos con Comunas
El primer grupo de modelos busca predecir la accidentalidad en cada comuna de la ciudad de Medellín teniendo en cuenta los espacios temporales diario, mensual y anual, además de considerar las fechas especiales mencionadas anteriormente. La diferenciación por comuna se propone para analizar si realmente esto ayuda a la precisión de los modelos y a disminuir su error, pero cabe recordar que la diferenciación por comuna y por barrio se realiza en la sección de agrupamiento del trabajo.
Carga de Datos
Partición de la data para entrenamiento y validación
Cdatos_tr1<-subset(DataF1,subset=(AÑO<"2018"))
Cdatos_vl1<-subset(DataF1,subset=(AÑO>="2018") & (AÑO<"2019") )Se eliminan variables innecesarias para los modelos, pues estos no le asignan valores a éstas por considerarlas “singularidades” o redundantes dado que dependen de otras variables directamente, a continuación el porqué de cada una:
- MES12: es el mes de diciembre y es 1 siempre y cuando los otros 11 meses sean 0.
- DIA.LAB1: anteriormente esta variable se creo asignandole valores de 1 siempre y cuando en la variable DIAS los valores fueran los correspondientes a sábados y domingos, por lo tanto, con la variable DIAS es suficiente para explicar esto.
- SEM1_21: esta variable depende directamente de la variable SEM, la unica diferencia es que toma valores de 1 tanto cuando la semana del año es la 1 como la 2, de resto es 0.
- C.VILLA HERMOSA: ubicada como la última comuna de la lista cuando esta variable se convirtió en dummie, solo toma valores de 1 cuando el el resto de las variables de Comuna son 0.
##
## Call:
## lm(formula = Y1 ~ . - AÑO, data = Cdatos_tr1)
##
## Residuals:
## Min 1Q Median 3Q Max
## -11.9699 -0.8230 -0.2078 0.7984 23.4215
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.7724700 0.2028677 3.808 0.000140 ***
## MES1 -0.2713552 0.1832297 -1.481 0.138628
## MES2 -0.2738026 0.2261149 -1.211 0.225943
## MES3 -0.2534226 0.2556804 -0.991 0.321610
## MES4 -0.6466899 0.2747248 -2.354 0.018581 *
## MES5 -0.5301660 0.2875931 -1.843 0.065271 .
## MES6 -0.3769683 0.2894032 -1.303 0.192731
## MES7 -0.4161408 0.2843660 -1.463 0.143368
## MES8 -0.3666280 0.2706259 -1.355 0.175510
## MES9 -0.1706773 0.2468910 -0.691 0.489378
## MES10 0.0829621 0.2126400 0.390 0.696426
## MES11 -0.1831763 0.1623163 -1.129 0.259111
## DIAM02 -0.0674696 0.0866032 -0.779 0.435946
## DIAM03 -0.0279329 0.0874816 -0.319 0.749501
## DIAM04 -0.0909856 0.0886188 -1.027 0.304566
## DIAM05 0.0748121 0.0894541 0.836 0.402983
## DIAM06 0.0376260 0.0908145 0.414 0.678644
## DIAM07 0.1459416 0.0920656 1.585 0.112933
## DIAM08 -0.0755949 0.0934367 -0.809 0.418493
## DIAM09 -0.1138186 0.0942798 -1.207 0.227348
## DIAM10 0.0576216 0.0955317 0.603 0.546402
## DIAM11 -0.0376035 0.0969410 -0.388 0.698092
## DIAM12 -0.0069225 0.0973322 -0.071 0.943301
## DIAM13 -0.0574688 0.0977287 -0.588 0.556507
## DIAM14 0.0072053 0.0983908 0.073 0.941622
## DIAM15 0.0023691 0.0984917 0.024 0.980810
## DIAM16 0.0799806 0.0982995 0.814 0.415856
## DIAM17 0.1678463 0.0980203 1.712 0.086839 .
## DIAM18 0.0850174 0.0984851 0.863 0.388006
## DIAM19 -0.0072778 0.0983860 -0.074 0.941034
## DIAM20 0.0232851 0.0973137 0.239 0.810891
## DIAM21 -0.0192821 0.0968572 -0.199 0.842203
## DIAM22 -0.0508949 0.0965253 -0.527 0.598009
## DIAM23 0.0572746 0.0949943 0.603 0.546562
## DIAM24 -0.0507265 0.0937426 -0.541 0.588425
## DIAM25 0.0023990 0.0927669 0.026 0.979369
## DIAM26 -0.0676708 0.0919675 -0.736 0.461851
## DIAM27 -0.1044260 0.0903356 -1.156 0.247699
## DIAM28 0.0760047 0.0890319 0.854 0.393289
## DIAM29 0.0004879 0.0895215 0.005 0.995652
## DIAM30 -0.0660154 0.0895783 -0.737 0.461154
## DIAM31 -0.1463839 0.1104824 -1.325 0.185197
## SEM02 0.3370397 0.1208996 2.788 0.005310 **
## SEM03 0.5678090 0.1249201 4.545 0.000005503754462030 ***
## SEM04 0.7506991 0.1233715 6.085 0.000000001179110102 ***
## SEM05 0.7538660 0.1435382 5.252 0.000000151397287582 ***
## SEM06 0.7710934 0.1923002 4.010 0.000060896975805322 ***
## SEM07 0.9948931 0.1958601 5.080 0.000000380331859557 ***
## SEM08 0.7931628 0.1963283 4.040 0.000053579731064892 ***
## SEM09 0.8425127 0.2030572 4.149 0.000033458855915166 ***
## SEM10 0.9746547 0.2380134 4.095 0.000042328341643585 ***
## SEM11 0.8467149 0.2420470 3.498 0.000469 ***
## SEM12 0.7892074 0.2440357 3.234 0.001222 **
## SEM13 0.9502283 0.2387322 3.980 0.000068976896201797 ***
## SEM14 1.3464883 0.2630651 5.118 0.000000309819453001 ***
## SEM15 1.4309449 0.2735158 5.232 0.000000169040618889 ***
## SEM16 1.0921993 0.2753310 3.967 0.000072984430597110 ***
## SEM17 1.4694324 0.2719103 5.404 0.000000065596533892 ***
## SEM18 1.3576425 0.2760099 4.919 0.000000874998232586 ***
## SEM19 1.1809328 0.2918902 4.046 0.000052264485015242 ***
## SEM20 1.1865922 0.2946091 4.028 0.000056458908553611 ***
## SEM21 1.1728770 0.2949808 3.976 0.000070204516346639 ***
## SEM22 1.0365738 0.2859072 3.626 0.000289 ***
## SEM23 0.9819027 0.3023315 3.248 0.001164 **
## SEM24 0.9481102 0.3053936 3.105 0.001907 **
## SEM25 0.8187641 0.3065543 2.671 0.007570 **
## SEM26 0.7872269 0.2996543 2.627 0.008615 **
## SEM27 0.9192266 0.3015816 3.048 0.002305 **
## SEM28 0.9740755 0.3084834 3.158 0.001592 **
## SEM29 1.0789330 0.3108738 3.471 0.000520 ***
## SEM30 1.1427534 0.3102151 3.684 0.000230 ***
## SEM31 1.3046333 0.2950171 4.422 0.000009800902482714 ***
## SEM32 1.2642923 0.3040409 4.158 0.000032146259844159 ***
## SEM33 1.0065525 0.3067409 3.281 0.001034 **
## SEM34 0.8624789 0.3075961 2.804 0.005051 **
## SEM35 0.8639409 0.2946165 2.932 0.003366 **
## SEM36 0.7878220 0.2916860 2.701 0.006918 **
## SEM37 0.8844913 0.2953780 2.994 0.002752 **
## SEM38 0.9081964 0.2967532 3.060 0.002212 **
## SEM39 0.6565544 0.2897049 2.266 0.023440 *
## SEM40 0.7566036 0.2700268 2.802 0.005082 **
## SEM41 0.4389308 0.2751932 1.595 0.110724
## SEM42 0.4498422 0.2781306 1.617 0.105807
## SEM43 0.5569265 0.2776358 2.006 0.044869 *
## SEM44 0.7592795 0.2516497 3.017 0.002553 **
## SEM45 0.6671801 0.2488086 2.681 0.007333 **
## SEM46 0.8934730 0.2521189 3.544 0.000395 ***
## SEM47 0.8421957 0.2531310 3.327 0.000878 ***
## SEM48 0.8547340 0.2293734 3.726 0.000195 ***
## SEM49 0.8361132 0.2008017 4.164 0.000031370993276890 ***
## SEM50 0.8322129 0.2056785 4.046 0.000052181499695616 ***
## SEM51 0.9217186 0.2078634 4.434 0.000009270025785508 ***
## SEM52 0.3319971 0.1981482 1.675 0.093846 .
## SEM53 0.1891882 0.1986005 0.953 0.340796
## DIASMon -0.2188432 0.0423906 -5.163 0.000000245067894127 ***
## DIASSat -0.4686446 0.0413210 -11.342 < 0.0000000000000002 ***
## DIASSun -1.5510881 0.0415071 -37.369 < 0.0000000000000002 ***
## DIASThu -0.2758886 0.0412583 -6.687 0.000000000023175467 ***
## DIASTue -0.1295054 0.0413295 -3.133 0.001729 **
## DIASWed -0.2510595 0.0413243 -6.075 0.000000001251167311 ***
## FESTIVO1 -1.3394019 0.0572462 -23.397 < 0.0000000000000002 ***
## MADRE1 0.4308424 0.2249672 1.915 0.055484 .
## DIC311 -0.4699086 0.2514265 -1.869 0.061636 .
## SSANTA1 -0.3572259 0.0935488 -3.819 0.000134 ***
## C.ALTAVISTA -0.8145106 0.0730622 -11.148 < 0.0000000000000002 ***
## C.ARANJUEZ 1.5605749 0.0730622 21.360 < 0.0000000000000002 ***
## C.BELEN 2.6167009 0.0730622 35.815 < 0.0000000000000002 ***
## `C.BUENOS AIRES` 0.6960986 0.0730622 9.527 < 0.0000000000000002 ***
## C.CASTILLA 3.8706366 0.0730622 52.977 < 0.0000000000000002 ***
## `C.DOCE DE OCTUBRE` -0.2053388 0.0730622 -2.810 0.004950 **
## `C.EL POBLADO` 5.0212183 0.0730622 68.725 < 0.0000000000000002 ***
## C.GUAYABAL 3.0643395 0.0730622 41.941 < 0.0000000000000002 ***
## `C.LA AMERICA` 0.7973990 0.0730622 10.914 < 0.0000000000000002 ***
## `C.LA CANDELARIA` 12.1218344 0.0730622 165.911 < 0.0000000000000002 ***
## C.LAURELES 6.0355921 0.0730622 82.609 < 0.0000000000000002 ***
## C.MANRIQUE -0.0054757 0.0730622 -0.075 0.940258
## C.PALMITAS -0.8740589 0.0730622 -11.963 < 0.0000000000000002 ***
## C.POPULAR -0.4647502 0.0730622 -6.361 0.000000000203125174 ***
## C.ROBLEDO 1.7104723 0.0730622 23.411 < 0.0000000000000002 ***
## `C.SAN ANTONIO DE PRADO` -0.5790554 0.0730622 -7.926 0.000000000000002345 ***
## `C.SAN CRISTOBAL` -0.5913758 0.0730622 -8.094 0.000000000000000597 ***
## `C.SAN JAVIER` -0.2970568 0.0730622 -4.066 0.000047981311357231 ***
## `C.SANTA CRUZ` -0.4250513 0.0730622 -5.818 0.000000006024402795 ***
## `C.SANTA ELENA` -0.7515400 0.0730622 -10.286 < 0.0000000000000002 ***
## `C.VIA LAS PALMAS ` -0.8583162 0.0730622 -11.748 < 0.0000000000000002 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.975 on 32017 degrees of freedom
## Multiple R-squared: 0.7137, Adjusted R-squared: 0.7126
## F-statistic: 643.6 on 124 and 32017 DF, p-value: < 0.00000000000000022
## 32143 32144 32145 32146 32147 32148
## 0.5034446 -1.3541871 -1.9311892 -0.3610317 -1.8716409 -1.6485061
##
## Call:
## glm(formula = Y1 ~ . - AÑO, family = "poisson", data = Cdatos_tr1)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -4.3054 -0.8431 -0.2644 0.4418 4.8178
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -0.080624 0.080816 -0.998 0.318462
## MES1 -0.388916 0.076300 -5.097 0.000000344730065822 ***
## MES2 -0.367115 0.086477 -4.245 0.000021834790775038 ***
## MES3 -0.325144 0.093395 -3.481 0.000499 ***
## MES4 -0.490832 0.098379 -4.989 0.000000606250770652 ***
## MES5 -0.424429 0.101009 -4.202 0.000026470087127256 ***
## MES6 -0.328412 0.100576 -3.265 0.001093 **
## MES7 -0.344432 0.097113 -3.547 0.000390 ***
## MES8 -0.294333 0.091914 -3.202 0.001364 **
## MES9 -0.180816 0.082825 -2.183 0.029028 *
## MES10 -0.041393 0.070001 -0.591 0.554308
## MES11 -0.111003 0.052818 -2.102 0.035586 *
## DIAM02 -0.012397 0.029689 -0.418 0.676258
## DIAM03 0.006543 0.029780 0.220 0.826090
## DIAM04 -0.022760 0.030123 -0.756 0.449901
## DIAM05 0.040280 0.030195 1.334 0.182205
## DIAM06 0.039347 0.030841 1.276 0.202024
## DIAM07 0.090433 0.031144 2.904 0.003687 **
## DIAM08 -0.003074 0.032277 -0.095 0.924135
## DIAM09 -0.026832 0.032401 -0.828 0.407599
## DIAM10 0.048046 0.032222 1.491 0.135938
## DIAM11 0.005578 0.032906 0.170 0.865392
## DIAM12 0.022350 0.033277 0.672 0.501806
## DIAM13 0.002699 0.033615 0.080 0.936009
## DIAM14 0.039631 0.033389 1.187 0.235248
## DIAM15 0.034839 0.033549 1.038 0.299059
## DIAM16 0.071430 0.033326 2.143 0.032082 *
## DIAM17 0.107922 0.033256 3.245 0.001174 **
## DIAM18 0.073386 0.033482 2.192 0.028396 *
## DIAM19 0.033644 0.033566 1.002 0.316181
## DIAM20 0.042063 0.033506 1.255 0.209344
## DIAM21 0.031426 0.033045 0.951 0.341604
## DIAM22 0.014917 0.032953 0.453 0.650778
## DIAM23 0.064015 0.032404 1.976 0.048207 *
## DIAM24 0.016670 0.032153 0.518 0.604143
## DIAM25 0.034670 0.031944 1.085 0.277769
## DIAM26 0.011090 0.031666 0.350 0.726172
## DIAM27 -0.007841 0.030928 -0.254 0.799868
## DIAM28 0.063783 0.029908 2.133 0.032956 *
## DIAM29 0.027389 0.030493 0.898 0.369081
## DIAM30 0.009838 0.030617 0.321 0.747959
## DIAM31 -0.027784 0.037712 -0.737 0.461280
## SEM02 0.244909 0.049611 4.937 0.000000795054660483 ***
## SEM03 0.363448 0.049070 7.407 0.000000000000129399 ***
## SEM04 0.446262 0.047777 9.340 < 0.0000000000000002 ***
## SEM05 0.451942 0.052630 8.587 < 0.0000000000000002 ***
## SEM06 0.445096 0.068509 6.497 0.000000000081990686 ***
## SEM07 0.530435 0.069176 7.668 0.000000000000017482 ***
## SEM08 0.441837 0.069688 6.340 0.000000000229493445 ***
## SEM09 0.462442 0.071051 6.509 0.000000000075839744 ***
## SEM10 0.495891 0.082264 6.028 0.000000001659767693 ***
## SEM11 0.434954 0.083897 5.184 0.000000216739278993 ***
## SEM12 0.408684 0.085096 4.803 0.000001565817576961 ***
## SEM13 0.466435 0.083131 5.611 0.000000020131444485 ***
## SEM14 0.655751 0.091024 7.204 0.000000000000584171 ***
## SEM15 0.684864 0.094890 7.217 0.000000000000529708 ***
## SEM16 0.527317 0.096176 5.483 0.000000041851004165 ***
## SEM17 0.682982 0.094465 7.230 0.000000000000483045 ***
## SEM18 0.659381 0.095107 6.933 0.000000000004118527 ***
## SEM19 0.567162 0.100492 5.644 0.000000016627672525 ***
## SEM20 0.559548 0.101511 5.512 0.000000035434065128 ***
## SEM21 0.555769 0.101922 5.453 0.000000049563598802 ***
## SEM22 0.497399 0.099350 5.007 0.000000554158549800 ***
## SEM23 0.460264 0.104544 4.403 0.000010696870342624 ***
## SEM24 0.434122 0.105686 4.108 0.000039970296468175 ***
## SEM25 0.369219 0.106428 3.469 0.000522 ***
## SEM26 0.360838 0.104163 3.464 0.000532 ***
## SEM27 0.434970 0.104890 4.147 0.000033698881324250 ***
## SEM28 0.446922 0.106734 4.187 0.000028233650563926 ***
## SEM29 0.473180 0.107496 4.402 0.000010734273986619 ***
## SEM30 0.507889 0.107193 4.738 0.000002157640912379 ***
## SEM31 0.561419 0.102699 5.467 0.000000045861908700 ***
## SEM32 0.553650 0.105413 5.252 0.000000150284076085 ***
## SEM33 0.427253 0.106584 4.009 0.000061081198252170 ***
## SEM34 0.364654 0.107375 3.396 0.000684 ***
## SEM35 0.360676 0.102965 3.503 0.000460 ***
## SEM36 0.318682 0.101956 3.126 0.001774 **
## SEM37 0.346574 0.103196 3.358 0.000784 ***
## SEM38 0.344382 0.103736 3.320 0.000901 ***
## SEM39 0.245890 0.102343 2.403 0.016279 *
## SEM40 0.270840 0.095011 2.851 0.004363 **
## SEM41 0.129251 0.097252 1.329 0.183839
## SEM42 0.130546 0.098628 1.324 0.185629
## SEM43 0.167826 0.098290 1.707 0.087737 .
## SEM44 0.242256 0.091199 2.656 0.007899 **
## SEM45 0.187456 0.090687 2.067 0.038729 *
## SEM46 0.275654 0.091408 3.016 0.002564 **
## SEM47 0.250016 0.092121 2.714 0.006648 **
## SEM48 0.250041 0.085507 2.924 0.003453 **
## SEM49 0.232934 0.077764 2.995 0.002741 **
## SEM50 0.218788 0.079833 2.741 0.006133 **
## SEM51 0.225640 0.080605 2.799 0.005121 **
## SEM52 -0.025838 0.081070 -0.319 0.749944
## SEM53 -0.014769 0.086246 -0.171 0.864032
## DIASMon -0.074094 0.013445 -5.511 0.000000035744897887 ***
## DIASSat -0.185298 0.013183 -14.055 < 0.0000000000000002 ***
## DIASSun -0.836798 0.016380 -51.087 < 0.0000000000000002 ***
## DIASThu -0.105563 0.012980 -8.133 0.000000000000000419 ***
## DIASTue -0.047594 0.012729 -3.739 0.000185 ***
## DIASWed -0.095321 0.012907 -7.385 0.000000000000152449 ***
## FESTIVO1 -0.827715 0.026337 -31.428 < 0.0000000000000002 ***
## MADRE1 0.331481 0.084613 3.918 0.000089428352011632 ***
## DIC311 -0.425299 0.110764 -3.840 0.000123 ***
## SSANTA1 -0.200953 0.036552 -5.498 0.000000038460007307 ***
## C.ALTAVISTA -2.624357 0.107388 -24.438 < 0.0000000000000002 ***
## C.ARANJUEZ 1.021402 0.032559 31.371 < 0.0000000000000002 ***
## C.BELEN 1.381215 0.031229 44.228 < 0.0000000000000002 ***
## `C.BUENOS AIRES` 0.583708 0.034845 16.751 < 0.0000000000000002 ***
## C.CASTILLA 1.687812 0.030390 55.538 < 0.0000000000000002 ***
## `C.DOCE DE OCTUBRE` -0.266347 0.042388 -6.284 0.000000000330827051 ***
## `C.EL POBLADO` 1.904768 0.029924 63.654 < 0.0000000000000002 ***
## C.GUAYABAL 1.501736 0.030871 48.645 < 0.0000000000000002 ***
## `C.LA AMERICA` 0.646070 0.034466 18.745 < 0.0000000000000002 ***
## `C.LA CANDELARIA` 2.694869 0.028846 93.424 < 0.0000000000000002 ***
## C.LAURELES 2.063433 0.029638 69.621 < 0.0000000000000002 ***
## C.MANRIQUE -0.006255 0.039544 -0.158 0.874319
## C.PALMITAS -5.365197 0.409171 -13.112 < 0.0000000000000002 ***
## C.POPULAR -0.753382 0.049346 -15.267 < 0.0000000000000002 ***
## C.ROBLEDO 1.081052 0.032308 33.460 < 0.0000000000000002 ***
## `C.SAN ANTONIO DE PRADO` -1.077023 0.055387 -19.445 < 0.0000000000000002 ***
## `C.SAN CRISTOBAL` -1.119085 0.056268 -19.889 < 0.0000000000000002 ***
## `C.SAN JAVIER` -0.412897 0.044241 -9.333 < 0.0000000000000002 ***
## `C.SANTA CRUZ` -0.661691 0.047854 -13.827 < 0.0000000000000002 ***
## `C.SANTA ELENA` -1.936601 0.078644 -24.625 < 0.0000000000000002 ***
## `C.VIA LAS PALMAS ` -3.789661 0.187782 -20.181 < 0.0000000000000002 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for poisson family taken to be 1)
##
## Null deviance: 141014 on 32141 degrees of freedom
## Residual deviance: 32637 on 32017 degrees of freedom
## AIC: 86731
##
## Number of Fisher Scoring iterations: 7
## 32143 32144 32145 32146 32147 32148
## -0.3499469 -1.7842458 -6.7365456 -0.7876406 -3.9957055 -2.4904341
PseudoR2 0.7922805
Cxtrain<-model.matrix(Y1 ~ .-AÑO,Cdatos_tr1)[,-4]
Cytrain<-Cdatos_tr1$Y1
Classo_1<-glmnet(Cxtrain,
Cytrain,
standardize = FALSE,
alpha=1,
family = "poisson"
)
Classo_1##
## Call: glmnet(x = Cxtrain, y = Cytrain, family = "poisson", alpha = 1, standardize = FALSE)
##
## Df %Dev Lambda
## 1 0 0.00 0.48560
## 2 1 7.70 0.44250
## 3 1 12.59 0.40320
## 4 1 15.96 0.36740
## 5 1 18.40 0.33470
## 6 1 20.21 0.30500
## 7 1 21.59 0.27790
## 8 1 22.66 0.25320
## 9 1 23.50 0.23070
## 10 2 25.49 0.21020
## 11 2 27.82 0.19150
## 12 3 30.15 0.17450
## 13 4 33.09 0.15900
## 14 4 35.66 0.14490
## 15 5 37.96 0.13200
## 16 5 40.71 0.12030
## 17 5 42.90 0.10960
## 18 6 45.12 0.09987
## 19 6 47.33 0.09100
## 20 7 49.70 0.08292
## 21 7 51.82 0.07555
## 22 7 53.56 0.06884
## 23 8 55.12 0.06272
## 24 11 56.63 0.05715
## 25 13 58.53 0.05207
## 26 14 60.43 0.04745
## 27 14 62.10 0.04323
## 28 14 63.53 0.03939
## 29 15 64.78 0.03589
## 30 17 65.96 0.03270
## 31 17 67.00 0.02980
## 32 20 68.00 0.02715
## 33 22 68.97 0.02474
## 34 22 69.91 0.02254
## 35 22 70.73 0.02054
## 36 22 71.44 0.01871
## 37 22 72.06 0.01705
## 38 22 72.60 0.01554
## 39 23 73.08 0.01416
## 40 24 73.49 0.01290
## 41 24 73.86 0.01175
## 42 24 74.18 0.01071
## 43 25 74.45 0.00976
## 44 26 74.70 0.00889
## 45 27 74.92 0.00810
## 46 27 75.12 0.00738
## 47 29 75.29 0.00673
## 48 29 75.45 0.00613
## 49 32 75.59 0.00558
## 50 34 75.72 0.00509
## 51 36 75.83 0.00464
## 52 37 75.93 0.00422
## 53 40 76.02 0.00385
## 54 43 76.10 0.00351
## 55 45 76.18 0.00319
## 56 48 76.24 0.00291
## 57 55 76.30 0.00265
## 58 59 76.36 0.00242
## 59 63 76.41 0.00220
## 60 71 76.46 0.00201
## 61 72 76.50 0.00183
## 62 74 76.54 0.00167
## 63 77 76.57 0.00152
## 64 82 76.60 0.00138
## 65 86 76.63 0.00126
## 66 90 76.65 0.00115
## 67 90 76.68 0.00105
## 68 92 76.69 0.00095
## 69 94 76.71 0.00087
## 70 94 76.72 0.00079
## 71 97 76.73 0.00072
## 72 104 76.74 0.00066
## 73 104 76.75 0.00060
## 74 108 76.76 0.00055
## 75 109 76.77 0.00050
## 76 109 76.78 0.00045
## 77 109 76.78 0.00041
## 78 110 76.79 0.00038
## 79 111 76.80 0.00034
## 80 112 76.80 0.00031
## 81 116 76.80 0.00028
## 82 116 76.81 0.00026
## 83 117 76.81 0.00024
## 84 117 76.81 0.00022
## 85 114 76.82 0.00020
## 86 114 76.82 0.00018
## 87 115 76.82 0.00016
## 88 117 76.82 0.00015
PseudoR2 1
Se renombran algunas columnas para que el encabezado quede sin espacios, pues esto generaba un error al momento de correr el RF en el que decía no encontrar objetos con esos nombres
names (Cdatos_tr1)[111-3] = "BA"
names (Cdatos_tr1)[113-3] = "DDO"
names (Cdatos_tr1)[114-3] = "POBLADO"
names (Cdatos_tr1)[116-3] = "AMERICA"
names (Cdatos_tr1)[117-3] = "CANDELARIA"
names (Cdatos_tr1)[123-3] = "SAPRADO"
names (Cdatos_tr1)[124-3] = "CRISTOBAL"
names (Cdatos_tr1)[125-3] = "JAVIER"
names (Cdatos_tr1)[126-3] = "SCRUZ"
names (Cdatos_tr1)[127-3] = "ELENA"
names (Cdatos_tr1)[128-3] = "PALMAS"
names (Cdatos_tr1)[129-3] = "Y1"Cmodelo_rf_1<-randomForest(Y1~.-AÑO,data=Cdatos_tr1 ,importance=FALSE,ntree=500,mtry=4)
Cmodelo_rf_1##
## Call:
## randomForest(formula = Y1 ~ . - AÑO, data = Cdatos_tr1, importance = FALSE, ntree = 500, mtry = 4)
## Type of random forest: regression
## Number of trees: 500
## No. of variables tried at each split: 4
##
## Mean of squared residuals: 4.577186
## % Var explained: 66.26
names (Cdatos_vl1)[111-3] = "BA"
names (Cdatos_vl1)[113-3] = "DDO"
names (Cdatos_vl1)[114-3] = "POBLADO"
names (Cdatos_vl1)[116-3] = "AMERICA"
names (Cdatos_vl1)[117-3] = "CANDELARIA"
names (Cdatos_vl1)[123-3] = "SAPRADO"
names (Cdatos_vl1)[124-3] = "CRISTOBAL"
names (Cdatos_vl1)[125-3] = "JAVIER"
names (Cdatos_vl1)[126-3] = "SCRUZ"
names (Cdatos_vl1)[127-3] = "ELENA"
names (Cdatos_vl1)[128-3] = "PALMAS"## 32143 32144 32145 32146 32147 32148
## 1.4787022 0.8531738 0.5742672 1.2725426 0.6096879 0.7662062
Paquete h2o: h2o es un paquete que sirve para aprendizaje de máquinas y análisis predictivo, esto incluye funciones para crear redes neuronales artificiales y modelos de deep learning, permitiendo cambiar funciones de activación, distribuciones, capas ocultas, neuronas, entre otros.
Cmodelo = h2o.deeplearning(
y = 'Y1',
training_frame = as.h2o(Cdatos_tr1),
hidden = c(2,2),
epochs = 10,
)## Warning in use.package("data.table"): data.table cannot be used without R
## package bit64 version 0.9.7 or higher. Please upgrade to take advangage of
## data.table speedups.
##
|
| | 0%
|
|======================================================================| 100%
##
|
| | 0%
|
|======= | 10%
|
|======================================================================| 100%
## Warning in use.package("data.table"): data.table cannot be used without R
## package bit64 version 0.9.7 or higher. Please upgrade to take advangage of
## data.table speedups.
##
|
| | 0%
|
|======================================================================| 100%
##
|
| | 0%
|
|======================================================================| 100%
Partición de la data para entrenamiento y validación
Cdatos_tr2<-subset(DataF2,subset=(AÑO<"2018"))
Cdatos_vl2<-subset(DataF2,subset=(AÑO>="2018") & (AÑO<"2019"))##
## Call:
## lm(formula = Y1 ~ . - AÑO, data = Cdatos_tr2)
##
## Residuals:
## Min 1Q Median 3Q Max
## -10.3317 -0.9883 -0.2016 0.8270 15.3114
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.78986 0.19812 9.034 < 0.0000000000000002 ***
## MES1 0.09531 0.17894 0.533 0.594298
## MES2 0.51487 0.22082 2.332 0.019727 *
## MES3 0.41462 0.24970 1.660 0.096826 .
## MES4 0.13596 0.26829 0.507 0.612330
## MES5 0.14783 0.28086 0.526 0.598643
## MES6 -0.17035 0.28263 -0.603 0.546699
## MES7 -0.16852 0.27771 -0.607 0.543978
## MES8 0.34952 0.26429 1.322 0.186020
## MES9 0.40767 0.24111 1.691 0.090888 .
## MES10 0.22069 0.20766 1.063 0.287908
## MES11 0.36823 0.15852 2.323 0.020188 *
## DIAM02 -0.30041 0.08458 -3.552 0.000383 ***
## DIAM03 -0.16303 0.08543 -1.908 0.056367 .
## DIAM04 -0.16280 0.08654 -1.881 0.059963 .
## DIAM05 -0.09350 0.08736 -1.070 0.284481
## DIAM06 -0.18689 0.08869 -2.107 0.035101 *
## DIAM07 -0.07935 0.08991 -0.883 0.377486
## DIAM08 -0.13937 0.09125 -1.527 0.126692
## DIAM09 -0.18337 0.09207 -1.992 0.046429 *
## DIAM10 -0.11388 0.09330 -1.221 0.222225
## DIAM11 -0.10353 0.09467 -1.094 0.274154
## DIAM12 -0.22070 0.09505 -2.322 0.020249 *
## DIAM13 -0.18629 0.09544 -1.952 0.050953 .
## DIAM14 -0.17079 0.09609 -1.777 0.075501 .
## DIAM15 -0.03472 0.09619 -0.361 0.718114
## DIAM16 -0.08340 0.09600 -0.869 0.384978
## DIAM17 -0.11064 0.09573 -1.156 0.247748
## DIAM18 0.01733 0.09618 0.180 0.857028
## DIAM19 -0.14020 0.09608 -1.459 0.144519
## DIAM20 -0.14456 0.09503 -1.521 0.128238
## DIAM21 -0.05877 0.09459 -0.621 0.534389
## DIAM22 -0.21844 0.09427 -2.317 0.020496 *
## DIAM23 -0.21651 0.09277 -2.334 0.019611 *
## DIAM24 -0.26699 0.09155 -2.916 0.003543 **
## DIAM25 -0.19282 0.09059 -2.128 0.033311 *
## DIAM26 -0.26328 0.08981 -2.931 0.003377 **
## DIAM27 -0.20788 0.08822 -2.356 0.018463 *
## DIAM28 -0.19091 0.08695 -2.196 0.028125 *
## DIAM29 -0.21701 0.08743 -2.482 0.013061 *
## DIAM30 -0.24835 0.08748 -2.839 0.004530 **
## DIAM31 -0.20541 0.10790 -1.904 0.056949 .
## SEM02 0.01913 0.11807 0.162 0.871315
## SEM03 0.46401 0.12200 3.803 0.000143 ***
## SEM04 0.44553 0.12048 3.698 0.000218 ***
## SEM05 0.41069 0.14018 2.930 0.003395 **
## SEM06 0.37849 0.18780 2.015 0.043871 *
## SEM07 0.20163 0.19128 1.054 0.291824
## SEM08 0.31924 0.19173 1.665 0.095920 .
## SEM09 0.32136 0.19830 1.621 0.105121
## SEM10 0.53067 0.23244 2.283 0.022434 *
## SEM11 0.50144 0.23638 2.121 0.033902 *
## SEM12 0.33831 0.23832 1.420 0.155748
## SEM13 0.55345 0.23314 2.374 0.017610 *
## SEM14 0.73608 0.25691 2.865 0.004170 **
## SEM15 0.63725 0.26711 2.386 0.017053 *
## SEM16 0.55983 0.26888 2.082 0.037346 *
## SEM17 0.76455 0.26554 2.879 0.003990 **
## SEM18 0.65123 0.26955 2.416 0.015698 *
## SEM19 0.62117 0.28506 2.179 0.029330 *
## SEM20 0.61682 0.28771 2.144 0.032051 *
## SEM21 0.69639 0.28808 2.417 0.015637 *
## SEM22 0.70685 0.27921 2.532 0.011360 *
## SEM23 1.07634 0.29525 3.645 0.000267 ***
## SEM24 0.94722 0.29824 3.176 0.001495 **
## SEM25 0.78545 0.29938 2.624 0.008705 **
## SEM26 0.64459 0.29264 2.203 0.027624 *
## SEM27 0.87989 0.29452 2.988 0.002815 **
## SEM28 0.92253 0.30126 3.062 0.002199 **
## SEM29 0.96210 0.30360 3.169 0.001531 **
## SEM30 1.05730 0.30295 3.490 0.000484 ***
## SEM31 0.95427 0.28811 3.312 0.000927 ***
## SEM32 0.57296 0.29692 1.930 0.053658 .
## SEM33 0.49579 0.29956 1.655 0.097919 .
## SEM34 0.46408 0.30040 1.545 0.122380
## SEM35 0.70794 0.28772 2.461 0.013879 *
## SEM36 0.35291 0.28486 1.239 0.215395
## SEM37 0.56107 0.28846 1.945 0.051781 .
## SEM38 0.50455 0.28981 1.741 0.081696 .
## SEM39 0.47638 0.28292 1.684 0.092237 .
## SEM40 0.64918 0.26371 2.462 0.013831 *
## SEM41 0.26301 0.26875 0.979 0.327773
## SEM42 0.52721 0.27162 1.941 0.052270 .
## SEM43 0.59669 0.27114 2.201 0.027763 *
## SEM44 0.40347 0.24576 1.642 0.100657
## SEM45 0.24612 0.24298 1.013 0.311107
## SEM46 0.26311 0.24622 1.069 0.285260
## SEM47 0.29407 0.24721 1.190 0.234222
## SEM48 0.39224 0.22400 1.751 0.079949 .
## SEM49 0.58628 0.19610 2.990 0.002795 **
## SEM50 0.62145 0.20086 3.094 0.001977 **
## SEM51 0.74425 0.20300 3.666 0.000246 ***
## SEM52 0.52865 0.19351 2.732 0.006300 **
## SEM53 -0.05574 0.19395 -0.287 0.773828
## DIASMon -0.01129 0.04140 -0.273 0.785004
## DIASSat -0.17206 0.04035 -4.264 0.000020156299301178 ***
## DIASSun -0.78123 0.04054 -19.273 < 0.0000000000000002 ***
## DIASThu -0.00673 0.04029 -0.167 0.867358
## DIASTue -0.04363 0.04036 -1.081 0.279715
## DIASWed -0.04115 0.04036 -1.020 0.307944
## FESTIVO1 -0.79705 0.05591 -14.257 < 0.0000000000000002 ***
## MADRE1 0.23927 0.21970 1.089 0.276123
## DIC311 -0.06703 0.24554 -0.273 0.784875
## SSANTA1 -0.47545 0.09136 -5.204 0.000000196019048271 ***
## C.ALTAVISTA -1.96646 0.07135 -27.560 < 0.0000000000000002 ***
## C.ARANJUEZ 2.29090 0.07135 32.107 < 0.0000000000000002 ***
## C.BELEN 2.05955 0.07135 28.865 < 0.0000000000000002 ***
## `C.BUENOS AIRES` 0.57563 0.07135 8.068 0.000000000000000742 ***
## C.CASTILLA 4.67967 0.07135 65.586 < 0.0000000000000002 ***
## `C.DOCE DE OCTUBRE` 0.36756 0.07135 5.151 0.000000260179150291 ***
## `C.EL POBLADO` 1.38330 0.07135 19.387 < 0.0000000000000002 ***
## C.GUAYABAL 2.28884 0.07135 32.078 < 0.0000000000000002 ***
## `C.LA AMERICA` 0.01369 0.07135 0.192 0.847856
## `C.LA CANDELARIA` 9.11567 0.07135 127.757 < 0.0000000000000002 ***
## C.LAURELES 4.24641 0.07135 59.514 < 0.0000000000000002 ***
## C.MANRIQUE 0.55989 0.07135 7.847 0.000000000000004397 ***
## C.PALMITAS -2.17591 0.07135 -30.495 < 0.0000000000000002 ***
## C.POPULAR -0.92745 0.07135 -12.998 < 0.0000000000000002 ***
## C.ROBLEDO 2.88433 0.07135 40.424 < 0.0000000000000002 ***
## `C.SAN ANTONIO DE PRADO` -1.61054 0.07135 -22.572 < 0.0000000000000002 ***
## `C.SAN CRISTOBAL` -1.32375 0.07135 -18.552 < 0.0000000000000002 ***
## `C.SAN JAVIER` -0.58864 0.07135 -8.250 < 0.0000000000000002 ***
## `C.SANTA CRUZ` -1.08556 0.07135 -15.214 < 0.0000000000000002 ***
## `C.SANTA ELENA` -1.80356 0.07135 -25.277 < 0.0000000000000002 ***
## `C.VIA LAS PALMAS ` -2.11910 0.07135 -29.699 < 0.0000000000000002 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.928 on 32017 degrees of freedom
## Multiple R-squared: 0.6657, Adjusted R-squared: 0.6644
## F-statistic: 514.2 on 124 and 32017 DF, p-value: < 0.00000000000000022
## 32143 32144 32145 32146 32147 32148
## 3.3677177 0.4881832 -1.0990858 1.6524542 -0.8896403 -0.2469298
MSE: 3.7045683
RMSE: 1.9247255
MSE: 3.3758217
RMSE: 1.8373409
## [1] 2.661395
## [1] 8.874087
##
## Call:
## glm(formula = Y1 ~ . - AÑO, family = "poisson", data = Cdatos_tr2)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -4.0074 -0.8797 -0.2169 0.5182 4.6045
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) 0.631217 0.067706 9.323 < 0.0000000000000002 ***
## MES1 0.009780 0.062956 0.155 0.876548
## MES2 0.156588 0.072974 2.146 0.031888 *
## MES3 0.128714 0.079983 1.609 0.107559
## MES4 0.034057 0.084652 0.402 0.687450
## MES5 0.045193 0.087667 0.516 0.606200
## MES6 -0.060756 0.087633 -0.693 0.488118
## MES7 -0.061795 0.085204 -0.725 0.468293
## MES8 0.102728 0.080779 1.272 0.203476
## MES9 0.128074 0.074003 1.731 0.083511 .
## MES10 0.073861 0.064213 1.150 0.250037
## MES11 0.128846 0.049699 2.593 0.009527 **
## DIAM02 -0.098533 0.025741 -3.828 0.000129 ***
## DIAM03 -0.052529 0.025688 -2.045 0.040862 *
## DIAM04 -0.052890 0.025933 -2.040 0.041399 *
## DIAM05 -0.030064 0.026125 -1.151 0.249815
## DIAM06 -0.058620 0.026755 -2.191 0.028452 *
## DIAM07 -0.019430 0.027021 -0.719 0.472096
## DIAM08 -0.041814 0.027598 -1.515 0.129743
## DIAM09 -0.056785 0.027858 -2.038 0.041510 *
## DIAM10 -0.033543 0.028064 -1.195 0.231994
## DIAM11 -0.031387 0.028452 -1.103 0.269962
## DIAM12 -0.069105 0.028898 -2.391 0.016789 *
## DIAM13 -0.058481 0.028995 -2.017 0.043702 *
## DIAM14 -0.050521 0.029059 -1.739 0.082113 .
## DIAM15 -0.005315 0.028911 -0.184 0.854129
## DIAM16 -0.020875 0.028907 -0.722 0.470213
## DIAM17 -0.030515 0.028964 -1.054 0.292093
## DIAM18 0.011639 0.028798 0.404 0.686092
## DIAM19 -0.040120 0.028999 -1.384 0.166507
## DIAM20 -0.042296 0.028853 -1.466 0.142674
## DIAM21 -0.013514 0.028378 -0.476 0.633916
## DIAM22 -0.067173 0.028534 -2.354 0.018564 *
## DIAM23 -0.065631 0.028168 -2.330 0.019805 *
## DIAM24 -0.083751 0.027834 -3.009 0.002622 **
## DIAM25 -0.061209 0.027490 -2.227 0.025975 *
## DIAM26 -0.083113 0.027308 -3.044 0.002338 **
## DIAM27 -0.063732 0.026608 -2.395 0.016611 *
## DIAM28 -0.058610 0.026162 -2.240 0.025074 *
## DIAM29 -0.069256 0.026485 -2.615 0.008924 **
## DIAM30 -0.075873 0.026500 -2.863 0.004194 **
## DIAM31 -0.062440 0.032585 -1.916 0.055335 .
## SEM02 0.009859 0.040285 0.245 0.806665
## SEM03 0.185069 0.039765 4.654 0.000003254412 ***
## SEM04 0.177809 0.039488 4.503 0.000006704874 ***
## SEM05 0.167904 0.045064 3.726 0.000195 ***
## SEM06 0.152610 0.058092 2.627 0.008613 **
## SEM07 0.093801 0.059379 1.580 0.114175
## SEM08 0.131077 0.059430 2.206 0.027416 *
## SEM09 0.132761 0.061166 2.170 0.029969 *
## SEM10 0.196599 0.071129 2.764 0.005710 **
## SEM11 0.185241 0.072425 2.558 0.010537 *
## SEM12 0.132296 0.073507 1.800 0.071898 .
## SEM13 0.202336 0.071781 2.819 0.004820 **
## SEM14 0.270107 0.078934 3.422 0.000622 ***
## SEM15 0.233082 0.082268 2.833 0.004609 **
## SEM16 0.207169 0.083003 2.496 0.012563 *
## SEM17 0.276150 0.081884 3.372 0.000745 ***
## SEM18 0.240359 0.082967 2.897 0.003767 **
## SEM19 0.223957 0.087746 2.552 0.010700 *
## SEM20 0.220262 0.088647 2.485 0.012965 *
## SEM21 0.248225 0.088890 2.793 0.005230 **
## SEM22 0.252164 0.086463 2.916 0.003540 **
## SEM23 0.375942 0.091194 4.122 0.000037485181 ***
## SEM24 0.332223 0.092273 3.600 0.000318 ***
## SEM25 0.275609 0.092896 2.967 0.003009 **
## SEM26 0.223323 0.091022 2.453 0.014148 *
## SEM27 0.313558 0.091516 3.426 0.000612 ***
## SEM28 0.324764 0.093381 3.478 0.000505 ***
## SEM29 0.334754 0.094122 3.557 0.000376 ***
## SEM30 0.369976 0.093937 3.939 0.000081976498 ***
## SEM31 0.334207 0.089774 3.723 0.000197 ***
## SEM32 0.219502 0.092393 2.376 0.017514 *
## SEM33 0.190118 0.093261 2.039 0.041495 *
## SEM34 0.181837 0.093751 1.940 0.052433 .
## SEM35 0.256982 0.090143 2.851 0.004360 **
## SEM36 0.139307 0.089735 1.552 0.120560
## SEM37 0.203679 0.090755 2.244 0.024814 *
## SEM38 0.183667 0.091352 2.011 0.044375 *
## SEM39 0.177031 0.089925 1.969 0.048993 *
## SEM40 0.229846 0.084351 2.725 0.006433 **
## SEM41 0.096239 0.086445 1.113 0.265585
## SEM42 0.187744 0.087297 2.151 0.031505 *
## SEM43 0.209717 0.087283 2.403 0.016273 *
## SEM44 0.144931 0.080375 1.803 0.071358 .
## SEM45 0.087375 0.080070 1.091 0.275170
## SEM46 0.092746 0.081100 1.144 0.252788
## SEM47 0.102150 0.081648 1.251 0.210896
## SEM48 0.135377 0.075711 1.788 0.073764 .
## SEM49 0.207523 0.067221 3.087 0.002021 **
## SEM50 0.218502 0.068818 3.175 0.001498 **
## SEM51 0.255607 0.069419 3.682 0.000231 ***
## SEM52 0.182068 0.067675 2.690 0.007138 **
## SEM53 -0.047717 0.070035 -0.681 0.495657
## DIASMon -0.001337 0.012281 -0.109 0.913279
## DIASSat -0.056018 0.012016 -4.662 0.000003131925 ***
## DIASSun -0.289293 0.012916 -22.397 < 0.0000000000000002 ***
## DIASThu -0.002183 0.011882 -0.184 0.854243
## DIASTue -0.013498 0.011890 -1.135 0.256281
## DIASWed -0.012668 0.011896 -1.065 0.286942
## FESTIVO1 -0.311926 0.019033 -16.389 < 0.0000000000000002 ***
## MADRE1 0.100524 0.069478 1.447 0.147941
## DIC311 -0.037192 0.082435 -0.451 0.651870
## SSANTA1 -0.187296 0.030490 -6.143 0.000000000810 ***
## C.ALTAVISTA -2.331924 0.059586 -39.135 < 0.0000000000000002 ***
## C.ARANJUEZ 0.718744 0.021620 33.244 < 0.0000000000000002 ***
## C.BELEN 0.665587 0.021813 30.514 < 0.0000000000000002 ***
## `C.BUENOS AIRES` 0.234518 0.023724 9.885 < 0.0000000000000002 ***
## C.CASTILLA 1.146973 0.020349 56.365 < 0.0000000000000002 ***
## `C.DOCE DE OCTUBRE` 0.155945 0.024149 6.458 0.000000000106 ***
## `C.EL POBLADO` 0.491725 0.022505 21.850 < 0.0000000000000002 ***
## C.GUAYABAL 0.718284 0.021622 33.220 < 0.0000000000000002 ***
## `C.LA AMERICA` 0.006266 0.025031 0.250 0.802346
## `C.LA CANDELARIA` 1.645850 0.019362 85.006 < 0.0000000000000002 ***
## C.LAURELES 1.081709 0.020514 52.731 < 0.0000000000000002 ***
## C.MANRIQUE 0.228784 0.023754 9.631 < 0.0000000000000002 ***
## C.PALMITAS -6.966644 0.576386 -12.087 < 0.0000000000000002 ***
## C.POPULAR -0.554835 0.029353 -18.902 < 0.0000000000000002 ***
## C.ROBLEDO 0.843429 0.021201 39.783 < 0.0000000000000002 ***
## `C.SAN ANTONIO DE PRADO` -1.345045 0.038994 -34.494 < 0.0000000000000002 ***
## `C.SAN CRISTOBAL` -0.935968 0.033400 -28.023 < 0.0000000000000002 ***
## `C.SAN JAVIER` -0.315081 0.027293 -11.544 < 0.0000000000000002 ***
## `C.SANTA CRUZ` -0.690009 0.030673 -22.496 < 0.0000000000000002 ***
## `C.SANTA ELENA` -1.760816 0.046286 -38.042 < 0.0000000000000002 ***
## `C.VIA LAS PALMAS ` -3.610918 0.109280 -33.043 < 0.0000000000000002 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for poisson family taken to be 1)
##
## Null deviance: 112790 on 32141 degrees of freedom
## Residual deviance: 35272 on 32017 degrees of freedom
## AIC: 106039
##
## Number of Fisher Scoring iterations: 7
## 32143 32144 32145 32146 32147 32148
## 1.04647669 0.01265178 -6.63891090 0.56225079 -2.00419111 -0.60823483
PseudoR2: 0.692735
## [1] 14.55478
## [1] 3.815073
MSE: 14.5547812
RMSE: 3.8150729
## [1] 11.98201
## [1] 3.461504
MSE: 11.9820106
RMSE: 3.4615041
## [1] 17.67646
Cxtrain2<-model.matrix(Y1 ~ .-AÑO,Cdatos_tr2)[,-4]
Cytrain2<-Cdatos_tr2$Y1
Classo_2<-glmnet(Cxtrain2,
Cytrain2,
standardize = FALSE,
alpha=1,
family = "poisson"
)
Classo_2##
## Call: glmnet(x = Cxtrain2, y = Cytrain2, family = "poisson", alpha = 1, standardize = FALSE)
##
## Df %Dev Lambda
## 1 0 0.00 0.37950
## 2 1 4.90 0.34580
## 3 1 8.28 0.31510
## 4 1 10.73 0.28710
## 5 1 12.55 0.26160
## 6 1 13.93 0.23830
## 7 1 15.00 0.21720
## 8 1 15.83 0.19790
## 9 2 17.12 0.18030
## 10 3 19.44 0.16430
## 11 3 22.13 0.14970
## 12 3 24.23 0.13640
## 13 3 25.88 0.12430
## 14 5 27.42 0.11320
## 15 6 29.90 0.10320
## 16 8 32.50 0.09401
## 17 11 35.68 0.08565
## 18 13 39.16 0.07805
## 19 13 42.32 0.07111
## 20 14 45.15 0.06479
## 21 14 47.62 0.05904
## 22 16 49.90 0.05379
## 23 17 52.03 0.04901
## 24 17 53.98 0.04466
## 25 18 55.68 0.04069
## 26 18 57.20 0.03708
## 27 18 58.53 0.03378
## 28 20 59.77 0.03078
## 29 20 60.85 0.02805
## 30 20 61.79 0.02556
## 31 20 62.60 0.02329
## 32 20 63.32 0.02122
## 33 20 63.94 0.01933
## 34 20 64.48 0.01762
## 35 21 64.95 0.01605
## 36 23 65.37 0.01462
## 37 24 65.76 0.01333
## 38 25 66.09 0.01214
## 39 25 66.39 0.01106
## 40 25 66.64 0.01008
## 41 25 66.87 0.00918
## 42 26 67.06 0.00837
## 43 27 67.24 0.00762
## 44 28 67.40 0.00695
## 45 28 67.54 0.00633
## 46 31 67.66 0.00577
## 47 32 67.77 0.00526
## 48 35 67.87 0.00479
## 49 37 67.96 0.00436
## 50 37 68.03 0.00398
## 51 39 68.10 0.00362
## 52 41 68.17 0.00330
## 53 44 68.22 0.00301
## 54 44 68.27 0.00274
## 55 48 68.32 0.00250
## 56 52 68.36 0.00228
## 57 60 68.40 0.00207
## 58 65 68.43 0.00189
## 59 69 68.46 0.00172
## 60 71 68.49 0.00157
## 61 73 68.52 0.00143
## 62 77 68.54 0.00130
## 63 79 68.56 0.00119
## 64 82 68.57 0.00108
## 65 85 68.59 0.00098
## 66 91 68.60 0.00090
## 67 94 68.61 0.00082
## 68 94 68.62 0.00074
## 69 95 68.63 0.00068
## 70 101 68.64 0.00062
## 71 104 68.65 0.00056
## 72 106 68.65 0.00051
## 73 106 68.66 0.00047
## 74 107 68.67 0.00043
## 75 107 68.67 0.00039
## 76 107 68.68 0.00035
## 77 106 68.68 0.00032
## 78 106 68.68 0.00029
## 79 107 68.69 0.00027
## 80 108 68.69 0.00024
## 81 110 68.69 0.00022
## 82 112 68.69 0.00020
## 83 112 68.70 0.00018
## 84 115 68.70 0.00017
## 85 113 68.70 0.00015
## 86 115 68.70 0.00014
## 87 117 68.70 0.00013
R2: 1
Se renombran algunas columnas para que el encabezado quede sin espacios, pues esto generaba un error al momento de correr el RF en el que decía no encontrar objetos con esos nombres
names (Cdatos_tr2)[111-3] = "BA"
names (Cdatos_tr2)[113-3] = "DDO"
names (Cdatos_tr2)[114-3] = "POBLADO"
names (Cdatos_tr2)[116-3] = "AMERICA"
names (Cdatos_tr2)[117-3] = "CANDELARIA"
names (Cdatos_tr2)[123-3] = "SAPRADO"
names (Cdatos_tr2)[124-3] = "CRISTOBAL"
names (Cdatos_tr2)[125-3] = "JAVIER"
names (Cdatos_tr2)[126-3] = "SCRUZ"
names (Cdatos_tr2)[127-3] = "ELENA"
names (Cdatos_tr2)[128-3] = "PALMAS"
names (Cdatos_tr2)[129-3] = "Y1"Cmodelo_rf_2<-randomForest(Y1~.-AÑO,data=Cdatos_tr2 ,importance=FALSE,ntree=500,mtry=4)
Cmodelo_rf_2##
## Call:
## randomForest(formula = Y1 ~ . - AÑO, data = Cdatos_tr2, importance = FALSE, ntree = 500, mtry = 4)
## Type of random forest: regression
## Number of trees: 500
## No. of variables tried at each split: 4
##
## Mean of squared residuals: 4.614542
## % Var explained: 58.36
MSE: 4.2288253
RMSE: 2.0564108
## [1] -0.001566256
## [1] -0.2872451
## [1] 3.761365
## [1] 1.939424
MSE: 3.7613651
RMSE: 1.9394239
## [1] 11.05414
Cmodelo2 = h2o.deeplearning(
y = 'Y1',
training_frame = as.h2o(Cdatos_tr2),
hidden = c(2,2),
epochs = 10
)## Warning in use.package("data.table"): data.table cannot be used without R
## package bit64 version 0.9.7 or higher. Please upgrade to take advangage of
## data.table speedups.
##
|
| | 0%
|
|======================================================================| 100%
##
|
| | 0%
|
|===================== | 30%
|
|======================================================================| 100%
## Warning in use.package("data.table"): data.table cannot be used without R
## package bit64 version 0.9.7 or higher. Please upgrade to take advangage of
## data.table speedups.
##
|
| | 0%
|
|======================================================================| 100%
##
|
| | 0%
|
|======================================================================| 100%
Modelos sin Comunas: El segundo grupo de modelos busca predecir la accidentalidad en la ciudad de Medellín teniendo en cuenta los espacios temporales diario, mensual y anual, además de considerar fechas especiales mencionadas anteriormente. En este grupo de modelos los datos no se diferencian para cada comuna sino que se tiene en cuenta el total de la ciudad, teniendo un único registro por día. La información arrojada por estos modelos se complementa con la información que arrojan los modelos de clasificación y agrupamiento (ver en la aplicación web).
Partición de la data para entrenamiento y validación
Cdatos_tr1<-subset(TipoIDum,subset=(AÑO<"2018"))
Cdatos_vl1<-subset(TipoIDum,subset=(AÑO>="2018") & (AÑO<"2019") )Se eliminan variables innecesarias para los modelos, pues estos no le asignan valores a éstas por considerarlas “singularidades” o redundantes dado que dependen de otras variables directamente, a continuación el porqué de cada una:
- FECHA: los datos de esta columna se reparten en las variables AÑO, MES, DIAM
- MES12: es el mes de diciembre y es 1 siempre y cuando los otros 11 meses sean 0.
- DIA.LAB1: anteriormente esta variable se creo asignandole valores de 1 siempre y cuando en la variable DIAS los valores fueran los correspondientes a sábados y domingos, por lo tanto, con la variable DIAS es suficiente para explicar esto.
- SEM1_21: esta variable depende directamente de la variable SEM, la unica diferencia es que toma valores de 1 tanto cuando la semana del año es la 1 como la 2, de resto es 0.
Cdatos_tr1<-select(Cdatos_tr1, -FECHA, -MES12, -DIA.LAB1, -SEM1_21)
Cdatos_vl1<-select(Cdatos_vl1, -FECHA, -MES12, -DIA.LAB1, -SEM1_21)##
## Call:
## lm(formula = ID ~ . - AÑO, data = Cdatos_tr1)
##
## Residuals:
## Min 1Q Median 3Q Max
## -37.754 -5.905 -0.446 5.784 39.658
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 48.62268 4.48759 10.835 < 0.0000000000000002 ***
## MES1 -5.96981 4.18479 -1.427 0.153939
## MES2 -6.02366 5.16424 -1.166 0.243651
## MES3 -5.57530 5.83949 -0.955 0.339870
## MES4 -14.22718 6.27444 -2.267 0.023518 *
## MES5 -11.66365 6.56834 -1.776 0.076000 .
## MES6 -8.29330 6.60968 -1.255 0.209796
## MES7 -9.15510 6.49464 -1.410 0.158875
## MES8 -8.06582 6.18083 -1.305 0.192123
## MES9 -3.75490 5.63875 -0.666 0.505581
## MES10 1.82517 4.85649 0.376 0.707109
## MES11 -4.02988 3.70714 -1.087 0.277204
## DIAM02 -1.48433 1.97793 -0.750 0.453116
## DIAM03 -0.61452 1.99799 -0.308 0.758457
## DIAM04 -2.00168 2.02397 -0.989 0.322844
## DIAM05 1.64587 2.04304 0.806 0.420618
## DIAM06 0.82777 2.07411 0.399 0.689884
## DIAM07 3.21072 2.10269 1.527 0.127005
## DIAM08 -1.66309 2.13400 -0.779 0.435922
## DIAM09 -2.50401 2.15326 -1.163 0.245077
## DIAM10 1.26768 2.18185 0.581 0.561331
## DIAM11 -0.82728 2.21404 -0.374 0.708722
## DIAM12 -0.15230 2.22297 -0.069 0.945390
## DIAM13 -1.26431 2.23203 -0.566 0.571187
## DIAM14 0.15852 2.24715 0.071 0.943773
## DIAM15 0.05212 2.24945 0.023 0.981518
## DIAM16 1.75957 2.24506 0.784 0.433322
## DIAM17 3.69262 2.23869 1.649 0.099285 .
## DIAM18 1.87038 2.24930 0.832 0.405816
## DIAM19 -0.16011 2.24704 -0.071 0.943206
## DIAM20 0.51227 2.22255 0.230 0.817747
## DIAM21 -0.42421 2.21212 -0.192 0.847955
## DIAM22 -1.11969 2.20454 -0.508 0.611605
## DIAM23 1.26004 2.16958 0.581 0.561487
## DIAM24 -1.11598 2.14099 -0.521 0.602280
## DIAM25 0.05278 2.11870 0.025 0.980130
## DIAM26 -1.48876 2.10045 -0.709 0.478582
## DIAM27 -2.29737 2.06318 -1.114 0.265686
## DIAM28 1.67210 2.03340 0.822 0.411040
## DIAM29 0.01073 2.04458 0.005 0.995812
## DIAM30 -1.45234 2.04588 -0.710 0.477898
## DIAM31 -3.22045 2.52331 -1.276 0.202076
## SEM02 7.41487 2.76123 2.685 0.007334 **
## SEM03 12.49180 2.85305 4.378 0.000012873264 ***
## SEM04 16.51538 2.81768 5.861 0.000000005757 ***
## SEM05 16.58505 3.27827 5.059 0.000000478986 ***
## SEM06 16.96405 4.39195 3.863 0.000118 ***
## SEM07 21.88765 4.47325 4.893 0.000001111862 ***
## SEM08 17.44958 4.48394 3.892 0.000104 ***
## SEM09 18.53528 4.63763 3.997 0.000067680574 ***
## SEM10 21.44240 5.43599 3.945 0.000084044920 ***
## SEM11 18.62773 5.52811 3.370 0.000774 ***
## SEM12 17.36256 5.57353 3.115 0.001877 **
## SEM13 20.90502 5.45241 3.834 0.000132 ***
## SEM14 29.62274 6.00815 4.930 0.000000921713 ***
## SEM15 31.48079 6.24683 5.039 0.000000529742 ***
## SEM16 24.02838 6.28829 3.821 0.000139 ***
## SEM17 32.32751 6.21016 5.206 0.000000223176 ***
## SEM18 29.86813 6.30380 4.738 0.000002383752 ***
## SEM19 25.98052 6.66649 3.897 0.000102 ***
## SEM20 26.10503 6.72858 3.880 0.000110 ***
## SEM21 25.80329 6.73707 3.830 0.000134 ***
## SEM22 22.80462 6.52984 3.492 0.000494 ***
## SEM23 21.60186 6.90495 3.128 0.001795 **
## SEM24 20.85842 6.97489 2.991 0.002835 **
## SEM25 18.01281 7.00140 2.573 0.010195 *
## SEM26 17.31899 6.84381 2.531 0.011499 *
## SEM27 20.22298 6.88783 2.936 0.003380 **
## SEM28 21.42966 7.04546 3.042 0.002398 **
## SEM29 23.73653 7.10005 3.343 0.000851 ***
## SEM30 25.14057 7.08501 3.548 0.000401 ***
## SEM31 28.70193 6.73790 4.260 0.000021873503 ***
## SEM32 27.81443 6.94399 4.006 0.000065232008 ***
## SEM33 22.14415 7.00566 3.161 0.001608 **
## SEM34 18.97454 7.02519 2.701 0.007001 **
## SEM35 19.00670 6.72875 2.825 0.004802 **
## SEM36 17.33208 6.66182 2.602 0.009377 **
## SEM37 19.45881 6.74614 2.884 0.003983 **
## SEM38 19.98032 6.77755 2.948 0.003253 **
## SEM39 14.44420 6.61657 2.183 0.029204 *
## SEM40 16.64528 6.16715 2.699 0.007041 **
## SEM41 9.65648 6.28514 1.536 0.124674
## SEM42 9.89653 6.35223 1.558 0.119476
## SEM43 12.25238 6.34093 1.932 0.053534 .
## SEM44 16.70415 5.74743 2.906 0.003716 **
## SEM45 14.67796 5.68254 2.583 0.009899 **
## SEM46 19.65641 5.75815 3.414 0.000660 ***
## SEM47 18.52830 5.78126 3.205 0.001383 **
## SEM48 18.80415 5.23866 3.589 0.000343 ***
## SEM49 18.39449 4.58611 4.011 0.000063782161 ***
## SEM50 18.30868 4.69749 3.898 0.000102 ***
## SEM51 20.27781 4.74740 4.271 0.000020782185 ***
## SEM52 7.30394 4.52551 1.614 0.106771
## SEM53 4.16214 4.53584 0.918 0.358985
## DIASMon -4.81455 0.96816 -4.973 0.000000743858 ***
## DIASSat -10.31018 0.94373 -10.925 < 0.0000000000000002 ***
## DIASSun -34.12394 0.94798 -35.996 < 0.0000000000000002 ***
## DIASThu -6.06955 0.94230 -6.441 0.000000000164 ***
## DIASTue -2.84912 0.94392 -3.018 0.002589 **
## DIASWed -5.52331 0.94381 -5.852 0.000000006076 ***
## FESTIVO1 -29.46684 1.30745 -22.538 < 0.0000000000000002 ***
## MADRE1 9.47853 5.13803 1.845 0.065287 .
## DIC311 -10.33799 5.74233 -1.800 0.072033 .
## SSANTA1 -7.85897 2.13656 -3.678 0.000244 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 9.615 on 1357 degrees of freedom
## Multiple R-squared: 0.6789, Adjusted R-squared: 0.6545
## F-statistic: 27.86 on 103 and 1357 DF, p-value: < 0.00000000000000022
## 1462 1463 1464 1465 1466 1467
## 8.37147 38.31941 36.51503 34.58163 44.29873 33.17045
MSE: 85.8752285
RMSE: 9.2668888
MSE: 114.9589831
RMSE: 10.7218927
*Media de datos de validación y variación
## [1] 51.99178
## [1] -33.86746
##
## Call:
## glm(formula = ID ~ . - AÑO, family = "poisson", data = Cdatos_tr1)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -6.2714 -0.8498 -0.0330 0.7809 5.6822
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) 3.980101 0.075929 52.419 < 0.0000000000000002 ***
## MES1 -0.388916 0.076300 -5.097 0.000000344728211772 ***
## MES2 -0.367115 0.086477 -4.245 0.000021834729732365 ***
## MES3 -0.325144 0.093395 -3.481 0.000499 ***
## MES4 -0.490832 0.098379 -4.989 0.000000606248038360 ***
## MES5 -0.424429 0.101009 -4.202 0.000026470013247498 ***
## MES6 -0.328412 0.100576 -3.265 0.001093 **
## MES7 -0.344432 0.097113 -3.547 0.000390 ***
## MES8 -0.294333 0.091914 -3.202 0.001364 **
## MES9 -0.180816 0.082825 -2.183 0.029028 *
## MES10 -0.041393 0.070001 -0.591 0.554308
## MES11 -0.111003 0.052818 -2.102 0.035586 *
## DIAM02 -0.012397 0.029689 -0.418 0.676258
## DIAM03 0.006543 0.029780 0.220 0.826090
## DIAM04 -0.022760 0.030123 -0.756 0.449901
## DIAM05 0.040280 0.030195 1.334 0.182205
## DIAM06 0.039347 0.030841 1.276 0.202024
## DIAM07 0.090433 0.031144 2.904 0.003687 **
## DIAM08 -0.003074 0.032277 -0.095 0.924135
## DIAM09 -0.026832 0.032401 -0.828 0.407599
## DIAM10 0.048046 0.032222 1.491 0.135938
## DIAM11 0.005578 0.032906 0.170 0.865392
## DIAM12 0.022350 0.033277 0.672 0.501806
## DIAM13 0.002699 0.033615 0.080 0.936009
## DIAM14 0.039631 0.033389 1.187 0.235248
## DIAM15 0.034839 0.033549 1.038 0.299059
## DIAM16 0.071430 0.033326 2.143 0.032082 *
## DIAM17 0.107922 0.033256 3.245 0.001174 **
## DIAM18 0.073386 0.033482 2.192 0.028396 *
## DIAM19 0.033644 0.033566 1.002 0.316181
## DIAM20 0.042063 0.033506 1.255 0.209344
## DIAM21 0.031426 0.033045 0.951 0.341603
## DIAM22 0.014917 0.032953 0.453 0.650778
## DIAM23 0.064015 0.032404 1.976 0.048207 *
## DIAM24 0.016670 0.032153 0.518 0.604143
## DIAM25 0.034670 0.031944 1.085 0.277769
## DIAM26 0.011090 0.031666 0.350 0.726172
## DIAM27 -0.007841 0.030928 -0.254 0.799868
## DIAM28 0.063783 0.029908 2.133 0.032956 *
## DIAM29 0.027389 0.030493 0.898 0.369081
## DIAM30 0.009838 0.030617 0.321 0.747959
## DIAM31 -0.027784 0.037712 -0.737 0.461280
## SEM02 0.244909 0.049611 4.937 0.000000795052053061 ***
## SEM03 0.363448 0.049070 7.407 0.000000000000129398 ***
## SEM04 0.446262 0.047777 9.340 < 0.0000000000000002 ***
## SEM05 0.451942 0.052630 8.587 < 0.0000000000000002 ***
## SEM06 0.445096 0.068509 6.497 0.000000000081990492 ***
## SEM07 0.530435 0.069176 7.668 0.000000000000017482 ***
## SEM08 0.441837 0.069688 6.340 0.000000000229492883 ***
## SEM09 0.462442 0.071051 6.509 0.000000000075839555 ***
## SEM10 0.495891 0.082264 6.028 0.000000001659764882 ***
## SEM11 0.434954 0.083897 5.184 0.000000216738973926 ***
## SEM12 0.408684 0.085096 4.803 0.000001565814339065 ***
## SEM13 0.466435 0.083131 5.611 0.000000020131399046 ***
## SEM14 0.655751 0.091024 7.204 0.000000000000584167 ***
## SEM15 0.684864 0.094890 7.217 0.000000000000529703 ***
## SEM16 0.527317 0.096175 5.483 0.000000041850778662 ***
## SEM17 0.682982 0.094465 7.230 0.000000000000483041 ***
## SEM18 0.659381 0.095107 6.933 0.000000000004118499 ***
## SEM19 0.567162 0.100492 5.644 0.000000016627602544 ***
## SEM20 0.559548 0.101511 5.512 0.000000035433927186 ***
## SEM21 0.555769 0.101922 5.453 0.000000049563409947 ***
## SEM22 0.497399 0.099350 5.007 0.000000554156575260 ***
## SEM23 0.460264 0.104544 4.403 0.000010696844848986 ***
## SEM24 0.434122 0.105686 4.108 0.000039970216351551 ***
## SEM25 0.369219 0.106428 3.469 0.000522 ***
## SEM26 0.360838 0.104163 3.464 0.000532 ***
## SEM27 0.434970 0.104890 4.147 0.000033698805602226 ***
## SEM28 0.446922 0.106734 4.187 0.000028233598731950 ***
## SEM29 0.473180 0.107496 4.402 0.000010734252516853 ***
## SEM30 0.507889 0.107193 4.738 0.000002157636193235 ***
## SEM31 0.561419 0.102699 5.467 0.000000045861772509 ***
## SEM32 0.553650 0.105413 5.252 0.000000150283687516 ***
## SEM33 0.427253 0.106584 4.009 0.000061081111482184 ***
## SEM34 0.364654 0.107374 3.396 0.000684 ***
## SEM35 0.360676 0.102965 3.503 0.000460 ***
## SEM36 0.318682 0.101956 3.126 0.001774 **
## SEM37 0.346574 0.103196 3.358 0.000784 ***
## SEM38 0.344382 0.103736 3.320 0.000901 ***
## SEM39 0.245890 0.102343 2.403 0.016279 *
## SEM40 0.270840 0.095011 2.851 0.004363 **
## SEM41 0.129251 0.097252 1.329 0.183839
## SEM42 0.130546 0.098628 1.324 0.185629
## SEM43 0.167826 0.098290 1.707 0.087737 .
## SEM44 0.242256 0.091199 2.656 0.007899 **
## SEM45 0.187456 0.090687 2.067 0.038729 *
## SEM46 0.275654 0.091408 3.016 0.002564 **
## SEM47 0.250016 0.092121 2.714 0.006648 **
## SEM48 0.250041 0.085507 2.924 0.003453 **
## SEM49 0.232934 0.077764 2.995 0.002741 **
## SEM50 0.218788 0.079833 2.741 0.006133 **
## SEM51 0.225640 0.080605 2.799 0.005121 **
## SEM52 -0.025838 0.081070 -0.319 0.749944
## SEM53 -0.014769 0.086246 -0.171 0.864032
## DIASMon -0.074094 0.013445 -5.511 0.000000035744791136 ***
## DIASSat -0.185298 0.013183 -14.055 < 0.0000000000000002 ***
## DIASSun -0.836798 0.016380 -51.087 < 0.0000000000000002 ***
## DIASThu -0.105563 0.012980 -8.133 0.000000000000000419 ***
## DIASTue -0.047594 0.012729 -3.739 0.000185 ***
## DIASWed -0.095321 0.012907 -7.385 0.000000000000152449 ***
## FESTIVO1 -0.827715 0.026337 -31.428 < 0.0000000000000002 ***
## MADRE1 0.331481 0.084613 3.918 0.000089428348223151 ***
## DIC311 -0.425299 0.110764 -3.840 0.000123 ***
## SSANTA1 -0.200953 0.036552 -5.498 0.000000038457857666 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for poisson family taken to be 1)
##
## Null deviance: 8523.1 on 1460 degrees of freedom
## Residual deviance: 2410.2 on 1357 degrees of freedom
## AIC: 10952
##
## Number of Fisher Scoring iterations: 4
## 1462 1463 1464 1465 1466 1467
## 2.689377 3.531194 3.502408 3.462862 3.631465 3.445235
PseudoR2: 0.7018762
MSE: 2473.6133768
RMSE: 49.7354338
MSE: 2579.0161551
RMSE: 50.7840148
*Variación
## [1] -4.261085
##
## Call: glmnet(x = Cxtrain, y = Cytrain, family = "poisson", alpha = 1, standardize = FALSE)
##
## Df %Dev Lambda
## 1 0 0.00 3.5360
## 2 1 5.93 3.2220
## 3 1 11.04 2.9360
## 4 1 15.43 2.6750
## 5 1 19.20 2.4370
## 6 1 22.42 2.2210
## 7 1 25.18 2.0230
## 8 1 27.54 1.8440
## 9 1 29.55 1.6800
## 10 1 31.27 1.5310
## 11 2 34.42 1.3950
## 12 2 38.09 1.2710
## 13 2 41.25 1.1580
## 14 2 43.97 1.0550
## 15 2 46.31 0.9613
## 16 2 48.32 0.8759
## 17 2 50.03 0.7981
## 18 3 51.78 0.7272
## 19 3 53.41 0.6626
## 20 4 54.80 0.6037
## 21 4 56.27 0.5501
## 22 4 57.50 0.5012
## 23 4 58.55 0.4567
## 24 4 59.42 0.4161
## 25 4 60.17 0.3792
## 26 4 60.79 0.3455
## 27 4 61.31 0.3148
## 28 5 61.75 0.2868
## 29 5 62.13 0.2613
## 30 5 62.44 0.2381
## 31 6 62.72 0.2170
## 32 6 62.98 0.1977
## 33 7 63.25 0.1801
## 34 7 63.50 0.1641
## 35 9 63.81 0.1495
## 36 9 64.14 0.1363
## 37 12 64.45 0.1242
## 38 14 64.78 0.1131
## 39 16 65.11 0.1031
## 40 17 65.48 0.0939
## 41 20 65.83 0.0856
## 42 21 66.16 0.0780
## 43 25 66.49 0.0711
## 44 27 66.78 0.0647
## 45 34 67.08 0.0590
## 46 39 67.43 0.0537
## 47 42 67.78 0.0490
## 48 49 68.14 0.0446
## 49 51 68.49 0.0407
## 50 54 68.79 0.0370
## 51 57 69.04 0.0338
## 52 62 69.26 0.0307
## 53 66 69.48 0.0280
## 54 70 69.68 0.0255
## 55 70 69.85 0.0233
## 56 72 70.00 0.0212
## 57 74 70.13 0.0193
## 58 74 70.23 0.0176
## 59 77 70.32 0.0160
## 60 84 70.41 0.0146
## 61 84 70.51 0.0133
## 62 88 70.60 0.0121
## 63 89 70.67 0.0111
## 64 89 70.74 0.0101
## 65 89 70.81 0.0092
## 66 90 70.88 0.0084
## 67 91 70.94 0.0076
## 68 92 70.99 0.0069
## 69 96 71.03 0.0063
## 70 96 71.07 0.0058
## 71 96 71.10 0.0053
## 72 96 71.13 0.0048
## 73 93 71.16 0.0044
## 74 94 71.18 0.0040
## 75 95 71.20 0.0036
## 76 96 71.21 0.0033
## 77 96 71.23 0.0030
## 78 95 71.24 0.0027
## 79 96 71.25 0.0025
## 80 97 71.26 0.0023
## 81 97 71.28 0.0021
## 82 99 71.29 0.0019
## 83 99 71.30 0.0017
## 84 101 71.32 0.0016
## 85 102 71.33 0.0014
## 86 101 71.34 0.0013
## 87 100 71.35 0.0012
## 88 102 71.36 0.0011
## 89 101 71.38 0.0010
## 90 101 71.40 0.0009
## 91 100 71.42 0.0008
## 92 101 71.43 0.0007
## 93 101 71.43 0.0007
## 94 100 71.44 0.0006
## 95 101 71.44 0.0006
## 96 102 71.45 0.0005
## 97 102 71.47 0.0005
## 98 102 71.48 0.0004
## 99 102 71.48 0.0004
## 100 101 71.49 0.0004
R2: 1
MSE: 80.4478416
RMSE: 8.9692721
MSE: 112.4830678
RMSE: 10.6058035
*Variación:
## [1] -39.82111
Cmodelo_rf_1<-randomForest(ID~.-AÑO,data=Cdatos_tr1 ,importance=FALSE,ntree=500,mtry=2)
Cmodelo_rf_1##
## Call:
## randomForest(formula = ID ~ . - AÑO, data = Cdatos_tr1, importance = FALSE, ntree = 500, mtry = 2)
## Type of random forest: regression
## Number of trees: 500
## No. of variables tried at each split: 2
##
## Mean of squared residuals: 186.6388
## % Var explained: 30.22
## 1462 1463 1464 1465 1466 1467
## 40.83542 49.99990 49.43343 48.59832 48.77042 47.94063
Se corre el modelo con los datos de validación, para posteriormente poder calcular las medidas de error.
_____________________ Se puede observar que a partir de 200 arboles el error presenta variaciones mínimas y se puede considerar estable, se decide dejar 500 arboles por ser un valor recomendado por defecto y además no sobre-entrena al modelo.
MSE: 171.8863821
RMSE: 13.1105447
*Diferencia de medias entrenamiento
## [1] -0.01229169
Se puede observar que la media de las diferencias entre los datos reales y los predichos para los datos de entrenamiento es muy cercano a 0.
Diferencia de medias validación
## [1] 0.9861136
Se puede observar que la media de las diferencias entre los datos reales y los predichos para los datos de validación es bajo respecto a la media de los datos.
MSE: 192.5874638
RMSE: 13.8775885
*Variación
## [1] -12.04347
Variación entre los MSE de entrenamiento y validación: -12.0434682.
Teniendo en cuenta el rango de variación permitido en el que no se sospecha de sobre-entrenamiento del modelo, este valor cumple, pues es menor al 15%. Además, los MSE´s y RMSE´s no se consideran tan altos teniendo en cuenta la escala de los datos.
Comparando los MSE´s de todos los modelos para los datos de TipoI sin comuna, y teniendo en cuenta la variación entre estos de sus respectivos datos de entrenamiento y validación, se considera que este modelo con Random Forest es el mejor para predecir los datos del 2019-2020 y más adelante en la parte de predicción se utilizará con este fin, para luego disponer de estas predicciónes en la aplicación web final.
Cmodelo = h2o.deeplearning(
y = 'ID',
training_frame = as.h2o(Cdatos_tr1),
hidden = c(20,20),
epochs = 10,
stopping_metric = "MSE"
)## Warning in use.package("data.table"): data.table cannot be used without R
## package bit64 version 0.9.7 or higher. Please upgrade to take advangage of
## data.table speedups.
##
|
| | 0%
|
|======================================================================| 100%
##
|
| | 0%
|
|======================================================================| 100%
## Model Details:
## ==============
##
## H2ORegressionModel: deeplearning
## Model ID: DeepLearning_model_R_1599149137655_17
## Status of Neuron Layers: predicting ID, regression, gaussian distribution, Quadratic loss, 2.541 weights/biases, 45,0 KB, 16.071 training samples, mini-batch size 1
## layer units type dropout l1 l2 mean_rate rate_rms momentum
## 1 1 104 Input 0.00 % NA NA NA NA NA
## 2 2 20 Rectifier 0.00 % 0.000000 0.000000 0.002812 0.004418 0.000000
## 3 3 20 Rectifier 0.00 % 0.000000 0.000000 0.002846 0.007449 0.000000
## 4 4 1 Linear NA 0.000000 0.000000 0.000289 0.000087 0.000000
## mean_weight weight_rms mean_bias bias_rms
## 1 NA NA NA NA
## 2 -0.001073 0.127185 0.501674 0.041868
## 3 -0.009359 0.216178 0.990144 0.032261
## 4 0.024739 0.288351 0.025470 0.000000
##
##
## H2ORegressionMetrics: deeplearning
## ** Reported on training data. **
## ** Metrics reported on full training frame **
##
## MSE: 66.48518
## RMSE: 8.153845
## MAE: 6.24858
## RMSLE: 0.1984404
## Mean Residual Deviance : 66.48518
## Warning in use.package("data.table"): data.table cannot be used without R
## package bit64 version 0.9.7 or higher. Please upgrade to take advangage of
## data.table speedups.
##
|
| | 0%
|
|======================================================================| 100%
##
|
| | 0%
|
|======================================================================| 100%
El XGboost (Extra Gradient boosting) parte del árbol de decisiones que se implementa en minería de datos para clasificar o pronosticar sobre una variable objetivo , a través, del aprendizaje automático que se realiza sobre un set de datos, utilizando varios árboles de decisiones, pero potenciando los resultados de estos, debido al procesamiento secuencial de la data con una función de pérdida o coste, la cual, minimiza el error iteración tras iteración, haciéndolo de esta manera, un pronosticador fuerte.
modelo1xg <- xgboost(data = train_matrix1 ,
objective = "reg:squarederror", eval_metric = "rmse",
nrounds = 45, max.depth = 1, eta = 0.1)## [1] train-rmse:48.062126
## [2] train-rmse:43.621967
## [3] train-rmse:39.661823
## [4] train-rmse:36.136600
## [5] train-rmse:33.003376
## [6] train-rmse:30.203171
## [7] train-rmse:27.725883
## [8] train-rmse:25.519621
## [9] train-rmse:23.579424
## [10] train-rmse:21.859280
## [11] train-rmse:20.357632
## [12] train-rmse:19.033501
## [13] train-rmse:17.887390
## [14] train-rmse:16.882761
## [15] train-rmse:16.021233
## [16] train-rmse:15.270478
## [17] train-rmse:14.632661
## [18] train-rmse:14.079639
## [19] train-rmse:13.613898
## [20] train-rmse:13.211478
## [21] train-rmse:12.875121
## [22] train-rmse:12.584917
## [23] train-rmse:12.338478
## [24] train-rmse:12.129580
## [25] train-rmse:11.948017
## [26] train-rmse:11.793836
## [27] train-rmse:11.662565
## [28] train-rmse:11.546909
## [29] train-rmse:11.448417
## [30] train-rmse:11.363792
## [31] train-rmse:11.287878
## [32] train-rmse:11.222946
## [33] train-rmse:11.166477
## [34] train-rmse:11.114772
## [35] train-rmse:11.070116
## [36] train-rmse:11.028790
## [37] train-rmse:10.991377
## [38] train-rmse:10.956140
## [39] train-rmse:10.924685
## [40] train-rmse:10.896163
## [41] train-rmse:10.868959
## [42] train-rmse:10.843139
## [43] train-rmse:10.819128
## [44] train-rmse:10.797580
## [45] train-rmse:10.777088
## ##### xgb.Booster
## raw: 14.2 Kb
## call:
## xgb.train(params = params, data = dtrain, nrounds = nrounds,
## watchlist = watchlist, verbose = verbose, print_every_n = print_every_n,
## early_stopping_rounds = early_stopping_rounds, maximize = maximize,
## save_period = save_period, save_name = save_name, xgb_model = xgb_model,
## callbacks = callbacks, objective = "reg:squarederror", eval_metric = "rmse",
## max.depth = 1, eta = 0.1)
## params (as set within xgb.train):
## objective = "reg:squarederror", eval_metric = "rmse", max_depth = "1", eta = "0.1", validate_parameters = "TRUE"
## xgb.attributes:
## niter
## callbacks:
## cb.print.evaluation(period = print_every_n)
## cb.evaluation.log()
## # of features: 104
## niter: 45
## nfeatures : 104
## evaluation_log:
## iter train_rmse
## 1 48.06213
## 2 43.62197
## ---
## 44 10.79758
## 45 10.77709
## [1] 26.82385 50.92691 50.92691 50.92691 50.92691 49.49993
## [1] 26.82385 50.92691 50.92691 49.49993 25.40039 26.82385
MSE: 116.1456436
RMSE: 10.7770888
MSE: 132.1033192
RMSE: 11.4936208
## [1] -13.73937
## [1] 50.94798
## [1] 50.50832
## [1] 51.99178
## [1] 50.57252
Partición de la data para entrenamiento y validación
Cdatos_tr2<-subset(TipoIIDum,subset=(AÑO<"2018"))
Cdatos_vl2<-subset(TipoIIDum,subset=(AÑO>="2018") & (AÑO<"2019") )Se eliminan variables innecesarias para los modelos, pues estos no le asignan valores a éstas por considerarlas “singularidades” o redundantes dado que dependen de otras variables directamente, a continuación el porqué de cada una:
- FECHA: los datos de esta columna se reparten en las variables AÑO, MES, DIAM.
- MES12: es el mes de diciembre y es 1 siempre y cuando los otros 11 meses sean 0.
- DIA.LAB1: anteriormente esta variable se creo asignandole valores de 1 siempre y cuando en la variable DIAS los valores fueran los correspondientes a sábados y domingos, por lo tanto, con la variable DIAS es suficiente para explicar esto.
- SEM1_21: esta variable depende directamente de la variable SEM, la unica diferencia es que toma valores de 1 tanto cuando la semana del año es la 1 como la 2, de resto es 0.
##
## Call:
## lm(formula = ID ~ . - AÑO, data = Cdatos_tr2)
##
## Residuals:
## Min 1Q Median 3Q Max
## -30.027 -6.198 -0.499 5.784 45.530
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 56.2413 4.6777 12.023 < 0.0000000000000002 ***
## MES1 2.0968 4.3621 0.481 0.630822
## MES2 11.3271 5.3831 2.104 0.035543 *
## MES3 9.1215 6.0869 1.499 0.134224
## MES4 2.9911 6.5403 0.457 0.647504
## MES5 3.2523 6.8467 0.475 0.634845
## MES6 -3.7476 6.8897 -0.544 0.586572
## MES7 -3.7074 6.7698 -0.548 0.584032
## MES8 7.6894 6.4427 1.193 0.232883
## MES9 8.9687 5.8777 1.526 0.127271
## MES10 4.8552 5.0623 0.959 0.337681
## MES11 8.1009 3.8642 2.096 0.036232 *
## DIAM02 -6.6091 2.0617 -3.206 0.001379 **
## DIAM03 -3.5866 2.0827 -1.722 0.085269 .
## DIAM04 -3.5816 2.1097 -1.698 0.089799 .
## DIAM05 -2.0571 2.1296 -0.966 0.334246
## DIAM06 -4.1116 2.1620 -1.902 0.057414 .
## DIAM07 -1.7457 2.1918 -0.796 0.425893
## DIAM08 -3.0661 2.2244 -1.378 0.168318
## DIAM09 -4.0341 2.2445 -1.797 0.072507 .
## DIAM10 -2.5054 2.2743 -1.102 0.270826
## DIAM11 -2.2776 2.3078 -0.987 0.323860
## DIAM12 -4.8553 2.3172 -2.095 0.036322 *
## DIAM13 -4.0985 2.3266 -1.762 0.078365 .
## DIAM14 -3.7574 2.3424 -1.604 0.108921
## DIAM15 -0.7639 2.3448 -0.326 0.744642
## DIAM16 -1.8348 2.3402 -0.784 0.433151
## DIAM17 -2.4342 2.3335 -1.043 0.297073
## DIAM18 0.3812 2.3446 0.163 0.870866
## DIAM19 -3.0845 2.3422 -1.317 0.188097
## DIAM20 -3.1803 2.3167 -1.373 0.170049
## DIAM21 -1.2930 2.3059 -0.561 0.575073
## DIAM22 -4.8056 2.2980 -2.091 0.036690 *
## DIAM23 -4.7632 2.2615 -2.106 0.035369 *
## DIAM24 -5.8738 2.2317 -2.632 0.008585 **
## DIAM25 -4.2421 2.2085 -1.921 0.054962 .
## DIAM26 -5.7922 2.1894 -2.645 0.008251 **
## DIAM27 -4.5733 2.1506 -2.127 0.033640 *
## DIAM28 -4.1999 2.1196 -1.982 0.047735 *
## DIAM29 -4.7743 2.1312 -2.240 0.025242 *
## DIAM30 -5.4637 2.1326 -2.562 0.010514 *
## DIAM31 -4.5190 2.6302 -1.718 0.086006 .
## SEM02 0.4208 2.8782 0.146 0.883792
## SEM03 10.2082 2.9739 3.433 0.000616 ***
## SEM04 9.8016 2.9371 3.337 0.000869 ***
## SEM05 9.0351 3.4172 2.644 0.008287 **
## SEM06 8.3268 4.5780 1.819 0.069155 .
## SEM07 4.4359 4.6628 0.951 0.341602
## SEM08 7.0232 4.6739 1.503 0.133167
## SEM09 7.0700 4.8341 1.463 0.143831
## SEM10 11.6748 5.6663 2.060 0.039552 *
## SEM11 11.0317 5.7623 1.914 0.055774 .
## SEM12 7.4429 5.8097 1.281 0.200374
## SEM13 12.1758 5.6834 2.142 0.032344 *
## SEM14 16.1938 6.2627 2.586 0.009820 **
## SEM15 14.0195 6.5115 2.153 0.031492 *
## SEM16 12.3163 6.5547 1.879 0.060459 .
## SEM17 16.8200 6.4733 2.598 0.009468 **
## SEM18 14.3270 6.5709 2.180 0.029402 *
## SEM19 13.6658 6.9490 1.967 0.049433 *
## SEM20 13.5699 7.0137 1.935 0.053225 .
## SEM21 15.3207 7.0225 2.182 0.029307 *
## SEM22 15.5507 6.8065 2.285 0.022485 *
## SEM23 23.6795 7.1975 3.290 0.001028 **
## SEM24 20.8389 7.2704 2.866 0.004218 **
## SEM25 17.2798 7.2981 2.368 0.018037 *
## SEM26 14.1810 7.1338 1.988 0.047027 *
## SEM27 19.3576 7.1797 2.696 0.007101 **
## SEM28 20.2957 7.3440 2.764 0.005794 **
## SEM29 21.1663 7.4009 2.860 0.004302 **
## SEM30 23.2606 7.3852 3.150 0.001670 **
## SEM31 20.9938 7.0234 2.989 0.002848 **
## SEM32 12.6051 7.2382 1.741 0.081829 .
## SEM33 10.9075 7.3025 1.494 0.135496
## SEM34 10.2098 7.3229 1.394 0.163475
## SEM35 15.5747 7.0139 2.221 0.026545 *
## SEM36 7.7640 6.9441 1.118 0.263736
## SEM37 12.3435 7.0320 1.755 0.079428 .
## SEM38 11.1000 7.0647 1.571 0.116371
## SEM39 10.4803 6.8969 1.520 0.128856
## SEM40 14.2819 6.4285 2.222 0.026470 *
## SEM41 5.7861 6.5514 0.883 0.377294
## SEM42 11.5985 6.6214 1.752 0.080055 .
## SEM43 13.1273 6.6096 1.986 0.047224 *
## SEM44 8.8763 5.9910 1.482 0.138675
## SEM45 5.4147 5.9233 0.914 0.360810
## SEM46 5.7883 6.0021 0.964 0.335027
## SEM47 6.4695 6.0262 1.074 0.283211
## SEM48 8.6292 5.4606 1.580 0.114279
## SEM49 12.8982 4.7804 2.698 0.007060 **
## SEM50 13.6718 4.8965 2.792 0.005310 **
## SEM51 16.3735 4.9485 3.309 0.000962 ***
## SEM52 11.6304 4.7173 2.466 0.013805 *
## SEM53 -1.2262 4.7280 -0.259 0.795407
## DIASMon -0.2485 1.0092 -0.246 0.805564
## DIASSat -3.7853 0.9837 -3.848 0.000125 ***
## DIASSun -17.1871 0.9881 -17.393 < 0.0000000000000002 ***
## DIASThu -0.1480 0.9822 -0.151 0.880212
## DIASTue -0.9599 0.9839 -0.976 0.329459
## DIASWed -0.9052 0.9838 -0.920 0.357669
## FESTIVO1 -17.5351 1.3628 -12.867 < 0.0000000000000002 ***
## MADRE1 5.2640 5.3557 0.983 0.325845
## DIC311 -1.4746 5.9856 -0.246 0.805447
## SSANTA1 -10.4599 2.2271 -4.697 0.00000291 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 10.02 on 1357 degrees of freedom
## Multiple R-squared: 0.4431, Adjusted R-squared: 0.4008
## F-statistic: 10.48 on 103 and 1357 DF, p-value: < 0.00000000000000022
## 1462 1463 1464 1465 1466 1467
## 40.55454 50.76913 53.84625 54.60845 56.28104 50.44121
##
## Call:
## glm(formula = ID ~ . - AÑO, family = "poisson", data = Cdatos_tr2)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -3.8523 -0.7753 -0.0637 0.7171 4.8457
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) 4.023819 0.065425 61.503 < 0.0000000000000002 ***
## MES1 0.009780 0.062956 0.155 0.876548
## MES2 0.156588 0.072974 2.146 0.031888 *
## MES3 0.128714 0.079983 1.609 0.107559
## MES4 0.034057 0.084652 0.402 0.687450
## MES5 0.045193 0.087667 0.516 0.606200
## MES6 -0.060756 0.087633 -0.693 0.488118
## MES7 -0.061795 0.085204 -0.725 0.468293
## MES8 0.102728 0.080779 1.272 0.203476
## MES9 0.128074 0.074003 1.731 0.083511 .
## MES10 0.073861 0.064213 1.150 0.250037
## MES11 0.128846 0.049699 2.593 0.009527 **
## DIAM02 -0.098533 0.025741 -3.828 0.000129 ***
## DIAM03 -0.052529 0.025688 -2.045 0.040862 *
## DIAM04 -0.052890 0.025933 -2.040 0.041399 *
## DIAM05 -0.030064 0.026125 -1.151 0.249815
## DIAM06 -0.058620 0.026755 -2.191 0.028452 *
## DIAM07 -0.019430 0.027021 -0.719 0.472096
## DIAM08 -0.041814 0.027598 -1.515 0.129743
## DIAM09 -0.056785 0.027858 -2.038 0.041510 *
## DIAM10 -0.033543 0.028064 -1.195 0.231994
## DIAM11 -0.031387 0.028452 -1.103 0.269963
## DIAM12 -0.069105 0.028898 -2.391 0.016789 *
## DIAM13 -0.058481 0.028995 -2.017 0.043702 *
## DIAM14 -0.050521 0.029059 -1.739 0.082113 .
## DIAM15 -0.005315 0.028911 -0.184 0.854129
## DIAM16 -0.020875 0.028907 -0.722 0.470213
## DIAM17 -0.030515 0.028964 -1.054 0.292093
## DIAM18 0.011639 0.028798 0.404 0.686092
## DIAM19 -0.040120 0.028999 -1.384 0.166508
## DIAM20 -0.042296 0.028853 -1.466 0.142674
## DIAM21 -0.013514 0.028378 -0.476 0.633916
## DIAM22 -0.067173 0.028534 -2.354 0.018564 *
## DIAM23 -0.065631 0.028168 -2.330 0.019805 *
## DIAM24 -0.083751 0.027834 -3.009 0.002622 **
## DIAM25 -0.061209 0.027490 -2.227 0.025975 *
## DIAM26 -0.083113 0.027308 -3.044 0.002338 **
## DIAM27 -0.063732 0.026608 -2.395 0.016611 *
## DIAM28 -0.058610 0.026162 -2.240 0.025074 *
## DIAM29 -0.069256 0.026485 -2.615 0.008924 **
## DIAM30 -0.075873 0.026500 -2.863 0.004194 **
## DIAM31 -0.062440 0.032585 -1.916 0.055335 .
## SEM02 0.009859 0.040285 0.245 0.806665
## SEM03 0.185069 0.039765 4.654 0.00000325442 ***
## SEM04 0.177809 0.039488 4.503 0.00000670488 ***
## SEM05 0.167904 0.045064 3.726 0.000195 ***
## SEM06 0.152610 0.058092 2.627 0.008613 **
## SEM07 0.093801 0.059379 1.580 0.114175
## SEM08 0.131077 0.059430 2.206 0.027416 *
## SEM09 0.132761 0.061166 2.170 0.029969 *
## SEM10 0.196599 0.071129 2.764 0.005710 **
## SEM11 0.185241 0.072425 2.558 0.010537 *
## SEM12 0.132296 0.073507 1.800 0.071898 .
## SEM13 0.202336 0.071781 2.819 0.004820 **
## SEM14 0.270107 0.078934 3.422 0.000622 ***
## SEM15 0.233082 0.082268 2.833 0.004609 **
## SEM16 0.207169 0.083003 2.496 0.012563 *
## SEM17 0.276150 0.081884 3.372 0.000745 ***
## SEM18 0.240359 0.082967 2.897 0.003767 **
## SEM19 0.223957 0.087746 2.552 0.010700 *
## SEM20 0.220262 0.088647 2.485 0.012965 *
## SEM21 0.248225 0.088890 2.793 0.005230 **
## SEM22 0.252164 0.086463 2.916 0.003540 **
## SEM23 0.375942 0.091194 4.122 0.00003748522 ***
## SEM24 0.332223 0.092273 3.600 0.000318 ***
## SEM25 0.275609 0.092896 2.967 0.003009 **
## SEM26 0.223323 0.091022 2.453 0.014148 *
## SEM27 0.313558 0.091516 3.426 0.000612 ***
## SEM28 0.324764 0.093381 3.478 0.000505 ***
## SEM29 0.334754 0.094122 3.557 0.000376 ***
## SEM30 0.369976 0.093937 3.939 0.00008197658 ***
## SEM31 0.334207 0.089774 3.723 0.000197 ***
## SEM32 0.219502 0.092393 2.376 0.017514 *
## SEM33 0.190118 0.093261 2.039 0.041495 *
## SEM34 0.181837 0.093751 1.940 0.052433 .
## SEM35 0.256982 0.090143 2.851 0.004360 **
## SEM36 0.139307 0.089735 1.552 0.120560
## SEM37 0.203679 0.090755 2.244 0.024814 *
## SEM38 0.183667 0.091352 2.011 0.044375 *
## SEM39 0.177031 0.089925 1.969 0.048993 *
## SEM40 0.229846 0.084351 2.725 0.006433 **
## SEM41 0.096239 0.086445 1.113 0.265585
## SEM42 0.187744 0.087297 2.151 0.031505 *
## SEM43 0.209717 0.087283 2.403 0.016273 *
## SEM44 0.144931 0.080375 1.803 0.071358 .
## SEM45 0.087375 0.080070 1.091 0.275170
## SEM46 0.092746 0.081100 1.144 0.252788
## SEM47 0.102150 0.081648 1.251 0.210896
## SEM48 0.135377 0.075711 1.788 0.073764 .
## SEM49 0.207523 0.067221 3.087 0.002021 **
## SEM50 0.218502 0.068818 3.175 0.001498 **
## SEM51 0.255607 0.069419 3.682 0.000231 ***
## SEM52 0.182068 0.067675 2.690 0.007138 **
## SEM53 -0.047717 0.070035 -0.681 0.495657
## DIASMon -0.001337 0.012281 -0.109 0.913279
## DIASSat -0.056018 0.012016 -4.662 0.00000313193 ***
## DIASSun -0.289293 0.012916 -22.397 < 0.0000000000000002 ***
## DIASThu -0.002183 0.011882 -0.184 0.854243
## DIASTue -0.013498 0.011890 -1.135 0.256281
## DIASWed -0.012668 0.011896 -1.065 0.286942
## FESTIVO1 -0.311926 0.019033 -16.389 < 0.0000000000000002 ***
## MADRE1 0.100524 0.069478 1.447 0.147941
## DIC311 -0.037192 0.082435 -0.451 0.651870
## SSANTA1 -0.187296 0.030490 -6.143 0.00000000081 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for poisson family taken to be 1)
##
## Null deviance: 3867.8 on 1460 degrees of freedom
## Residual deviance: 2093.2 on 1357 degrees of freedom
## AIC: 11053
##
## Number of Fisher Scoring iterations: 4
## 1462 1463 1464 1465 1466 1467
## 3.720335 3.921568 3.968401 3.978526 4.003534 3.918961
PseudoR2^: 0.4512764
MSE: 3839.6734359
RMSE: 61.9650985
MSE: 3105.700784
RMSE: 55.7288147
*Variación
## [1] 19.1155
Cxtrain2<-model.matrix(ID ~ .-AÑO,Cdatos_tr2)[,-4]
Cytrain2<-Cdatos_tr2$ID
Classo_2<-glmnet(Cxtrain2,
Cytrain2,
standardize = FALSE,
alpha=1,
family = "poisson"
)
Classo_2##
## Call: glmnet(x = Cxtrain2, y = Cytrain2, family = "poisson", alpha = 1, standardize = FALSE)
##
## Df %Dev Lambda
## 1 0 0.00 1.95800
## 2 1 3.12 1.78400
## 3 1 5.75 1.62600
## 4 1 7.97 1.48100
## 5 1 9.83 1.35000
## 6 1 11.40 1.23000
## 7 1 12.71 1.12100
## 8 1 13.82 1.02100
## 9 1 14.74 0.93030
## 10 2 16.90 0.84770
## 11 2 19.08 0.77240
## 12 3 21.28 0.70370
## 13 3 23.44 0.64120
## 14 3 25.26 0.58430
## 15 3 26.79 0.53240
## 16 3 28.07 0.48510
## 17 3 29.15 0.44200
## 18 3 30.05 0.40270
## 19 3 30.81 0.36690
## 20 4 31.59 0.33430
## 21 5 32.26 0.30460
## 22 6 32.99 0.27760
## 23 6 33.64 0.25290
## 24 6 34.18 0.23040
## 25 6 34.63 0.21000
## 26 7 35.02 0.19130
## 27 7 35.48 0.17430
## 28 8 35.87 0.15880
## 29 8 36.23 0.14470
## 30 9 36.57 0.13190
## 31 11 36.95 0.12020
## 32 14 37.40 0.10950
## 33 17 37.88 0.09975
## 34 17 38.35 0.09089
## 35 18 38.77 0.08282
## 36 20 39.16 0.07546
## 37 24 39.61 0.06876
## 38 24 40.06 0.06265
## 39 25 40.45 0.05708
## 40 31 40.82 0.05201
## 41 36 41.19 0.04739
## 42 44 41.59 0.04318
## 43 47 41.97 0.03934
## 44 51 42.33 0.03585
## 45 52 42.63 0.03266
## 46 54 42.89 0.02976
## 47 58 43.13 0.02712
## 48 62 43.34 0.02471
## 49 63 43.52 0.02251
## 50 68 43.69 0.02051
## 51 73 43.87 0.01869
## 52 74 44.03 0.01703
## 53 74 44.16 0.01552
## 54 79 44.26 0.01414
## 55 81 44.36 0.01288
## 56 85 44.46 0.01174
## 57 85 44.55 0.01070
## 58 87 44.64 0.00975
## 59 87 44.74 0.00888
## 60 86 44.82 0.00809
## 61 87 44.89 0.00737
## 62 85 44.95 0.00672
## 63 87 45.01 0.00612
## 64 88 45.06 0.00558
## 65 89 45.10 0.00508
## 66 91 45.15 0.00463
## 67 91 45.19 0.00422
## 68 91 45.23 0.00384
## 69 92 45.26 0.00350
## 70 93 45.29 0.00319
## 71 95 45.31 0.00291
## 72 95 45.34 0.00265
## 73 97 45.36 0.00241
## 74 99 45.40 0.00220
## 75 98 45.42 0.00200
## 76 99 45.44 0.00183
## 77 99 45.47 0.00166
## 78 101 45.51 0.00152
## 79 101 45.52 0.00138
## 80 102 45.54 0.00126
## 81 102 45.57 0.00115
## 82 100 45.59 0.00104
## 83 100 45.62 0.00095
## 84 101 45.63 0.00087
## 85 101 45.63 0.00079
## 86 102 45.65 0.00072
## 87 102 45.67 0.00066
## 88 102 45.67 0.00060
## 89 102 45.68 0.00054
## 90 101 45.69 0.00050
## 91 101 45.71 0.00045
## 92 101 45.71 0.00041
## 93 102 45.73 0.00038
## 94 101 45.73 0.00034
## 95 102 45.74 0.00031
## 96 102 45.74 0.00028
## 97 102 45.75 0.00026
## 98 102 45.75 0.00024
## 99 102 45.75 0.00021
## 100 102 45.77 0.00020
Cmodelo_rf_2<-randomForest(ID~.-AÑO,data=Cdatos_tr2 ,importance=FALSE,ntree=500,mtry=2)
Cmodelo_rf_2##
## Call:
## randomForest(formula = ID ~ . - AÑO, data = Cdatos_tr2, importance = FALSE, ntree = 500, mtry = 2)
## Type of random forest: regression
## Number of trees: 500
## No. of variables tried at each split: 2
##
## Mean of squared residuals: 133.9569
## % Var explained: 20.05
## 1462 1463 1464 1465 1466 1467
## 58.04507 62.72431 62.82032 62.90707 62.41442 61.91009
MSE: 122.3832676
RMSE: 11.0626971
Media entre la diferencia observada y predicha entrenamiento
## [1] -0.001896903
Media entre la diferencia observada y predicha validación
## [1] -6.25779
MSE: 156.5595317
RMSE: rCRMSE_modelo_rfv_2
*Variación
## [1] -27.9256
Cmodelo2 = h2o.deeplearning(
y = 'ID',
training_frame = as.h2o(Cdatos_tr2),
hidden = c(8,8),
epochs = 100,
)## Warning in use.package("data.table"): data.table cannot be used without R
## package bit64 version 0.9.7 or higher. Please upgrade to take advangage of
## data.table speedups.
##
|
| | 0%
|
|======================================================================| 100%
##
|
| | 0%
|
|============== | 20%
|
|======================================================================| 100%
## Warning in use.package("data.table"): data.table cannot be used without R
## package bit64 version 0.9.7 or higher. Please upgrade to take advangage of
## data.table speedups.
##
|
| | 0%
|
|======================================================================| 100%
##
|
| | 0%
|
|======================================================================| 100%
MSE: 129.461763
RMSE: 11.3781265
MSE: 129.461763
RMSE: 11.3781265
*Variación
## [1] -311.763
*Media validación real-predicho, entrenamiento real-predicho
## [1] 58.55068
## [1] 64.7796
## [1] 63.60442
## [1] 64.00367
El XGboost (Extra Gradient boosting) parte del árbol de decisiones que se implementa en minería de datos para clasificar o pronosticar sobre una variable objetivo , a través, del aprendizaje automático que se realiza sobre un set de datos, utilizando varios árboles de decisiones, pero potenciando los resultados de estos, debido al procesamiento secuencial de la data con una función de pérdida o coste, la cual, minimiza el error iteración tras iteración, haciéndolo de esta manera, un pronosticador fuerte.
modelo2xg <- xgboost(data = train_matrix2 ,
objective = "count:poisson", eval_metric = "rmse",
nrounds = 50, max.depth = 1, eta = 1,
subsample = 1,colsample_bytree=1, min_child_weight=1 )## [1] train-rmse:65.073082
## [2] train-rmse:64.073082
## [3] train-rmse:62.061371
## [4] train-rmse:58.019581
## [5] train-rmse:49.928905
## [6] train-rmse:33.996994
## [7] train-rmse:16.353298
## [8] train-rmse:12.352262
## [9] train-rmse:11.162349
## [10] train-rmse:10.782062
## [11] train-rmse:10.639372
## [12] train-rmse:10.564971
## [13] train-rmse:10.499427
## [14] train-rmse:10.451012
## [15] train-rmse:10.412947
## [16] train-rmse:10.375799
## [17] train-rmse:10.340749
## [18] train-rmse:10.312448
## [19] train-rmse:10.280381
## [20] train-rmse:10.257374
## [21] train-rmse:10.231756
## [22] train-rmse:10.208152
## [23] train-rmse:10.185641
## [24] train-rmse:10.167708
## [25] train-rmse:10.151332
## [26] train-rmse:10.134226
## [27] train-rmse:10.116194
## [28] train-rmse:10.102639
## [29] train-rmse:10.090843
## [30] train-rmse:10.077860
## [31] train-rmse:10.067226
## [32] train-rmse:10.057198
## [33] train-rmse:10.047338
## [34] train-rmse:10.037616
## [35] train-rmse:10.028504
## [36] train-rmse:10.019638
## [37] train-rmse:10.012671
## [38] train-rmse:10.004662
## [39] train-rmse:9.996900
## [40] train-rmse:9.989637
## [41] train-rmse:9.982532
## [42] train-rmse:9.976544
## [43] train-rmse:9.970345
## [44] train-rmse:9.964125
## [45] train-rmse:9.957726
## [46] train-rmse:9.949064
## [47] train-rmse:9.941461
## [48] train-rmse:9.935128
## [49] train-rmse:9.928802
## [50] train-rmse:9.921652
El modelo se entrena teniendo en cuenta la métrica de evaluación RMSE, esto es, realiza 50 iteraciones intentando encontrar la mejor medida para este error, es decir, el menor valor.
## [1] 45.92014 59.47823 61.00642 61.00642 61.00642 59.03842
## [1] 46.60668 60.36753 61.91857 59.92115 47.35748 41.91621
Se muestran algunos datos de los conjuntos predichos tanto con los datos de validación, como con los de entrenamiento. Se puede observar que estos valores si varian entre si y aparentemente no se alejan considerablemente de la media.
MSE: 98.4391642
RMSE: 9.9216513
MSE: 115.3236489
RMSE: 10.7388849
## [1] -17.1522
Variación entre los MSE de entrenamiento y validación: -17.1522025.
Teniendo en cuenta el rango de variación permitido en el que no se sospecha de sobre-entrenamiento del modelo, este valor parece no cumplir, pues es mayor al 15%, lo anterior puede explicarse dado que los datos de validación reales tienen una media de más de 6 unidades por debajo respecto a los datos de entrenamiento, y teniendo en cuenta que el modelo no es una serie de tiempo, ni se puede entrenar y modelar con la información del año 2018, no está en la capacidad de predecir estos valores considerablemente menores. De igual manera es un modelos con los MSE´s y RMSE´s más bajos en comparación a otros modelos y estos valores son aceptables teniendo en cuenta la escala de los datos. Por lo anterior en este caso no se considera un problema mayor la variación del 17% y el posible sobre-entrenamiento
Comparando los MSE´s de todos los modelos para los datos de TipoII sin comuna, y teniendo en cuenta la variación entre estos de sus respectivos datos de entrenamiento y validación, se considera que este modelo con XGBoost es el mejor para predecir los datos del 2019-2020 y más adelante en la parte de predicción se utilizará con este fin, para luego disponer de estas predicciónes en la aplicación web final.
## [1] 64.7796
## [1] 64.78025
## [1] 58.55068
## [1] 64.02016
En los valores anteriores se observa claramente lo explicado anteriormente, los datos de validación reales (Cdatos_vl2$ID) tienen una media de 6 unidades por debajo de los de entrenamiento aproximadamente, por lo tanto la media de sus valores predichos se espera esté más cercana a la de los datos del modelo y el MSE de validación tenga una variación mayor respecto al MSE de entrenamiento.
Se cargan los datos correspondientes a los años 2019 y 2020
Cabe recordar que en la sección denominada “Creación de los Datasets para predicción” se crearon los datos para los años que se definieron para la predicción, incluyendo un registro por día y teniendo en cuenta los datos reales respecto a los días festivos, día de la madre y demás fechas especiales. Para el año 2020 los modelos escogidos no tienen en cuenta la emergencia causada por el más conocido COVID-19, por lo tanto, los valores que se podrán observar en la aplicación para este año no se ven afectados por la pandemia.
#data_p2 <- model.matrix(ID~., data=datap)
#data_p2 <- data_p2[,-1]
#labelp2 <-datap[,"ID"] #Se crea la variable dependiente
#pmatrix2 <- xgb.DMatrix(data =as.matrix(data_p2), label= labelp2)Tipo 1:
El modelo escogido para predecir los datos teniendo en cuenta los valores correspondientes a 2019-2020 para las variables consideradas en los modelos de los accidentes TipoI es el bosque aleatorio como se explicó en la sección propia de ese modelo.
Tipo 2:
El modelo escogido para predecir los datos teniendo en cuenta los valores correspondientes a 2019-2020 para las variables consideradas en los modelos de los accidentes TipoII es el XGBoost como se explicó en la sección propia de ese modelo.
Preprocesamiento de dase de datos de MEData
GitHub: Movimed_GitHub
Video Promocional: MoviMed(Analítica predictiva)
Aplicación: MoviMed
Rodriguez, Y. (31 de Octubre de 2018 ). XgBoost. Obtenido de Diego Calvo: https://www.diegocalvo.es/xgboost/