Está en la página 1de 68

PONTIFICIA UNIVERSIDAD CATÓLICA DEL ECUADOR

FACULTAD DE INGENIERÍA

MAESTRÍA EN SISTEMAS DE LA INFORMACIÓN


CIENCIA DE DATOS

ASIGNATURA:
ANÁLISIS ESTADÍSTICO DE DATOS

TEMA DEL PROYECTO:


ANÁLISIS, EVALUACIÓN Y COMPARACIÓN DE MODELOS

MAESTRANTES:
• RUTH CECILIA BARRENO LÓPEZ
• MYRIAM PAOLA LLUMINQUINGA ÑATO
• CARLOS AGUSTO MOLINA BAUTISTA
• JOHANNA CRISTINA QUIZHPILEMA BALCÁZAR

DOCENTE:
ING. ALFONSO PRADO MSc.

QUITO, D.M., OCTUBRE DE 2022


Contenido
INTRODUCCIÓN .......................................................................................................................................... 4
OBJETIVO..................................................................................................................................................... 4
REFERENCIAS ............................................................................................................................................. 4
GLOSARIO DE VARIABLES ........................................................................................................................ 4
GLOSARIO DE TÉRMINOS ......................................................................................................................... 6
DESARROLLO .............................................................................................................................................. 7
1. TRABAJO PREPARATORIO ............................................................................................................. 7
i. Inicialización de librerías requeridas para el proyecto .................................................................. 7
ii. Inicialización de Datasets .............................................................................................................. 7
iii. Conversión a DataFrame .............................................................................................................. 8
2. LIMPIEZA Y TRATAMIENTO DE LOS DATOS ................................................................................. 8
i. Redondeo de variables ................................................................................................................. 8
ii. Incluir variables desde el DataFrame “w” al DataFrame “f” .......................................................... 8
iii. Tratamiento de los valores “NA” ................................................................................................. 10
iv. Aplicación de filtro en variable de respuesta .............................................................................. 13
v. Segmentación de los datos para entrenamiento (train.data) y evaluación (test.data) ............... 13
3. CREACIÓN DE MODELOS DE PREDICCIÓN ............................................................................... 14
i. Modelo 1...................................................................................................................................... 14
a) Establecimiento teórico de la hipótesis para la selección de variables .................................. 14
b) Evaluación numérica de correlación entre las variables ......................................................... 14
c) Mapa de calor de las variables ............................................................................................... 15
d) Visualización gráfica de la data con línea de tendencia ......................................................... 16
e) Desarrollo y análisis del modelo con ANOVA ......................................................................... 16
f) Revisión de los PLOTS del Modelo 1, presencia de outliers, apalancamiento e influencia ... 26
g) Valoración del Modelo 1 para predicción ................................................................................ 31
ii. Modelo 2...................................................................................................................................... 37
a) Establecimiento teórico de la hipótesis para la selección de variables .................................. 37
b) Evaluación numérica de correlación entre las variables ......................................................... 37
c) Mapa de calor de las variables ............................................................................................... 38
d) Visualización gráfica de la data con línea de tendencia ......................................................... 39
e) Desarrollo y análisis del modelo con ANOVA ......................................................................... 43
f) Revisión de los PLOTS del Modelo 2, presencia de outliers, apalancamiento e influencia ... 47
g) Valoración del Modelo 2 para predicción ................................................................................ 53
iii. Modelo 3...................................................................................................................................... 59
a) Establecimiento teórico de la hipótesis para la selección de variables .................................. 59
b) Evaluación numérica de correlación entre las variables ......................................................... 59
c) Mapa de calor de las variables ............................................................................................... 60
d) Visualización gráfica de la data con línea de tendencia ......................................................... 61
e) Revisión de Estadísticos del Modelo 3 ................................................................................... 62
f) Revisión de los PLOTS del Modelo 3, presencia de outliers, apalancamiento e influencia ... 63
4. COMPARACIÓN DE MODELOS ..................................................................................................... 67
CONCLUSIONES ....................................................................................................................................... 68
RECOMENDACIONES PARA TRABAJOS FUTUROS ............................................................................. 68
ANÁLISIS, EVALUACIÓN Y COMPARACIÓN DE MODELOS

INTRODUCCIÓN
En general, los retrasos de los vuelos son un problema grave en muchas partes del mundo debido a que
repercute negativamente para todos los usuarios implicados. La saturación de muchos aeropuertos, así
como de la infraestructura y servicios de control del tráfico aéreo (ATC, air traffic control) hacen de esta
problemática en el transporte aéreo una relativa habitualidad.

En este contexto, este trabajo pretende describir los retrasos de los vuelos mediante la creación de un
modelo que se ajuste a las observaciones e información obtenida a lo largo del año 2013. Esta información
contiene variables de tipo climatológico y condicional (tales como la hora real de salida, hora programa de
salida, tiempo de vuelo, distancia entre aeropuertos, meses, etc.).

El diseño del modelo óptimo parte por el tratamiento de los datos. Luego se establecen tres características
combinadas entre variables climatológicas y condicionales en donde se ha observado influencia sobre el
retraso de los vuelos a lo largo de las referencias tomadas para la elaboración de este proyecto. Para la
selección de los tres mejores modelos, se hace un análisis previo con ANOVA de forma de seleccionar a
los mejores candidatos.

Finalmente mediante el uso de las herramientas AIB y BIC se selecciona el mejor modelo en base a su
cuantificador numérico propio de cada una de estas metodologías aplicadas para establecer las
conclusiones y recomendaciones obtenidas del desarrollo de este proyecto.

OBJETIVO
• Crear varios modelos de predicción del retraso de los vuelos (variable dep_delay), a partir de los
datos obtenidos de los datasets “flights”, “weather” y “planes”.

REFERENCIAS

• https://www.youtube.com/watch?v=JiKDQORgDvk&t=467s)
• https://www.youtube.com/watch?v=JiKDQORgDvk&t=467s)
• https://www.youtube.com/watch?v=tHkCyz8Rfkg
• https://www.youtube.com/watch?v=EnIaNFVC3vM

GLOSARIO DE VARIABLES
Tabla 1. Denominación de las variables del dataset flights
Nombre
Descripción Variable
Variable
Year Fecha de Salida (año)
Month Fecha de Salida (mes)
Day Fecha de Salida (día)
dep_time Hora real de salida [HMM]
sched_dep_time Hora programada de salida [formato HHMM o HMM]
dep_delay Retrasos de salida [minutos]. Los tiempos negativos representan salidas anticipadas
arr_time Hora real de llegada [formato HHMM o HMM]
sched_arr_time Hora programada de llegada [formato HHMM o HMM]
Retrasos de llegada [minutos]. Los tiempos negativos representan llegada
arr_delay
anticipadas
Carrier Nombre de Aerolínea
P á g i n a 4 | 68
ANÁLISIS, EVALUACIÓN Y COMPARACIÓN DE MODELOS

Nombre
Descripción Variable
Variable
Flight Número de vuelo
Año de fabricación / Tipo de avión / Fabricante / modelo / número de motores y
Tailnum
asientos / tipo de motor / velocidad promedio crucero
Origin Origen
Dest Destino
air_time Tiempo pasado en el Aire [minutos]
Distance Distancia entre aeropuertos [millas]
Hour Hora de salida programada dividida en horas
Minute Hora de salida programada dividida en minutos
Scheduled date and hour of the flight as a POSIXct date. Along with origin, can be
time_hour
used to join flights data to weather data

Tabla 2. Denominación de las variables del dataset weather


Nombre
Descripción Variable
Variable
Estación meteorológica. Origen designado para facilitar la fusión con los datos
origin
de los vuelos.
year Tiempo de grabación
month Tiempo de grabación
day Tiempo de grabación
hour Tiempo de grabación
temp Temperatura en [°F]
dewp Punto de Rocío en [°F]
humid Humedad Relativa [%]
wind_dir Dirección del viento [grados]
wind_speed Velocidad del viento [mph]
wind_gust Ráfaga de viento [mph]
precip Precipitaciones [pulgadas]
pressure Presión a nivel del mar [milibares]
visib Visibilidad [millas]
time_hour Date and hour of the recording as a POSIXct date

Tabla 3. Denominación de las variables del dataset planes


Nombre
Descripción Variable
Variable
Año de fabricación / Tipo de avión / Fabricante / modelo / número de motores y asientos
tailnum / tipo de motor / velocidad promedio crucero
year Tiempo de grabación
type Tipo de avión

P á g i n a 5 | 68
ANÁLISIS, EVALUACIÓN Y COMPARACIÓN DE MODELOS

Nombre
Descripción Variable
Variable
manufacturer Fabricante
model Modelo del avión
engine Número de motores
seats Número de asientos
speed Promedio crusing velocidad en mph (millas por hora)
engine Tipo de motor

GLOSARIO DE TÉRMINOS
• airlines: Nombre de las aerolíneas.
• airports: Información de la ubicación de aeropuertos.
• flights: Vuelos del 2013 que partieron de New York (JFK, LGA, EWR).
• planes: Detalles técnicos del vuelo.
• weather: Datos climatológicos de LGA, JFK y EWR.

P á g i n a 6 | 68
ANÁLISIS, EVALUACIÓN Y COMPARACIÓN DE MODELOS

DESARROLLO

1. TRABAJO PREPARATORIO

i. Inicialización de librerías requeridas para el proyecto


Código de Programación
rm(list=ls())
require(ggplot2)
require(coefplot)
require(reshape2)
require(boot)
require(nycflights13)
library(magrittr)
library(tidyverse)
require(scales)
library(caret)
require(coefplot)

ii. Inicialización de Datasets


Código de Programación
#INICIALIZACIÓN DATASET WEATHER
data(weather)
names(weather)
class(weather)

#INICIALIZACIÓN DATASET FLIGHTS


data(flights)
class(flights)
names(flights)

#INICIALIZACIÓN DATASET PLANES


data(planes)
class(planes)
names(planes)

Visualización de resultados Consola

> data(weather)
> names(weather)
[1] "origin" "year" "month" "day" "hour" "temp" "dewp" "humid" "wind_dir"
[10] "wind_speed" "wind_gust" "precip" "pressure" "visib" "time_hour"

> data(flights)
> names(flights)
[1] "year" "month" "day" "dep_time" "sched_dep_time" "dep_delay" "arr_time"
[8] "sched_arr_time" "arr_delay" "carrier" "flight" "tailnum" "origin" "dest"
[15] "air_time" "distance" "hour" "minute" "time_hour"

> data(planes)

> names(planes)
[1] "tailnum" "year" "type" "manufacturer" "model" "engines"
[7] "seats" "speed" "engine"
> class(planes)
[1] "tbl_df" "tbl" "data.frame"
> View(planes)

P á g i n a 7 | 68
ANÁLISIS, EVALUACIÓN Y COMPARACIÓN DE MODELOS

iii. Conversión a DataFrame


Código de Programación

w <- as.data.frame(weather)
f <- as.data.frame(flights)
p <- as.data.frame(planes)

2. LIMPIEZA Y TRATAMIENTO DE LOS DATOS

i. Redondeo de variables
Código de Programación
f$dep_time=round(f$dep_time,digits=-2)/100

f$sched_dep_time=round(f$sched_dep_time,digits=-2)/100

ii. Incluir variables desde el DataFrame “w” al DataFrame “f”


Las variables temp, dewp, humid, precip y visib son extraídas del DataFrame “w”, para ser integradas al
DataFrame “f”.
Código de Programación
#Incluir variable Temperatura
updatetemp <- function (row)
{
origen<-row[13] #nombre el aeropuerto
mes<-row[2]
dia<-row[3] #dia del mes 1 a 31
hora<-row[4] # hora formato 1 a 23
templist<-w[w$origin==origen &
w$month==as.numeric(mes) &
w$day==as.numeric(dia) &
w$hour==as.numeric(hora) ,6]
if( length(templist)> 1)
sprintf("mas de uno registro %s %s %s %s ", origen, mes , dia , hora )
temp=templist[1]
return(temp)
}

f$temp <- apply(f ,1, updatetemp)

P á g i n a 8 | 68
ANÁLISIS, EVALUACIÓN Y COMPARACIÓN DE MODELOS

Código de Programación
#Incluir variable punto de rocío
updatedewp <- function (row)
{
origen<-row[13] #nombre el aeropuerto
mes<-row[2]
dia<-row[3] #dia del mes 1 a 31
hora<-row[4] # hora formato 1 a 23
templist<-w[w$origin==origen &
w$month==as.numeric(mes) &
w$day==as.numeric(dia) &
w$hour==as.numeric(hora) ,7]
if( length(templist)> 1)
sprintf("mas de uno registro %s %s %s %s ", origen, mes , dia , hora )
temp=templist[1]
return(temp)
}

f$dewp <- apply(f ,1, updatedewp)

#Incluir variable humedad

updatehumid <- function (row)


{
origen<-row[13] #nombre el aeropuerto
mes<-row[2]
dia<-row[3] #dia del mes 1 a 31
hora<-row[4] # hora formato 1 a 23
templist<-w[w$origin==origen &
w$month==as.numeric(mes) &
w$day==as.numeric(dia) &
w$hour==as.numeric(hora) ,8]
if( length(templist)> 1)
sprintf("mas de uno registro %s %s %s %s ", origen, mes , dia , hora )
temp=templist[1]
return(temp)
}

f$humid <- apply(f ,1, updatehumid)

#Incluir variable precipitaciones

updateprecip <- function (row)


{
origen<-row[13] #nombre el aeropuerto
mes<-row[2]
dia<-row[3] #dia del mes 1 a 31
hora<-row[4] # hora formato 1 a 23
templist<-w[w$origin==origen &
w$month==as.numeric(mes) &
w$day==as.numeric(dia) &
w$hour==as.numeric(hora) ,12]
if( length(templist)> 1)
sprintf("mas de uno registro %s %s %s %s ", origen, mes , dia , hora )
temp=templist[1]
return(temp)
}

P á g i n a 9 | 68
ANÁLISIS, EVALUACIÓN Y COMPARACIÓN DE MODELOS

Código de Programación
f$precip <- apply(f ,1, updateprecip)

#2.A.5 Incluir variable visibilidad


updatevisib <- function (row)
{
origen<-row[13] #nombre el aeropuerto
mes<-row[2]
dia<-row[3] #dia del mes 1 a 31
hora<-row[4] # hora formato 1 a 23
templist<-w[w$origin==origen &
w$month==as.numeric(mes) &
w$day==as.numeric(dia) &
w$hour==as.numeric(hora) ,14]
if( length(templist)> 1)
sprintf("mas de uno registro %s %s %s %s ", origen, mes , dia , hora )
temp=templist[1]
return(temp)
}

f$visib <- apply(f ,1, updatevisib)

iii. Tratamiento de los valores “NA”


Una vez que las variables temp, dewp, humid, precip y visib han sido pegadas en el DataFrame “f”, con la
finalidad de dar tratamiento a los valores numéricos y categóricos con contenido “NA”, se hace uso de dos
funciones (rand.input y random.input.dataframe), mismas que permiten reemplazar los valores faltantes
con un valor aleatorio tomado del contenido de la misma variable en donde se aplica la esta técnica. El
uso de esta metodología permite por un lado asegurar que los valores tienen la misma probabilidad de ser
considerados como reemplazo de los valores “NA”, y por otro lado, reemplazar el contenido “NA” en
variables categóricas en donde no es posible substituir los valores por estadísticos tales como la media.
Código de Programación
#CREAR FUNCIONES PARA REEMPLAZAR VALORES NA POR VALORES ALEATORIOS DE LA MISMA MUESTRA EN
COLUMNAS FALTANTES
#(Referencia: https://www.youtube.com/watch?v=JiKDQORgDvk&t=467s)

#x es un vector de datos que puede contener NA


rand.input <- function(x){
# missing contiene un vector de valores T/F dependiendo del NA en x
missing <- is.na(x)
#n.missing contiene cuantos valores son NA dentro de x
n.missing <- sum(missing)
#x.obs son los valores conocidos que tienen un valor diferente de NA en x
x.obs <- x[!missing]
#por defecto devolveré lo mismo que había entrado por parámetro
inputed <- x
#En los valores NA los reemplazo por un valor de la muestra que si los conozco de forma aleatoria
inputed[missing] <- sample(x.obs, n.missing, replace = TRUE)
return(inputed)
}

# Para hacer uso de la función rand.input


#(Referencia: https://www.youtube.com/watch?v=JiKDQORgDvk&t=467s)

#llama a la función anterior para las columnas que me interese


random.input.dataframe <- function(dataframe, cols){
#Adquiero los nombres del dataframe que llega como parámetro
names <- names(dataframe)
#localizo los nombres del dataframe

P á g i n a 10 | 68
ANÁLISIS, EVALUACIÓN Y COMPARACIÓN DE MODELOS

for(col in cols){
#name <- paste(names[col], "inputed", sep = ".")
name <- names[col]
#Adquiere un valor aleatorio en los datos que contiene NA
dataframe[name] = rand.input(dataframe[,col])
}
dataframe
}

Ahora verificamos la existencia de valores “NA” en las variables del DataFrame “f”, luego estos son
reemplazados y finalmente se comprueba la existencia de valores “NA” en las variables donde se tenía
esta condición.
Código de Programación
#LIMPIEZA DE DATOS DE DATAFRAME f
#Revisamos si tenemos NA en las columnas de w

any(is.na(f$dep_time)) # Reemplazar contenido NA


any(is.na(f$dep_delay)) # Reemplazar contenido NA
any(is.na(f$arr_time)) # Reemplazar contenido NA
any(is.na(f$arr_delay)) # Reemplazar contenido NA
any(is.na(f$tailnum)) # Reemplazar contenido NA
any(is.na(f$air_time)) # Reemplazar contenido NA
any(is.na(f$distance)) # Reemplazar contenido NA
any(is.na(f$temp)) # Reemplazar contenido NA
any(is.na(f$dewp)) # Reemplazar contenido NA
any(is.na(f$humid)) # Reemplazar contenido NA
any(is.na(f$precip)) # Reemplazar contenido NA
any(is.na(f$visib)) # Reemplazar contenido NA
any(is.na(f$sched_dep_time))
any(is.na(f$month))

f <- random.input.dataframe(f,c(4,6,7,9,12,15))
f <- random.input.dataframe(f,c(20:24))
#Comprobamos la limpieza de NA en las variables del DataFrame "f"
any(is.na(f$dep_time)) # Reemplazar contenido NA
any(is.na(f$dep_delay)) # Reemplazar contenido NA
any(is.na(f$arr_time)) # Reemplazar contenido NA
any(is.na(f$arr_delay)) # Reemplazar contenido NA
any(is.na(f$tailnum)) # Reemplazar contenido NA
any(is.na(f$air_time)) # Reemplazar contenido NA
any(is.na(f$distance)) # Reemplazar contenido NA
any(is.na(f$temp)) # Reemplazar contenido NA
any(is.na(f$dewp)) # Reemplazar contenido NA
any(is.na(f$humid)) # Reemplazar contenido NA
any(is.na(f$precip)) # Reemplazar contenido NA
any(is.na(f$visib)) # Reemplazar contenido NA
any(is.na(f$sched_dep_time))
any(is.na(f$month))

Visualización de resultados en consola

P á g i n a 11 | 68
ANÁLISIS, EVALUACIÓN Y COMPARACIÓN DE MODELOS

> #LIMPIEZA DE DATOS DE DATAFRAME f


> #Revisamos si tenemos NA en las columnas de w
> any(is.na(f$dep_time)) # Reemplazar contenido NA
[1] TRUE
> any(is.na(f$dep_delay)) # Reemplazar contenido NA
[1] TRUE
> any(is.na(f$arr_time)) # Reemplazar contenido NA
[1] TRUE
> any(is.na(f$arr_delay)) # Reemplazar contenido NA
[1] TRUE
> any(is.na(f$tailnum)) # Reemplazar contenido NA
[1] TRUE
> any(is.na(f$air_time)) # Reemplazar contenido NA
[1] TRUE
> any(is.na(f$distance)) # Reemplazar contenido NA
[1] TRUE
> any(is.na(f$temp)) # Reemplazar contenido NA
[1] TRUE
> any(is.na(f$dewp)) # Reemplazar contenido NA
[1] TRUE
> any(is.na(f$humid)) # Reemplazar contenido NA
[1] TRUE
> any(is.na(f$precip)) # Reemplazar contenido NA
[1] TRUE
> any(is.na(f$visib)) # Reemplazar contenido NA
[1] TRUE
> any(is.na(f$sched_dep_time)) # Reemplazar contenido NA
[1] TRUE

> f <- random.input.dataframe(f,c(4,5,6,7,9,12,14,15,16))


> f <- random.input.dataframe(f,c(20:24))

> #Comprobamos la limpieza de NA en las variables del DataFrame "f"


> any(is.na(f$dep_time)) # Reemplazar contenido NA
[1] FALSE
> any(is.na(f$dep_delay)) # Reemplazar contenido NA
[1] FALSE
> any(is.na(f$arr_time)) # Reemplazar contenido NA
[1] FALSE
> any(is.na(f$arr_delay)) # Reemplazar contenido NA
[1] FALSE
> any(is.na(f$tailnum)) # Reemplazar contenido NA
[1] FALSE
> any(is.na(f$air_time)) # Reemplazar contenido NA
[1] FALSE
> any(is.na(f$distance)) # Reemplazar contenido NA
[1] FALSE
> any(is.na(f$temp)) # Reemplazar contenido NA
[1] FALSE
> any(is.na(f$dewp)) # Reemplazar contenido NA
[1] FALSE
> any(is.na(f$humid)) # Reemplazar contenido NA
[1] FALSE
> any(is.na(f$precip)) # Reemplazar contenido NA
[1] FALSE
> any(is.na(f$visib)) # Reemplazar contenido NA
[1] FALSE
> any(is.na(f$sched_dep_time)) # Reemplazar contenido NA
[1] FALSE

Para el segundo modelo necesitamos definir a la variable month como string, ya que actualmente está definida como entero

f<- f %>% mutate(month=as.character(month))

P á g i n a 12 | 68
ANÁLISIS, EVALUACIÓN Y COMPARACIÓN DE MODELOS

iv. Aplicación de filtro en variable de respuesta


Considerando que el modelo trata de predecir el retraso de los vuelos (dep_delay), entonces se aplicamos
un filtro para valores positivos en esta variable, toda vez que los números negativos son indicadores de
vuelos que llegaron a tiempo. Así que creamos la base de datos f2.
Código de Programación
#Filtrar base solo con los vuelos que se retrasaron

f2 <- f %>% filter(dep_delay > 0)

v. Segmentación de los datos para entrenamiento (train.data) y evaluación (test.data)


Para la creación y evaluación de los modelos, segmentamos los datos del DataFrame “f2” en razón 80/20,
obteniendo 105280 observaciones para entrenamiento y 26317 observaciones para evaluación.
Código de Programación
set.seed(123)
training.samples <- f2$dep_delay %>% createDataPartition(p = 0.8, list = FALSE)
train.data <- f2[training.samples, ]
test.data <- f2[-training.samples, ]
sprintf('La cantidad de datos de entrenamiento es %d',NROW(train.data))
sprintf('La cantidad de datos de test es %d',NROW(test.data))
Visualización de resultados en consola
> set.seed(123)
> training.samples <- f2$dep_delay %>% createDataPartition(p = 0.8, list = FALSE)
> train.data <- f2[training.samples, ]
> test.data <- f2[-training.samples, ]
> sprintf('La cantidad de datos de entrenamiento es %d',NROW(train.data))
[1] "La cantidad de datos de entrenamiento es 105280"
> sprintf('La cantidad de datos de test es %d',NROW(test.data))
[1] "La cantidad de datos de test es 26317"

P á g i n a 13 | 68
ANÁLISIS, EVALUACIÓN Y COMPARACIÓN DE MODELOS

3. CREACIÓN DE MODELOS DE PREDICCIÓN

i. Modelo 1

a) Establecimiento teórico de la hipótesis para la selección de variables


Para la construcción del modelo 1, se utilizan variables meteorológicas (clima), considerando las siguientes
pautas:

• Cuando la temperatura (temp) y el punto de rocío (dew point) están muy cerca (menos de 5
grados), en los aeropuertos se tienen presencia de nubes bajas, poca visibilidad y formación de
neblina toda vez que la atmósfera está saturada al 100% de la humedad (humid), consecuencia
de esto se tiene poca visibilidad (visib) en los aeropuertos tanto de origen (origin) y destino
(dest).

b) Evaluación numérica de correlación entre las variables


Código de Programación
corr_modelo1 <- cor(f2[,c(6,20:24)])
corr_modelo1
Visualización de resultados en consola

dep_delay temp dewp humid precip visib


dep_delay 1 0.04853587 0.11106517 0.1531572 0.03613508 -0.05211949
temp 0.04853587 1 0.85933804 0.03039663 0.00974922 0.13076654
dewp 0.11106517 0.85933804 1 0.46942447 0.10331768 -0.09461539
humid 0.1531572 0.03039663 0.46942447 1 0.24341377 -0.53128955
precip 0.03613508 0.00974922 0.10331768 0.24341377 1 -0.32316566
visib -0.05211949 0.13076654 -0.09461539 -0.53128955 -0.32316566 1

Interpretación:

• En general, la correlación de la variable de respuesta con las variables temp, dewp, humid y precip
es baja.
• Toda vez que la mayor correlación se observa con la variable humid, esta será considerada como
candidata a elegible para el modelo 1, sin embargo, dado su baja correlación (0.15), pues se
espera que el modelo no describa adecuadamente la variable de respuesta.
• Se observa una alta correlación entre las variables predictoras temp y dewp (0.85). Esta respuesta
es esperada, considerando que, de acuerdo con la investigación previa, al igualarse la temperatura
con el punto de rocío se tiene como respuesta poca visibilidad, alta humedad y nubosidad (nubes
bajas). Con este antecedente se descarta utilizar estas variables para el modelado (posible
multicolinealidad), se utilizara la variable humid por ser la variable con mayor correlación con la
variable de respuesta.

P á g i n a 14 | 68
ANÁLISIS, EVALUACIÓN Y COMPARACIÓN DE MODELOS

c) Mapa de calor de las variables


Código de Programación
cor_modelo1_melted <- melt(corr_modelo1, varname=c("X","Y"), value.name="Correlacion")
cor_modelo1_melted <- cor_modelo1_melted[order(cor_modelo1_melted$Correlacion),]

ggplot(cor_modelo1_melted, aes(x=X , y=Y)) +


geom_tile(aes(fill=Correlacion))+
scale_fill_gradient2(low=muted("steelblue"), mid="white" , high="red")+
theme_minimal() +
labs(x=NULL , y=NULL)
Visualización de resultados en consola

Interpretación:

• Gráficamente apreciamos que si bien las variables humid, dewp y temp tienen una correlación fría
respecto a la variable de respuesta, estas tienen mejor correlación con respecto a las variables
visib y precip.
• También se observa alta correlación entre las variables predictoras temp y dewp, de acuerdo con
lo esperado y explicado en la sección anterior, por lo que únicamente se utilizara la variable humid.

P á g i n a 15 | 68
ANÁLISIS, EVALUACIÓN Y COMPARACIÓN DE MODELOS

d) Visualización gráfica de la data con línea de tendencia


Código de Programación
ggplot(train.data, aes(humid, dep_delay) ) +
geom_point() +
stat_smooth()
Visualización de resultados en consola

Interpretación:

• De acuerdo con lo esperado, la distribución de las observaciones no describe una función


conocida, es decir, no podría ser descrita perfectamente con modelos lineales.
• Con este antecedente, se buscará mejorar el modelo con las variables origen y destino, asumiendo
que la humedad podría estar presente en la partida, llegada o ambos que retrasará la salida de
los vuelos.

e) Desarrollo y análisis del modelo con ANOVA


Partiendo de la sección anterior, la variable humedad será analizada de forma anidada con las variables
origen (origin) y destino (dest), buscando el mejor ajuste para la selección del candidato a Modelo 1.

P á g i n a 16 | 68
ANÁLISIS, EVALUACIÓN Y COMPARACIÓN DE MODELOS

Desarrollo de modelos candidatos a Modelo 1:


Código de Programación
Modelo1_1 <- lm(dep_delay ~ humid, data=train.data)
summary(Modelo1_1)
coefplot(Modelo1_1)
Visualización de resultados en consola

Call:
lm(formula = dep_delay ~ humid, data = train.data)

Residuals:
Min 1Q Median 3Q Max
-54.12 -30.70 -18.28 11.11 1254.48

Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 14.270724 0.528037 27.03 <2e-16 ***
humid 0.408483 0.008198 49.83 <2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 53.73 on 105278 degrees of


freedom
Multiple R-squared: 0.02304, Adjusted R-squared:
0.02303
F-statistic: 2483 on 1 and 105278 DF, p-value: < 2.2e-16

Interpretación:

• El R2 ajustado es 0.02303, de acuerdo con lo previsto en la sección anterior, es lógico el valor


obtenido, pues las observaciones visualmente no se ajustan al modelo propuesto. El valor
propuesto significa que únicamente el 2.303% de las observaciones son explicadas por el modelo.
• Si bien la probabilidad que la variable humid sea cero es nula, la gráfica muestra que la variable
humedad, no es tan buena para describir el modelo.

Código de Programación
Modelo1_2 <- lm(dep_delay ~ humid+dest, data=train.data)
summary(Modelo1_2)
coefplot(Modelo1_2)
Visualización de resultados en consola

Call:
lm(formula = dep_delay ~ humid + dest, data = train.data)

Residuals:
Min 1Q Median 3Q Max
-75.40 -30.19 -16.77 10.71 1258.08

Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.689027 5.645453 0.122 0.902860
humid 0.419580 0.008161 51.414 < 2e-16 ***
destACK 2.642299 8.750392 0.302 0.762681
destALB 24.058062 6.959139 3.457 0.000546 ***
destANC 0.796296 24.475770 0.033 0.974046
destATL 15.421125 5.666264 2.722 0.006498 **
destAUS 7.846422 5.916079 1.326 0.184747
destAVL 8.920952 8.455974 1.055 0.291433
destBDL 18.037756 7.027347 2.567 0.010266 *
P á g i n a 17 | 68
ANÁLISIS, EVALUACIÓN Y COMPARACIÓN DE MODELOS

destBGR 28.304297 7.271226 3.893 9.92e-05 ***


destBHM 37.357459 7.587563 4.924 8.51e-07 ***
destBNA 19.780967 5.737287 3.448 0.000565 ***
destBOS 10.681774 5.677914 1.881 0.059936 .
destBQN 4.311631 6.387497 0.675 0.499670
destBTV 15.922815 5.927866 2.686 0.007230 **
destBUF 17.402498 5.793992 3.004 0.002669 **
destBUR 13.604206 7.414871 1.835 0.066550 .
destBWI 22.791689 6.045309 3.770 0.000163 ***
destBZN 2.854659 17.014281 0.168 0.866757
destCAE 32.155973 8.878524 3.622 0.000293 ***
destCAK 25.588166 6.348073 4.031 5.56e-05 ***
destCHO 36.789224 14.087039 2.612 0.009014 **
destCHS 21.580626 5.904828 3.655 0.000258 ***
destCLE 16.847430 5.792848 2.908 0.003635 **
destCLT 14.049447 5.686266 2.471 0.013484 *
destCMH 19.526915 5.857833 3.333 0.000858 ***
destCRW 21.579875 10.212157 2.113 0.034590 *
destCVG 29.357745 5.811513 5.052 4.39e-07 ***
destDAY 23.381087 6.089293 3.840 0.000123 ***
destDCA 15.826534 5.711009 2.771 0.005585 **
destDEN 7.178935 5.702852 1.259 0.208094
destDFW 13.077612 5.731753 2.282 0.022514 *
destDSM 35.163452 6.692620 5.254 1.49e-07 ***
destDTW 19.259911 5.717247 3.369 0.000755 ***
destEGE 15.009673 8.186065 1.834 0.066722 .
destEYW -7.796309 20.902124 -0.373 0.709156
destFLL 10.271698 5.676554 1.809 0.070377 .
destGRR 22.723082 6.472422 3.511 0.000447 ***
destGSO 24.575569 6.036687 4.071 4.68e-05 ***
destGSP 20.700277 6.390578 3.239 0.001199 **
destHDN -4.888394 18.622798 -0.262 0.792940
destHNL 9.099253 6.636731 1.371 0.170364
destHOU 8.563214 5.932328 1.443 0.148887
destIAD 23.323303 5.752413 4.055 5.03e-05 ***
destIAH 2.141205 5.710170 0.375 0.707675
destILM 28.477208 10.122862 2.813 0.004907 **
destIND 21.131450 6.007549 3.517 0.000436 ***
destJAC 9.390147 14.855670 0.632 0.527328
destJAX 16.364617 5.873595 2.786 0.005335 **
destLAS 4.473708 5.755802 0.777 0.437012
destLAX 1.147688 5.663547 0.203 0.839413
destLGB 4.722913 6.562799 0.720 0.471743
destMCI 27.558206 5.959166 4.625 3.76e-06 ***
destMCO 8.948151 5.672765 1.577 0.114709
destMDW 9.551944 5.751962 1.661 0.096789 .
destMEM 17.466894 6.024597 2.899 0.003741 **
destMHT 21.738709 6.230013 3.489 0.000484 ***
destMIA 7.189711 5.691218 1.263 0.206484
destMKE 17.647373 5.845267 3.019 0.002536 **
destMSN 31.097524 6.712404 4.633 3.61e-06 ***
destMSP 19.363632 5.735300 3.376 0.000735 ***
destMSY 17.369070 5.825077 2.982 0.002866 **
destMTJ -2.822505 18.622908 -0.152 0.879534
destMVY -0.052582 8.834282 -0.006 0.995251
destMYR 13.691126 12.042719 1.137 0.255591
destOAK 4.277114 7.571263 0.565 0.572133
destOKC 26.900605 7.027163 3.828 0.000129 ***
destOMA 23.235512 6.410044 3.625 0.000289 ***
destORD 16.875206 5.663319 2.980 0.002886 **
destORF 20.153032 6.085577 3.312 0.000928 ***
destPBI 9.092092 5.723983 1.588 0.112194
destPDX 7.457349 6.041463 1.234 0.217071
destPHL 16.090149 6.163011 2.611 0.009035 **
destPHX 4.904025 5.779977 0.848 0.396189
destPIT 20.776874 5.908704 3.516 0.000438 ***

P á g i n a 18 | 68
ANÁLISIS, EVALUACIÓN Y COMPARACIÓN DE MODELOS

destPSE 0.005136 7.388895 0.001 0.999445


destPSP -17.996008 38.082240 -0.473 0.636531
destPVD 22.849937 7.149223 3.196 0.001393 **
destPWM 18.249454 5.927716 3.079 0.002080 **
destRDU 17.964612 5.723469 3.139 0.001697 **
destRIC 28.738349 5.894725 4.875 1.09e-06 ***
destROC 22.637085 5.941183 3.810 0.000139 ***
destRSW 5.086334 5.847994 0.870 0.384435
destSAN 3.323390 5.867348 0.566 0.571109
destSAT 17.314358 6.463350 2.679 0.007389 **
destSAV 23.824826 6.450485 3.693 0.000221 ***
destSBN 13.870425 24.474996 0.567 0.570907
destSDF 22.449990 6.281601 3.574 0.000352 ***
destSEA 3.354932 5.804346 0.578 0.563263
destSFO 7.973587 5.670256 1.406 0.159664
destSJC 0.210139 7.511256 0.028 0.977681
destSJU 1.801546 5.751024 0.313 0.754086
destSLC 2.979679 5.962869 0.500 0.617283
destSMF 11.196455 7.586802 1.476 0.140006
destSNA -1.878531 6.466546 -0.290 0.771434
destSRQ 10.364387 6.431286 1.612 0.107061
destSTL 16.977758 5.779980 2.937 0.003311 **
destSTT -5.522202 7.197267 -0.767 0.442926
destSYR 14.945649 6.058772 2.467 0.013635 *
destTPA 11.935912 5.724194 2.085 0.037056 *
destTUL 35.043843 7.207143 4.862 1.16e-06 ***
destTVC 39.830798 11.230414 3.547 0.000390 ***
destTYS 35.120346 6.569682 5.346 9.02e-08 ***
destXNA 12.988254 6.657206 1.951 0.051059 .
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 53.27 on 105176 degrees of


freedom
Multiple R-squared: 0.04075, Adjusted R-squared:
0.03981
F-statistic: 43.38 on 103 and 105176 DF, p-value: < 2.2e-16

Interpretación:

• El R2 ajustado es 0.03981, esto podría interpretarse que la humedad en los destinos de los vuelos,
retrasan los vuelos. El valor propuesto significa que únicamente el 3.981% de las observaciones
son explicadas por el modelo.
• Pese a esta mejora, los residuos muestran que el modelo no es bueno.

P á g i n a 19 | 68
ANÁLISIS, EVALUACIÓN Y COMPARACIÓN DE MODELOS

Código de Programación
Modelo1_3 <- lm(dep_delay ~ humid+dest:origin, data=train.data)
summary(Modelo1_3)
coefplot(Modelo1_3)
Visualización de resultados en consola

Call:
lm(formula = dep_delay ~ humid + dest:origin, data =
train.data)

Residuals:
Min 1Q Median 3Q Max
-84.72 -30.05 -16.28 10.75 1231.80

Coefficients: (88 not defined because of singularities)


Estimate Std. Error t value Pr(>|t|)
(Intercept) 18.201825 4.293446 4.239 2.24e-05 ***
humid 0.422401 0.008193 51.554 < 2e-16 ***
destABQ:originEWR NA NA NA NA
destACK:originEWR NA NA NA NA
destALB:originEWR 6.381831 5.917857 1.078 0.280857
destANC:originEWR -16.843681 24.143271 -0.698
0.485394
destATL:originEWR 3.507661 4.483216 0.782 0.433982
destAUS:originEWR -12.370315 5.154573 -2.400
0.016403 *
destAVL:originEWR -7.728026 7.689838 -1.005
0.314916
destBDL:originEWR 0.358323 5.997710 0.060 0.952360
destBGR:originEWR NA NA NA NA
destBHM:originEWR NA NA NA NA
destBNA:originEWR 1.087139 4.651641 0.234
0.815210
destBOS:originEWR -7.094497 4.452027 -1.594
0.111041
destBQN:originEWR -9.449531 5.944072 -1.590
0.111896
destBTV:originEWR -2.075225 5.124389 -0.405
0.685500
destBUF:originEWR -1.070289 5.191978 -0.206
0.836680
destBUR:originEWR NA NA NA NA
destBWI:originEWR 0.908987 5.724434 0.159 0.873834
destBZN:originEWR -14.827470 16.579664 -0.894
0.371155
destCAE:originEWR 15.130954 8.454975 1.790
0.073522 .
destCAK:originEWR NA NA NA NA
destCHO:originEWR NA NA NA NA
destCHS:originEWR 3.301844 4.908910 0.673
0.501189
destCLE:originEWR -11.541924 4.806291 -2.401
0.016333 *
destCLT:originEWR -1.457648 4.527396 -0.322
0.747482
destCMH:originEWR -1.480055 5.546540 -0.267
0.789591
destCRW:originEWR NA NA NA NA
destCVG:originEWR 12.493884 4.663165 2.679
0.007379 **
destDAY:originEWR 5.125013 4.964557 1.032
0.301924
destDCA:originEWR 2.677514 4.706718 0.569
0.569445
destDEN:originEWR -13.538274 4.516727 -2.997
0.002724 **
P á g i n a 20 | 68
ANÁLISIS, EVALUACIÓN Y COMPARACIÓN DE MODELOS

destDFW:originEWR 0.466229 4.652282 0.100


0.920174
destDSM:originEWR 22.019720 6.016776 3.660
0.000253 ***
destDTW:originEWR 4.371180 4.584988 0.953
0.340406
destEGE:originEWR -9.615423 10.454257 -0.920
0.357700
destEYW:originEWR NA NA NA NA
destFLL:originEWR -9.248855 4.493318 -2.058 0.039558
*
destGRR:originEWR 5.042492 5.365653 0.940
0.347337
destGSO:originEWR 4.534706 4.996978 0.907
0.364150
destGSP:originEWR 3.810942 5.329958 0.715
0.474608
destHDN:originEWR -22.569135 18.218746 -1.239
0.215427
destHNL:originEWR -15.048963 5.807648 -2.591
0.009565 **
destHOU:originEWR -6.454022 4.975055 -1.297
0.194539
destIAD:originEWR 3.978309 4.963094 0.802 0.422799
destIAH:originEWR -17.374331 4.462559 -3.893 9.89e-05
***
destILM:originEWR NA NA NA NA
destIND:originEWR 1.842275 5.027331 0.366 0.714029
destJAC:originEWR -2.729916 15.342871 -0.178
0.858780
destJAX:originEWR -1.406713 4.893081 -0.287 0.773738
destLAS:originEWR -13.397770 4.723078 -2.837
0.004560 **
destLAX:originEWR -16.903886 4.434538 -3.812
0.000138 ***
destLGB:originEWR NA NA NA NA
destMCI:originEWR 9.133754 4.875768 1.873 0.061030
.
destMCO:originEWR -13.161919 4.456054 -2.954
0.003140 **
destMDW:originEWR -7.284557 4.643920 -1.569
0.116739
destMEM:originEWR 1.515937 5.154454 0.294
0.768680
destMHT:originEWR 2.934200 5.154485 0.569
0.569186
destMIA:originEWR -9.854586 4.630672 -2.128 0.033330
*
destMKE:originEWR 9.192037 4.973542 1.848
0.064578 .
destMSN:originEWR 11.031473 6.359813 1.735
0.082822 .
destMSP:originEWR 3.863619 4.689387 0.824
0.409994
destMSY:originEWR 2.449107 4.955828 0.494
0.621175
destMTJ:originEWR -20.496826 18.218735 -1.125
0.260574
destMVY:originEWR NA NA NA NA
destMYR:originEWR -2.321025 11.655898 -0.199
0.842162
destOAK:originEWR NA NA NA NA
destOKC:originEWR 9.216613 5.997761 1.537
0.124376
destOMA:originEWR 3.709468 5.384518 0.689
0.490879

P á g i n a 21 | 68
ANÁLISIS, EVALUACIÓN Y COMPARACIÓN DE MODELOS

destORD:originEWR -4.908641 4.423102 -1.110


0.267099
destORF:originEWR -1.400267 5.615441 -0.249
0.803083
destPBI:originEWR -13.109105 4.612799 -2.842
0.004485 **
destPDX:originEWR -9.839700 5.388305 -1.826
0.067835 .
destPHL:originEWR 1.018028 13.575694 0.075
0.940224
destPHX:originEWR -11.101116 4.613849 -2.406
0.016128 *
destPIT:originEWR 0.716792 6.319395 0.113 0.909692
destPSE:originEWR NA NA NA NA
destPSP:originEWR NA NA NA NA
destPVD:originEWR 5.177675 6.138952 0.843
0.398999
destPWM:originEWR 10.572831 5.227213 2.023
0.043112 *
destRDU:originEWR 1.948682 4.903988 0.397
0.691098
destRIC:originEWR 10.987429 4.747643 2.314
0.020654 *
destROC:originEWR 14.280107 5.536521 2.579
0.009903 **
destRSW:originEWR -18.895705 4.998702 -3.780
0.000157 ***
destSAN:originEWR -16.156954 4.913933 -3.288
0.001009 **
destSAT:originEWR -4.531354 6.195352 -0.731
0.464529
destSAV:originEWR 6.796975 5.343933 1.272
0.203410
destSBN:originEWR -38.940927 53.306506 -0.731
0.465080
destSDF:originEWR 4.282622 5.224505 0.820
0.412379
destSEA:originEWR -12.394808 4.717061 -2.628
0.008599 **
destSFO:originEWR -13.240356 4.420284 -2.995
0.002742 **
destSJC:originEWR NA NA NA NA
destSJU:originEWR -23.121120 5.064337 -4.565 4.99e-
06 ***
destSLC:originEWR 0.979466 6.539653 0.150 0.880944
destSMF:originEWR NA NA NA NA
destSNA:originEWR -19.562210 5.333447 -3.668
0.000245 ***
destSRQ:originEWR NA NA NA NA
destSTL:originEWR 2.706356 4.587760 0.590 0.555254
destSTT:originEWR -26.204311 7.651755 -3.425
0.000616 ***
destSYR:originEWR -12.198953 8.577733 -1.422
0.154981
destTPA:originEWR -11.794959 4.628651 -2.548
0.010828 *
destTUL:originEWR 17.345673 6.207435 2.794
0.005202 **
destTVC:originEWR -7.532764 19.264955 -0.391
0.695792
destTYS:originEWR 31.874544 6.139342 5.192 2.09e-
07 ***
destXNA:originEWR -15.549115 7.769164 -2.001
0.045353 *
destABQ:originJFK -17.715559 7.042777 -2.515 0.011890
*

P á g i n a 22 | 68
ANÁLISIS, EVALUACIÓN Y COMPARACIÓN DE MODELOS

destACK:originJFK -15.052911 7.939423 -1.896 0.057967


.
destALB:originJFK NA NA NA NA
destANC:originJFK NA NA NA NA
destATL:originJFK -15.910441 4.771504 -3.334 0.000855
***
destAUS:originJFK -8.070179 4.909436 -1.644 0.100218
destAVL:originJFK NA NA NA NA
destBDL:originJFK NA NA NA NA
destBGR:originJFK NA NA NA NA
destBHM:originJFK -45.674005 53.306840 -0.857
0.391550
destBNA:originJFK 1.675372 5.369455 0.312 0.755027
destBOS:originJFK -5.841380 4.460036 -1.310 0.190295
destBQN:originJFK -18.018407 6.185350 -2.913
0.003580 **
destBTV:originJFK -4.553758 5.111497 -0.891 0.372993
destBUF:originJFK -0.372840 4.573962 -0.082 0.935034
destBUR:originJFK -4.091665 6.446159 -0.635 0.525596
destBWI:originJFK 8.159918 5.096636 1.601 0.109371
destBZN:originJFK NA NA NA NA
destCAE:originJFK NA NA NA NA
destCAK:originJFK NA NA NA NA
destCHO:originJFK NA NA NA NA
destCHS:originJFK -0.771162 5.632728 -0.137 0.891104
destCLE:originJFK 1.918873 5.453603 0.352 0.724948
destCLT:originJFK -11.588418 4.670151 -2.481 0.013089
*
destCMH:originJFK 3.219994 5.274675 0.610 0.541556
destCRW:originJFK NA NA NA NA
destCVG:originJFK 11.795603 5.036649 2.342 0.019185
*
destDAY:originJFK NA NA NA NA
destDCA:originJFK 0.671275 4.617556 0.145 0.884415
destDEN:originJFK -7.486857 5.287509 -1.416 0.156793
destDFW:originJFK -10.760049 5.271347 -2.041
0.041230 *
destDSM:originJFK NA NA NA NA
destDTW:originJFK -1.105886 5.031116 -0.220 0.826020
destEGE:originJFK 1.737951 8.708332 0.200 0.841815
destEYW:originJFK NA NA NA NA
destFLL:originJFK -12.109963 4.485783 -2.700 0.006943
**
destGRR:originJFK NA NA NA NA
destGSO:originJFK NA NA NA NA
destGSP:originJFK NA NA NA NA
destHDN:originJFK NA NA NA NA
destHNL:originJFK 17.642606 8.997592 1.961 0.049903
*
destHOU:originJFK -7.969349 5.711640 -1.395 0.162934
destIAD:originJFK 4.869469 4.659736 1.045 0.296021
destIAH:originJFK -4.099969 7.017847 -0.584 0.559073
destILM:originJFK NA NA NA NA
destIND:originJFK 6.510100 5.609967 1.160 0.245867
destJAC:originJFK -44.613707 37.814244 -1.180
0.238078
destJAX:originJFK -0.061945 5.002309 -0.012 0.990120
destLAS:originJFK -13.105024 4.562991 -2.872 0.004079
**
destLAX:originJFK -16.328231 4.368308 -3.738 0.000186
***
destLGB:originJFK -12.960077 5.449134 -2.378 0.017391
*
destMCI:originJFK 11.423711 6.924023 1.650 0.098973
.

P á g i n a 23 | 68
ANÁLISIS, EVALUACIÓN Y COMPARACIÓN DE MODELOS

destMCO:originJFK -11.723216 4.453874 -2.632


0.008486 **
destMDW:originJFK NA NA NA NA
destMEM:originJFK -21.516060 53.306622 -0.404
0.686487
destMHT:originJFK NA NA NA NA
destMIA:originJFK -14.485477 4.583373 -3.160 0.001576
**
destMKE:originJFK 0.208405 7.474151 0.028 0.977755
destMSN:originJFK NA NA NA NA
destMSP:originJFK 0.388544 4.961846 0.078 0.937585
destMSY:originJFK -4.284557 4.882084 -0.878 0.380158
destMTJ:originJFK NA NA NA NA
destMVY:originJFK -17.752786 8.031551 -2.210
0.027081 *
destMYR:originJFK NA NA NA NA
destOAK:originJFK -13.423140 6.624811 -2.026 0.042748
*
destOKC:originJFK NA NA NA NA
destOMA:originJFK NA NA NA NA
destORD:originJFK 4.018879 4.632801 0.867 0.385679
destORF:originJFK 5.650490 5.462310 1.034 0.300928
destPBI:originJFK -6.614576 4.759082 -1.390 0.164567
destPDX:originJFK -10.576335 5.228018 -2.023 0.043075
*
destPHL:originJFK 4.515850 5.274636 0.856 0.391920
destPHX:originJFK -15.380482 4.792358 -3.209 0.001331
**
destPIT:originJFK -1.708095 5.080174 -0.336 0.736700
destPSE:originJFK -17.709302 6.417429 -2.760 0.005789
**
destPSP:originJFK -35.678967 37.813988 -0.944
0.345408
destPVD:originJFK NA NA NA NA
destPWM:originJFK -7.214355 5.053174 -1.428
0.153385
destRDU:originJFK 1.133134 4.607499 0.246 0.805735
destRIC:originJFK 13.540272 7.578496 1.787 0.073994
.
destROC:originJFK 1.355070 4.928565 0.275 0.783361
destRSW:originJFK -8.410961 5.008493 -1.679 0.093089
.
destSAN:originJFK -12.667690 4.878195 -2.597 0.009411
**
destSAT:originJFK 3.865184 6.231611 0.620 0.535092
destSAV:originJFK NA NA NA NA
destSBN:originJFK NA NA NA NA
destSDF:originJFK 14.844849 17.336506 0.856
0.391847
destSEA:originJFK -16.555543 4.776931 -3.466 0.000529
***
destSFO:originJFK -6.649497 4.400955 -1.511 0.130812
destSJC:originJFK -17.490012 6.556484 -2.668 0.007641
**
destSJU:originJFK -14.010279 4.489564 -3.121 0.001805
**
destSLC:originJFK -17.773113 4.796326 -3.706 0.000211
***
destSMF:originJFK -6.508959 6.642750 -0.980 0.327158
destSNA:originJFK NA NA NA NA
destSRQ:originJFK -13.567286 7.041858 -1.927
0.054024 .
[ reached getOption("max.print") -- omitted 111 rows ]
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

P á g i n a 24 | 68
ANÁLISIS, EVALUACIÓN Y COMPARACIÓN DE MODELOS

Residual standard error: 53.14 on 105057 degrees of


freedom
Multiple R-squared: 0.04659, Adjusted R-squared:
0.04457
F-statistic: 23.12 on 222 and 105057 DF, p-value: < 2.2e-
16

Interpretación:

• El R2 ajustado es 0.04457, esto podría interpretarse que la humedad en los destinos de los vuelos,
retrasan los vuelos. El valor propuesto significa que únicamente el 4.457% de las observaciones
son explicadas por el modelo.
• Pese a esta mejora, los residuos muestran que el modelo no es bueno.

Selección de candidato a Modelo 1 mediante análisis con ANOVA:


Código de Programación
sprintf("El Modelo1_1 tiene %d coeficientes ",length(Modelo1_1$coefficients)) #2 COEFICIENTES
sprintf("El Modelo1_2 tiene %d coeficientes ",length(Modelo1_2$coefficients)) #104 COEFICIENTES
sprintf("El Modelo1_3 tiene %d coeficientes ",length(Modelo1_3$coefficients)) #311 COEFICIENTES

anovamodelo1 <- anova(Modelo1_1, Modelo1_2, Modelo1_3)


anovamodelo1
qfcalculado <- anovamodelo1$F

glnum <- length(Modelo1_1$coefficients) -1


glden <- length(Modelo1_1$residuals) -length(Modelo1_1$coefficients)
qfcritico <- qf(.95, df1 = glnum, df2 = glden , )
dff <- data.frame(X=rf(1000, df1 = glnum, df2 = glden))

ggplot( data=dff , aes(x=X)) +


geom_density()+
geom_vline(xintercept= qfcritico)+
geom_vline(xintercept= qfcalculado)+
annotate("text", x = qfcritico, y = 2, label = "Fcritico")+
annotate("text", x = qfcalculado, y = 2, label = "Fcalculado")
Visualización de resultados en consola

> sprintf("El Modelo1_1 tiene %d coeficientes


",length(Modelo1_1$coefficients)) #2 COEFICIENTES
[1] "El Modelo1_1 tiene 2 coeficientes "
> sprintf("El Modelo1_2 tiene %d coeficientes
",length(Modelo1_2$coefficients)) #104 COEFICIENTES
[1] "El Modelo1_2 tiene 104 coeficientes "
> sprintf("El Modelo1_3 tiene %d coeficientes
",length(Modelo1_3$coefficients)) #311 COEFICIENTES
[1] "El Modelo1_3 tiene 311 coeficientes "
> anovamodelo1 <- anova(Modelo1_1, Modelo1_2,
Modelo1_3)
> anovamodelo1
Analysis of Variance Table

Model 1: dep_delay ~ humid


Model 2: dep_delay ~ humid + dest
Model 3: dep_delay ~ humid + dest:origin
Res.Df RSS Df Sum of Sq F Pr(>F)
1 105278 303939021
2 105176 298430793 102 5508229 19.1269 < 2.2e-16 ***
3 105057 296614088 119 1816705 5.4072 < 2.2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

P á g i n a 25 | 68
ANÁLISIS, EVALUACIÓN Y COMPARACIÓN DE MODELOS

Interpretación:

• Observamos que al aplicar ANOVA, éste rechaza la hipótesis nula y toma la hipótesis alternativa,
siendo estas el Modelo1_2 y Modelo1_3.
• De acuerdo con el valor de los residuos y la gráfica, observamos que el Modelo1_3 es el mejor
modelo.

f) Revisión de los PLOTS del Modelo 1, presencia de outliers, apalancamiento e influencia


Revisión de Plots Modelo 1:
Código de Programación
Modelo1 <- Modelo1_3
summary(Modelo1)

plot(Modelo1, which=1, id.n=10) # Fitted X vs Residuals Y


plot(Modelo1, which=2) #QQ plot
plot(Modelo1, which=3) # Fitted X vs Residuals std Y
plot(Modelo1, which=4 , id.n=10) #Observaciones vs distancia Cook
plot(Modelo1, which=5, id.n=10) #Apalancamiento vs residuos y Distancia Cook
plot(Modelo1, which=6, id.n=10) #Apalancamiento vs Distancia Cook

resdf_M1 <- data.frame(res=Modelo1_3$residuals)


ggplot(data=resdf_M1 ,aes (y=res, x=1))+
geom_boxplot(color="red")

P á g i n a 26 | 68
ANÁLISIS, EVALUACIÓN Y COMPARACIÓN DE MODELOS

Call:
lm(formula = dep_delay ~ humid + dest:origin, data = train.data)

Residuals:
Min 1Q Median 3Q Max
-84.72 -30.05 -16.28 10.75 1231.80

Residual standard error: 53.14 on 105057 degrees of freedom


Multiple R-squared: 0.04659, Adjusted R-squared: 0.04457
F-statistic: 23.12 on 222 and 105057 DF, p-value: < 2.2e-16

Interpretación:

• De la gráfica which = 1, indica que en los residuos podría existir outliers, sin embargo, al no ser
los residuos estudentizados o estandarizados, no es posible definir claramente esta condición.
• El diagrama Q-Q (which = 2), podemos observar que los residuos no siguen una distribución
normal. En los extremos de la recta observamos que los residuos no se alinean a la recta,
concluyendo q a los extremos de los valores tenemos una desviación que no siguen una
distribución normal.
• Para el gráfico 3 (which 3), observamos los residuos estandarizados muy altos, lo que significa
que tenemos mayor de 3 desviaciones estándar hacia arriba, provocando que la media de los
residuos, está mucho más desviado. Los residuos demasiados grandes por lo q es necesario
revisar los outliers.
• Con respecto a la gráfica 4 (which = 4), observamos que las distancias de cook no son mayores a
1, que lo que significa que las observaciones en el punto central no causan influencia en el modelo.
• Como resumen en el gráfico 6 (which = 6) notamos el apalancamiento causado por los outliers
identificado en el gráfico 3. No se observa valores que impliquen influencia.
• Bajo este antecedente se revisará los outliers a partir de eliminar los valores extremos de la
variable de respuesta.

P á g i n a 27 | 68
ANÁLISIS, EVALUACIÓN Y COMPARACIÓN DE MODELOS

Revisión de los Outliers:


Código de Programación
P3 = quantile(train.data$dep_delay, probs = c(0.75), na.rm = TRUE)
#P3 = mean(f2$dep_delay) + 3*std(f2$dep_delay)
P1 = quantile(train.data$dep_delay, probs = c(0.25), na.rm = TRUE)
upperq <- P3
lowerq <- P1
iqr = upperq - lowerq
base=1.5
extreme.threshold.upper = (iqr * base) + upperq
extreme.threshold.lower = lowerq - (iqr * base)

Modelo1 <- lm(dep_delay ~ humid+dest:origin, data=test.data[!(test.data$dep_delay > extreme.threshold.upper |


test.data$dep_delay < extreme.threshold.lower),])
summary(Modelo1)

plot(Modelo1, which=1, id.n=10) # Fitted X vs Residuals Y


plot(Modelo1, which=2) #QQ plot
plot(Modelo1, which=3) # Fitted X vs Residuals std Y
plot(Modelo1, which=4 , id.n=10) #Observaciones vs distancia Cook
plot(Modelo1, which=5, id.n=10) #Apalancamiento vs residuos y Distancia Cook
plot(Modelo1, which=6, id.n=10) #Apalancamiento vs Distancia Cook

#
resdf_M1 <- data.frame(res=Modelo1$residuals)
ggplot(data=resdf_M1 ,aes (y=res, x=1))+
geom_boxplot(color="blue")
GRÁFICAS MODELO 1 MEJORADO
GRÁFICAS MODELO 1 ORIGINAL
SIN OUTLIERS

P á g i n a 28 | 68
ANÁLISIS, EVALUACIÓN Y COMPARACIÓN DE MODELOS

P á g i n a 29 | 68
ANÁLISIS, EVALUACIÓN Y COMPARACIÓN DE MODELOS

Call:
lm(formula = dep_delay ~ humid + dest:origin, data =
Call: test.data[!(test.data$dep_delay >
lm(formula = dep_delay ~ humid + dest:origin, data = train.data) extreme.threshold.upper | test.data$dep_delay <
extreme.threshold.lower),
Residuals: ])
Min 1Q Median 3Q Max
-84.72 -30.05 -16.28 10.75 1231.80 Residuals:
Min 1Q Median 3Q Max
Residual standard error: 53.14 on 105057 degrees of freedom -53.211 -18.992 -9.103 12.115 100.404
Multiple R-squared: 0.04659, Adjusted R-squared: 0.04457
F-statistic: 23.12 on 222 and 105057 DF, p-value: < 2.2e-16 Residual standard error: 26.9 on 23907 degrees of freedom
Multiple R-squared: 0.05682, Adjusted R-squared: 0.04845
F-statistic: 6.793 on 212 and 23907 DF, p-value: < 2.2e-16

Interpretación:

• Desde el punto de vista de residuos, apreciamos un cambio sustancial en el rango intercuartílico,


el error estándar del residuo y los grados de libertad. Evidentemente el R2ajustado mejora.
• Las desviaciones estándar de los residuos bajan de mayores a 3 a menores de 2, mejorando los
resultados del modelo propuesto.
• Como consecuencia se tiene una distribución más cercana a la normal.

P á g i n a 30 | 68
ANÁLISIS, EVALUACIÓN Y COMPARACIÓN DE MODELOS

g) Valoración del Modelo 1 para predicción


Código de Programación
Model1_Predict <-predict(Modelo1, newdata=test.data , se.fit=TRUE, interval="prediction",
level=.95)
Model1_Predict
Visualización de resultados en consola
fit lwr upr
9 50.5697336 -53.69316 154.8326
11 33.2007529 -70.98391 137.3854
13 22.2960285 -81.98545 126.5775
15 43.5094660 -60.65768 147.6766
20 28.8616057 -75.36771 133.0909
29 28.8492324 -75.34676 133.0452
30 31.2390621 -72.92988 135.4080
34 28.3224640 -75.93143 132.5764
38 45.4997260 -58.69871 149.6982
41 28.8492324 -75.34676 133.0452
46 27.0064789 -77.15400 131.1670
49 30.9411440 -73.24370 135.1260
50 32.6844587 -71.51924 136.8882
57 28.0175883 -76.21449 132.2497
68 31.6748537 -72.49955 135.8493
88 49.5496004 -54.86136 153.9606
89 42.1856620 -62.06445 146.4358
103 52.7555451 -51.50768 157.0188
104 46.8862672 -57.37019 151.1427
106 41.1765100 -63.08862 145.4416
118 45.8334415 -58.43561 150.1025
123 23.9244039 -80.25149 128.1003
124 30.1976192 -74.00358 134.3988
126 42.8146720 -61.48382 147.1132
139 29.9252874 -74.37322 134.2238
142 33.0467471 -71.13420 137.2277
156 24.9212712 -79.25460 129.0971
164 33.6270265 -70.53888 137.7929
169 39.7972525 -64.40508 143.9996
172 40.2485225 -63.95922 144.4563
176 25.6231101 -78.56183 129.8081
179 32.8647905 -71.41043 137.1400
181 32.4955442 -71.69932 136.6904
185 39.8781754 -64.66632 144.4227
187 21.4070061 -82.82565 125.6397
193 23.0044301 -81.24953 127.2584
209 24.2194062 -79.98331 128.4221
210 42.7577493 -61.42164 146.9371
215 32.7972291 -71.41629 137.0107
218 22.7138488 -81.46696 126.8947
221 21.8757570 -82.30022 126.0517
223 43.5327099 -60.77932 147.8447
225 26.8552799 -77.36382 131.0744
234 24.2296026 -79.94545 128.4047
236 32.4828813 -71.68680 136.6526
240 24.1472899 -80.06408 128.3587
241 27.5518221 -76.79234 131.8960
242 21.2345682 -83.01950 125.4886
255 49.8854055 -54.32447 154.0953
262 45.8306166 -58.40377 150.0650
266 23.7529568 -80.86446 128.3704
267 30.5266001 -73.63959 134.6928
278 36.7637311 -67.44446 140.9719
284 47.2849314 -56.93974 151.5096
288 37.8473722 -66.35486 142.0496
297 30.9116394 -73.26928 135.0926
302 39.6965428 -64.84797 144.2411

P á g i n a 31 | 68
ANÁLISIS, EVALUACIÓN Y COMPARACIÓN DE MODELOS

305 41.2408938 -63.08099 145.5628


307 25.9109371 -78.26902 130.0909
308 49.8165026 -54.46021 154.0932
310 48.1717881 -56.09307 152.4366
318 26.3843376 -77.92877 130.6974
319 28.5497116 -75.72171 132.8211
332 29.4738157 -74.85076 133.7984
337 31.1908995 -73.03563 135.4174
338 38.9386097 -65.26183 143.1391
339 37.4326353 -66.76214 141.6274
349 36.4652288 -67.82771 140.7582
370 38.9074267 -65.25533 143.0702
371 41.0461178 -63.36656 145.4588
382 39.9160453 -64.26254 144.0946
386 31.1290447 -73.05195 135.3100
387 38.9202516 -65.26644 143.1069
391 27.1448397 -77.03555 131.3252
393 37.8176311 -66.34515 141.9804
395 35.4692594 -68.70021 139.6387
397 20.8156899 -83.51742 125.1488
398 33.0767791 -71.15897 137.3125
401 33.9238777 -70.34118 138.1889
406 33.2516428 -70.94319 137.4465
410 32.3097881 -71.87107 136.4906
425 26.8396262 -77.34526 131.0245
426 43.6797439 -60.57326 147.9328
427 38.8783096 -65.38452 143.1411
438 24.7831253 -79.39695 128.9632
439 54.5356940 -50.75986 159.8312
442 41.7625576 -62.44691 145.9720
446 39.3459496 -65.19859 143.8905
452 29.0137354 -76.79731 134.8248
461 39.7541571 -64.49813 144.0064
466 24.2672015 -79.91783 128.4522
469 20.7649560 -83.46779 124.9977
470 36.2209537 -67.94191 140.3838
471 31.6549654 -72.53994 135.8499
473 25.2289456 -78.97369 129.4316
476 39.6477507 -64.62710 143.9226
480 24.5651197 -79.60404 128.7343
483 19.8017660 -84.37436 123.9779
487 30.6156562 -73.56910 134.8004
497 39.8064210 -64.39060 144.0034
513 41.4712453 -62.72530 145.6678
515 31.0593794 -73.13556 135.2543
520 28.9471706 -75.23770 133.1320
527 20.7708023 -83.41028 124.9519
531 36.0179987 -68.45391 140.4899
532 39.3691438 -64.97447 143.7128
536 38.3660321 -65.83113 142.5632
537 34.7805649 -69.38240 138.9435
541 16.8196120 -87.35683 120.9961
543 36.4410931 -67.75279 140.6350
547 35.1029298 -69.31026 139.5161
551 34.1849789 -69.97804 138.3480
557 27.7262068 -76.63714 132.0896
561 23.1846508 -81.01957 127.3889
563 27.7231848 -76.45324 131.8996
565 37.3888694 -66.77862 141.5564
570 19.0790876 -85.11775 123.2759
571 27.0110344 -77.19378 131.2159
573 22.6092948 -81.68976 126.9084
576 30.0709692 -74.09896 134.2409
582 28.1446079 -76.04033 132.3295
584 29.6418677 -74.63384 133.9176
585 34.9866208 -69.19225 139.1655

P á g i n a 32 | 68
ANÁLISIS, EVALUACIÓN Y COMPARACIÓN DE MODELOS

590 41.6388529 -62.60182 145.8795


598 16.0839045 -88.18600 120.3538
602 19.6056184 -84.62352 123.8348
604 46.2338188 -58.01339 150.4810
610 46.2921018 -57.97289 150.5571
616 21.5057807 -82.67519 125.6868
626 38.6018565 -65.60055 142.8043
627 30.8830410 -73.36194 135.1280
629 21.0305821 -83.16598 125.2271
630 47.6728961 -56.63979 151.9856
645 38.1872036 -66.02068 142.3951
650 41.1665498 -63.19268 145.5258
658 19.7257338 -84.45040 123.9019
659 28.8665625 -75.29983 133.0330
670 30.6603103 -73.54626 134.8669
672 25.0661342 -79.11391 129.2462
682 39.8935496 -64.35872 144.1458
686 48.9322969 -55.29221 153.1568
695 41.4525290 -62.72695 145.6320
698 43.0838398 -61.11693 147.2846
700 25.5876787 -78.62352 129.7989
704 50.4387513 -53.77108 154.6486
710 37.5928375 -66.58584 141.7715
712 25.7946140 -78.40652 129.9958
716 31.4359087 -73.18583 136.0577
722 60.9234390 -43.55251 165.3994
730 42.6131867 -61.73011 146.9565
736 37.8829229 -66.38744 142.1533
739 22.3023824 -81.87357 126.4783
748 38.6161428 -65.58600 142.8183
764 22.7728280 -81.39853 126.9442
765 42.6109137 -61.68765 146.9095
767 38.6064244 -65.69929 142.9121
768 37.8829229 -66.38744 142.1533
770 59.1892453 -45.43643 163.8149
775 26.4363580 -77.73268 130.6054
776 26.5147943 -77.66010 130.6897
785 44.7192053 -59.62028 149.0587
786 38.5308790 -65.66378 142.7255
789 44.8543884 -59.64869 149.3575
801 42.6343471 -61.77828 147.0470
810 27.7150816 -76.46527 131.8954
825 47.5888974 -56.68578 151.8636
826 31.3748863 -72.82756 135.5773
828 30.3606300 -73.83190 134.5532
846 43.3755130 -60.80307 147.5541
853 41.4226468 -62.84742 145.6927
854 28.8169015 -75.43055 133.0644
856 27.4743128 -76.70606 131.6547
857 29.8557812 -74.39817 134.1097
858 34.9310610 -69.27283 139.1350
863 49.9254556 -54.33765 154.1886
864 48.8039306 -55.48373 153.0916
865 27.4261117 -76.74976 131.6020
872 31.3748863 -72.82756 135.5773
875 58.2866186 -47.00874 163.5820
876 29.0555944 -75.15531 133.2665
878 26.6337340 -77.54669 130.8142
879 27.8965572 -76.27472 132.0678
890 44.8104624 -59.35668 148.9776
899 25.7946140 -78.40652 129.9958
906 33.4301215 -70.81473 137.6750
914 39.0038583 -65.19324 143.2010
924 34.1796207 -70.19652 138.5558
925 28.2121921 -75.97274 132.3971
929 35.0542050 -69.12466 139.2331

P á g i n a 33 | 68
ANÁLISIS, EVALUACIÓN Y COMPARACIÓN DE MODELOS

932 29.7439716 -74.46043 133.9484


936 39.1673373 -65.01235 143.3470
937 38.3660321 -65.83113 142.5632
944 32.2058371 -72.36876 136.7804
948 21.5818130 -82.59915 125.7628
949 34.2812104 -69.89773 138.4602
954 34.5893869 -69.71663 138.8954
963 36.1259050 -68.08236 140.3342
971 39.5232953 -64.69126 143.7378
985 24.8057822 -79.49303 129.1046
987 30.4854892 -73.74111 134.7121
989 32.2674566 -71.90224 136.4372
994 24.0141779 -80.16090 128.1893
999 41.5472776 -62.64926 145.7438
1004 28.6891040 -75.58230 132.9605
1006 35.7758301 -68.61427 140.1659
1015 35.6202531 -68.62805 139.8686
1021 28.1815940 -75.99298 132.3562
1027 35.9821130 -68.29278 140.2570
1029 41.3604420 -62.84047 145.5614
1033 23.9943691 -80.23425 128.2230
1036 41.6388529 -62.60182 145.8795
1051 47.5085723 -56.82653 151.8437
1055 34.2575748 -70.00747 138.5226
1062 24.7093919 -79.49329 128.9121
1067 33.6170996 -70.55711 137.7913
1068 27.4712414 -76.69775 131.6402
1070 27.2371202 -77.01042 131.4847
1075 24.5243286 -79.70798 128.7566
1078 43.9236892 -60.28090 148.1283
1079 27.5496778 -76.62517 131.7245
1098 30.0651105 -74.27886 134.4091
1099 34.9961698 -69.17333 139.1657
1100 27.5100021 -76.70905 131.7291
1106 20.3426003 -83.99054 124.6757
1107 40.8137970 -63.59889 145.2265
1109 43.7684296 -60.44579 147.9826
1118 40.3710392 -63.83683 144.5789
1123 32.3302541 -71.83576 136.4963
1127 37.2716563 -67.01303 141.5563
1131 38.2674644 -65.89995 142.4349
1132 29.0232029 -75.16166 133.2081
1134 43.8492206 -60.36003 148.0585
1137 28.8036945 -75.39755 133.0049
1140 37.6406670 -66.54685 141.8282
1147 37.6406670 -66.54685 141.8282
1151 33.9662778 -70.20935 138.1419
1156 41.0674034 -64.40424 146.5390
1158 27.6976951 -76.48213 131.8775
1161 42.5823246 -61.63488 146.7995
1168 34.8565971 -69.30636 139.0196
1176 43.7684296 -60.44579 147.9826
1178 30.6559551 -73.52506 134.8370
1186 42.5179134 -61.82229 146.8581
1191 43.7091574 -60.58936 148.0077
1198 43.1598721 -61.04089 147.3606
1204 27.6130380 -76.56180 131.7879
1214 34.2279657 -69.99836 138.4543
1222 37.0160161 -67.15941 141.1914
1228 45.0074587 -59.19738 149.2123
1231 35.6430412 -68.63637 139.9225
1233 29.4025783 -74.79340 133.5986
1245 41.3324554 -62.85486 145.5198
1262 37.2892468 -66.87651 141.4550
1267 41.1060019 -63.06122 145.2732
1289 41.9592528 -62.20794 146.1264

P á g i n a 34 | 68
ANÁLISIS, EVALUACIÓN Y COMPARACIÓN DE MODELOS

1301 28.9902434 -75.18950 133.1700


1304 36.5464488 -67.74397 140.8369
1307 17.9790860 -86.30249 122.2607
1313 43.0488882 -61.20321 147.3010
1322 32.8594158 -71.42017 137.1390
1323 32.3645998 -71.83027 136.5595
1326 33.4242738 -70.74165 137.5902
1341 27.9638080 -76.21600 132.1436
1342 25.2095739 -78.96540 129.3846
1344 39.3868282 -64.78050 143.5542
1351 25.8257645 -78.37566 130.0272
1358 40.2945183 -63.90579 144.4948
1360 34.4679878 -69.69500 138.6310
1368 31.8289266 -72.34691 136.0048
1369 39.0253768 -65.23150 143.2823
1370 20.7664212 -83.40507 124.9379
1372 31.2162846 -73.04894 135.4815
1381 28.8185460 -75.37882 133.0159
1382 23.9451519 -80.25110 128.1414
1387 24.4203505 -79.76026 128.6010
1392 40.5925804 -63.77351 144.9587
1395 38.8968583 -65.31112 143.1048
1399 47.5643832 -56.68273 151.8115
1403 41.3648296 -62.93381 145.6635
1407 32.6078532 -71.59622 136.8119
1411 33.5219888 -70.64760 137.6916
1415 40.1947782 -64.05365 144.4432
1416 38.7889520 -65.68272 143.2606
1419 21.5267438 -82.64469 125.6982
1433 31.3111412 -72.92470 135.5470
1444 43.4440056 -60.86803 147.7560
1451 24.6932892 -79.53900 128.9256
1459 43.7128439 -60.52767 147.9534
1461 29.3137221 -75.00729 133.6347
1464 44.5896212 -59.73206 148.9113
1465 28.3505546 -75.82401 132.5251
1466 34.0057089 -70.16848 138.1799
1467 35.7892136 -68.45907 140.0375
1472 23.7455399 -80.41512 127.9062
1481 43.0488882 -61.20321 147.3010
1484 47.1443053 -57.09069 151.3793
1486 43.7777206 -60.43944 147.9949
1487 33.5202403 -70.68376 137.7242
1491 27.4060808 -76.84145 131.6536
1495 33.8156489 -70.39071 138.0220
1497 29.5375289 -74.68142 133.7565
1508 31.0932720 -73.08764 135.2742
1511 28.6919815 -75.47697 132.8609
1512 25.7753835 -78.47849 130.0293
1516 39.9943206 -64.28108 144.2697
1522 42.9503652 -64.21357 150.1143
1524 45.4399984 -58.73928 149.6193
1527 41.6858552 -62.56247 145.9342
1528 34.8378397 -69.33631 139.0120
1530 28.3940634 -75.79078 132.5789
1535 25.0599850 -79.14267 129.2626
1537 37.0236966 -67.14572 141.1931
1558 31.4860048 -72.70891 135.6809
1566 40.7273664 -63.46713 144.9219
1569 26.6506305 -77.96648 131.2677
1576 47.2330096 -57.00198 151.4680
1589 23.7455399 -80.41512 127.9062
1590 31.6628100 -72.60841 135.9340
1592 22.3006580 -81.93231 126.5336
1593 36.9305881 -67.23224 141.0934
1595 25.4874038 -78.74482 129.7196

P á g i n a 35 | 68
ANÁLISIS, EVALUACIÓN Y COMPARACIÓN DE MODELOS

1600 45.3837358 -58.93790 149.7054


1601 51.8553147 -52.36900 156.0796
1605 23.4935544 -80.68235 127.6695
1607 26.8576067 -77.32280 131.0380
1627 22.7227580 -81.79096 127.2365
1628 34.0916680 -70.07421 138.2575
1632 47.0978412 -57.13716 151.3328
1641 39.2835168 -64.90316 143.4702
1645 36.4033740 -67.86163 140.6684
1649 27.7995619 -76.38079 131.9799
1651 43.7663829 -60.64622 148.1790
1655 31.1645543 -73.19859 135.5277
[ reached getOption("max.print") -- omitted 25984 rows ]

Interpretación:

• Podemos observar que los valores ajustados obtenidos para el Modelo 1 no son cercanos al valor
real, es decir, el modelo no es un buen predictor para los resultados, toda vez que
aproximadamente solo el 5% de los valores estarían explicados por este modelo.

P á g i n a 36 | 68
ANÁLISIS, EVALUACIÓN Y COMPARACIÓN DE MODELOS

ii. Modelo 2

a) Establecimiento teórico de la hipótesis para la selección de variables


Para el segundo modelo utilizamos las variables de minutos de salida del vuelo (dep_time), tiempo de
vuelo (air_time), hora programada de salida (sched_dep_time), distancia (distance) y mes (month). En este
segundo modelo no intervendrán variables de tipo meteorológicas, ya que en el modelo 1 se tuvo como
resultado un aporte bastante pequeño para la predicción del retraso en los vuelos (dep_delay).

Para Monje (2015), la variable de minutos de salida del vuelo (dep_time) expresa el tiempo computado en
el momento en el que la aeronave abandona la puerta o gate. Dato esencial para calcular y prever los
colapsos en función de la hora del día, horas punta y picos de trabajo.

El mismo autor señala que la variable hora programa de salida (sched_dep_time) puede definirse como la
hora de salida que la compañía estima a la que va a salir cada vuelo. Dato muy útil para comprobar la
diferencia entre la hora real de salida y la hora estimada por la compañía. Indicador de la “on-time
performace” de cada aerolínea.

En cuanto a la variable (air_time) definida como el tiempo real de vuelo en aire, desde la salida en origen
hasta la llegada en destino, contabilizado desde que el avión abandona la pista hasta vuelve a entrar en
contacto con ella, expresado en minutos como un numero entero. Dato útil para la estimación e
identificación de comportamientos o retrasos en ruta.

La variable distancia (distance) entre los aeropuertos origen y destino, expresada en millas náuticas como
un numero entero. Dato útil para estimar la relación entre los retrasos y la distancia de vuelo entre varios
saltos

Adicionalmente, la variable mes (month) fue elegida ya que, la proporción de los retrasos varía en función
del aeropuerto y de la época del año en la que se viaje. Es decir, los resultados estarían condicionados,
por las temporadas altas o bajas de vacaciones en los EE. UU.

b) Evaluación numérica de correlación entre las variables


Código de Programación
corrf2 <- cor(train.data[,c(6,5,4,15,16)])
corrf2

Visualización de resultados en consola

Interpretación:

• En general, la correlación de la variable de respuesta dep_delay con las variables


schep_dep_time, dep_time, air_time y distances es baja, sin embargo, las correlaciones más bajas
son para las variables air_time y distance, lo que nos estaría indicando una relación bastante débil.

P á g i n a 37 | 68
ANÁLISIS, EVALUACIÓN Y COMPARACIÓN DE MODELOS

c) Mapa de calor de las variables


Código de Programación
ggplot(corrf2_melted, aes(x=X , y=Y)) +
geom_tile(aes(fill=Correlacion))+
scale_fill_gradient2(low=muted("steelblue"), mid="white" , high="red")+
theme_minimal() +
labs(x=NULL , y=NULL)

Visualización de resultados en consola

Interpretación:

En el diagrama de calor observamos las correlaciones de las variables dep_delay, sched_dep_time,


dep_time, air_time y distance; la variable dep_delay presenta una correlación positiva con las variables
dep_time y sched_dep_time, mientras que con las variables air_time y distance presenta una correlación
negativa con un coeficiente bastante cercano a cero. Por otro lado, las variables aír_time y distace presenta
una correlación positiva fuerte.

P á g i n a 38 | 68
ANÁLISIS, EVALUACIÓN Y COMPARACIÓN DE MODELOS

d) Visualización gráfica de la data con línea de tendencia


Código de Programación
ggplot(train.data, aes(x=dep_time , y=dep_delay)) +
geom_point()
ggplot(train.data, aes(x=dep_time , y=dep_delay)) +
geom_point()+
geom_smooth(level=.99, se=TRUE )

Visualización de resultados en consola

Interpretación

• Podemos observar que la relación de la variable dep_time con dep_delay no se ajusta a una
función lineal, más bien, podría ser una relación cuadrática, lo que nos ayudaría a mejorar su
aporte en el modelo. Para el modelo se utilizará su forma cuadrática.
• Así también, la gráfica nos indica que mientras mayor sean el tiempo de retraso, el tiempo de
salida fluctuará en picos altos y bajos.

P á g i n a 39 | 68
ANÁLISIS, EVALUACIÓN Y COMPARACIÓN DE MODELOS

Código de Programación
ggplot(train.data, aes(x=air_time , y=dep_delay)) +
geom_point()
ggplot(f2, aes(x=air_time , y=dep_delay)) +
geom_point()+
geom_smooth(level=.99, se=TRUE )

Visualización de resultados en consola

Interpretación:

• Podemos observar que la relación de la variable air_time con dep_delay no se ajusta a una función
lineal, más bien tiene una forma polinómica y se divide en dos grupos, sin embargo, desde el
diagrama de calor, no muestra una relación fuerte con la variable que necesitamos predecir
• Además, podemos apreciar que se concentra una gran cantidad de atrasos en vuelos en tiempos
de vuelo de hasta 400 minutos en el aíre, por otro lado, existe otro grupo bastante pequeño de
atrasos que se concentra entre aproximadamente 560 a 700 minutos en el aire, este grupo se
caracteriza por contar con menos minutos de atraso.

P á g i n a 40 | 68
ANÁLISIS, EVALUACIÓN Y COMPARACIÓN DE MODELOS

Código de Programación
ggplot(train.data, aes(x=distance , y=dep_delay)) +
geom_point()
ggplot(train.data, aes(x=distance , y=dep_delay)) +
geom_point()+
geom_smooth(level=.99, se=TRUE )

Visualización de resultados en consola

Interpretación:

• Podemos observar que la relación de la variable distance con dep_delay no se ajusta a una función
lineal, y en realidad no tiene la forma de alguna distribución conocida, además se ven dos grupos
bastante marcados.
• La grafica también nos indica que, a distancias de hasta aproximadamente 2800 millas, se están
concentrando el mayor número de atrasos en los vuelos con picos altos y bajos; y a distancias
mayores de 3000 milas existe un número bastante reducido de retrasos.

P á g i n a 41 | 68
ANÁLISIS, EVALUACIÓN Y COMPARACIÓN DE MODELOS

Código de Programación
ggplot(train.data, aes(x=sched_dep_time , y=dep_delay)) +
geom_point()
ggplot(train.data, aes(x=sched_dep_time , y=dep_delay)) +
geom_point()+
geom_smooth(level=.99, se=TRUE )

Visualización de resultados en consola

Interpretación

• Podemos observar que la relación de la variable sched_dep_time con dep_delay no se ajusta a


una función lineal, más bien él tiene una distribución de forma polinómica de grado 3, esta variable
si mostro una relación con la variable que intentamos predecir, por lo que sería conveniente
incluirla en el modelo.
• La grafica nos indica que en algunas horas de salida de acumulan más y menos retrasos, por
ejemplo, en horas de la mañana y de la noche no se acumulan tantos retrasos a diferencia de
horas intermedias.

P á g i n a 42 | 68
ANÁLISIS, EVALUACIÓN Y COMPARACIÓN DE MODELOS

e) Desarrollo y análisis del modelo con ANOVA


Desarrollo de modelos candidatos a Modelo 2:
Código de Programación
Modelo2_1 <- lm(dep_delay ~ dep_time+I(dep_time^2)+air_time:distance, data = train.data)
summary(Modelo2_1)

Visualización de resultados en consola


Call:
lm(formula = dep_delay ~ dep_time + I(dep_time^2) +
air_time:distance,
data = train.data)

Residuals:
Min 1Q Median 3Q Max
-102.75 -26.23 -13.73 11.13 1300.31

Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 1.034e+02 1.154e+00 89.58 <2e-16 ***
dep_time -1.353e-01 1.703e-03 -79.42 <2e-16 ***
I(dep_time^2) 5.705e-05 5.985e-07 95.32 <2e-16 ***
air_time:distance -1.235e-05 5.218e-07 -23.68 <2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 50.54 on 105275 degrees of


freedom
Multiple R-squared: 0.1261, Adjusted R-squared: 0.1261
F-statistic: 5062 on 3 and 105275 DF, p-value: < 2.2e-16

Interpretación:

• En el primer modelo observamos que la variable dep_time con su grado cuadrático y la interacción de
las variables air_time:distance logran explicar el 12,61% de la variable dep_delay, y las variables son
significativas para el modelo. Sin embargo, en base al gráfico de coeficientes los coeficientes de las
variables son muy cercanos a cero.
• Para el siguiente modelo incluiremos la variable de mes. Es importante indicar que se coloca la
interacción de las dos variables ya que en el diagrama de calor mostraron una fuerte correlación.

P á g i n a 43 | 68
ANÁLISIS, EVALUACIÓN Y COMPARACIÓN DE MODELOS

Código de Programación
Modelo2_2 <- lm(dep_delay ~ dep_time+I(dep_time^2)+air_time:distance + month, data = train.data)
summary(Modelo2_2)

Visualización de resultados en consola

Call:
lm(formula = dep_delay ~ dep_time + I(dep_time^2) +
air_time:distance +
month, data = train.data)

Residuals:
Min 1Q Median 3Q Max
-108.13 -26.60 -13.11 11.19 1303.38

Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 9.932e+01 1.271e+00 78.134 < 2e-16 ***
dep_time -1.324e-01 1.698e-03 -77.971 < 2e-16 ***
I(dep_time^2) 5.595e-05 5.969e-07 93.730 < 2e-16 ***
month10 -4.183e+00 8.274e-01 -5.056 4.29e-07 ***
month11 -6.327e+00 8.374e-01 -7.556 4.18e-14 ***
month12 1.534e+00 7.410e-01 2.070 0.03845 *
month2 -6.424e-01 8.055e-01 -0.798 0.42515
month3 2.395e+00 7.707e-01 3.108 0.00189 **
month4 6.263e+00 7.827e-01 8.002 1.24e-15 ***
month5 2.311e+00 7.718e-01 2.994 0.00275 **
month6 1.115e+01 7.505e-01 14.854 < 2e-16 ***
month7 9.460e+00 7.368e-01 12.840 < 2e-16 ***
month8 5.191e-01 7.658e-01 0.678 0.49787
month9 -2.394e-01 8.457e-01 -0.283 0.77712
air_time:distance -1.248e-05 5.199e-07 -24.008 < 2e-16
***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 50.31 on 105264 degrees of


freedom
Multiple R-squared: 0.1342, Adjusted R-squared: 0.1341
F-statistic: 1165 on 14 and 105264 DF, p-value: < 2.2e-16

Interpretación:

• Al incluir la variable de mes el modelo mejora un poco, ya que las variables dep_time,
air_time:distance y month explican el 13,41% de la variable dependiente dep_delay. La mayoría
de las variables incluidas en el modelo son significativas, exceptuando algunos meses del año.
• Por otro lado, el grafico de coeficientes ya nos muestra variables diferentes de cero en los
coeficientes, lo que nos indica que incluir el mes en el modelo ha mejorado el modelo.

P á g i n a 44 | 68
ANÁLISIS, EVALUACIÓN Y COMPARACIÓN DE MODELOS

Código de Programación
Modelo2_3 <- lm(dep_delay~ sched_dep_time + I(sched_dep_time^3)+ dep_time+I(dep_time^2)+air_time:distance + month, data =
train.data)

Visualización de resultados en consola


Call:

lm(formula = dep_delay ~ sched_dep_time + I(sched_dep_time^3) +

dep_time + I(dep_time^2) + air_time:distance + month, data =


train.data) Residuals:

Min 1Q Median 3Q Max

-350.71 -21.32 -10.80 9.01 1249.88 Coefficients:

Estimate Std. Error t value Pr(>|t|)


(Intercept) 1.846e+02 1.256e+00 147.043 < 2e-16 ***
sched_dep_time 2.429e+01 1.751e-01 138.704 < 2e-16 ***
I(sched_dep_time^3) -5.596e-02 3.030e-04 -184.666 < 2e-16 ***
dep_time -5.879e-01 2.762e-03 -212.893 < 2e-16 ***
I(dep_time^2) 2.427e-04 1.050e-06 231.182 < 2e-16 ***
month10 -2.703e+00 6.993e-01 -3.865 0.000111 ***
month11 -4.049e+00 7.078e-01 -5.721 1.06e-08 ***
month12 1.460e+00 6.262e-01 2.331 0.019751 *
month2 -3.482e-01 6.807e-01 -0.511 0.609013
month3 3.071e+00 6.513e-01 4.714 2.43e-06 ***
month4 4.863e+00 6.616e-01 7.351 1.98e-13 ***
month5 1.602e+00 6.524e-01 2.455 0.014076 *
month6 7.621e+00 6.347e-01 12.008 < 2e-16 ***
month7 6.618e+00 6.229e-01 10.624 < 2e-16 ***
month8 9.979e-01 6.473e-01 1.542 0.123164
month9 -8.281e-02 7.148e-01 -0.116 0.907775
air_time:distance -1.071e-05 4.394e-07 -24.383 < 2e-16 ***

---

Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Residual
standard error: 42.52 on 105262 degrees of freedom
Multiple R-squared: 0.3817, Adjusted R-squared: 0.3816
F-statistic: 4061 on 16 and 105262 DF, p-value: < 2.2e-16

Interpretación:

• El tercer modelo muestra un R ajustada mejor, ya que con las variables utilizadas se logran explicar
el 38,16% de la variable dep_delay, así también, tanto la variable dep_time, sched_arr_time y
air_time:distance son significativas y también algunos meses del año.
• Así también, el grafico de coeficientes nos muestra coeficientes diferentes de cero, lo cual es
buena señal para el modelo.
• Hasta este punto, parecería que el mejor modelo es el Modelo2_3, sin embargo, realizaremos las
pruebas respectivas para validar este resultado.

P á g i n a 45 | 68
ANÁLISIS, EVALUACIÓN Y COMPARACIÓN DE MODELOS

Selección de candidato a Modelo 2 mediante análisis con ANOVA:


Código de Programación
> sprintf("El Modelo2_1 tiene %d coeficientes ",length(Modelo2_1$coefficients))
[1] "El Modelo2_1 tiene 4 coeficientes "
> sprintf("El Modelo2_2 tiene %d coeficientes ",length(Modelo2_2$coefficients))
[1] "El Modelo2_2 tiene 15 coeficientes "
> sprintf("El Modelo2_3 tiene %d coeficientes ",length(Modelo2_3$coefficients))
[1] "El Modelo2_3 tiene 17 coeficientes "
Código
anovamodelo2 <- anova(Modelo2_1, Modelo2_2, Modelo2_3)
anovamodelo2

Visualización de resultados en consola


Analysis of Variance Table

Model 1: dep_delay ~ dep_time + I(dep_time^2) + air_time:distance


Model 2: dep_delay ~ dep_time + I(dep_time^2) + air_time:distance + month
Model 3: dep_delay ~ sched_dep_time + I(sched_dep_time^3) + dep_time +
I(dep_time^2) + air_time:distance + month
Res.Df RSS Df Sum of Sq F Pr(>F)
1 105275 268922459
2 105264 266422788 11 2499671 125.72 < 2.2e-16 ***
3 105262 190263911 2 76158877 21067.15 < 2.2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Interpretación:

ANOVA nos indica que el modelo con menor suma de los cuadrados de los residuos, sería el modelo más
recomendable, por lo que el modelo 3 sería el elegido.

P á g i n a 46 | 68
ANÁLISIS, EVALUACIÓN Y COMPARACIÓN DE MODELOS

f) Revisión de los PLOTS del Modelo 2, presencia de outliers, apalancamiento e influencia


Revisión de Plots Modelo2:
Código de Programación
Modelo2 <- Modelo2_3
summary(Modelo2)

plot(Modelo2, which=1, id.n=10) # Fitted X vs Residuals Y


plot(Modelo2, which=2) #QQ plot

plot(Modelo2, which=3) # Fitted X vs Residuals std Y


plot(Modelo2, which=4 , id.n=10) #Observaciones vs distancia Cook
plot(Modelo2, which=5, id.n=10) #Apalancamiento vs residuos y Distancia Cook
plot(Modelo2, which=6, id.n=10) #Apalancamiento vs Distancia Cook

P á g i n a 47 | 68
ANÁLISIS, EVALUACIÓN Y COMPARACIÓN DE MODELOS

Call:
lm(formula = dep_delay ~ sched_dep_time +
I(sched_dep_time^3) +
dep_time + I(dep_time^2) + air_time:distance
+ month, data = train.data)

Residuals:
Min 1Q Median 3Q Max
-350.71 -21.32 -10.80 9.01 1249.88

Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 1.846e+02 1.256e+00 147.043
< 2e-16 ***
sched_dep_time 2.429e+01 1.751e-01
138.704 < 2e-16 ***
I(sched_dep_time^3) -5.596e-02 3.030e-04 -
184.666 < 2e-16 ***
dep_time -5.879e-01 2.762e-03 -212.893
< 2e-16 ***
I(dep_time^2) 2.427e-04 1.050e-06
231.182 < 2e-16 ***
month10 -2.703e+00 6.993e-01 -3.865
0.000111 ***
month11 -4.049e+00 7.078e-01 -5.721
1.06e-08 ***
month12 1.460e+00 6.262e-01 2.331
0.019751 *
month2 -3.482e-01 6.807e-01 -0.511
0.609013
month3 3.071e+00 6.513e-01 4.714
2.43e-06 ***
month4 4.863e+00 6.616e-01 7.351
1.98e-13 ***
month5 1.602e+00 6.524e-01 2.455
0.014076 *
month6 7.621e+00 6.347e-01 12.008
< 2e-16 ***
month7 6.618e+00 6.229e-01 10.624
< 2e-16 ***
month8 9.979e-01 6.473e-01 1.542
0.123164
month9 -8.281e-02 7.148e-01 -0.116
0.907775
air_time:distance -1.071e-05 4.394e-07 -
24.383 < 2e-16 ***

P á g i n a 48 | 68
ANÁLISIS, EVALUACIÓN Y COMPARACIÓN DE MODELOS

---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1
‘’1

Residual standard error: 42.52 on 105262


degrees of freedom
Multiple R-squared: 0.3817, Adjusted R-
squared: 0.3816
F-statistic: 4061 on 16 and 105262 DF, p-value: < 2.2e-16

Interpretación

• La gráfica which = 1, indica que en los residuos podría existir outliers, sin embargo, al no ser los
residuos estandarizados, no es posible definir claramente esta condición.
• El diagrama Q-Q (which = 2), podemos observar que los residuos no siguen una distribución
normal. Ya que en los extremos de la recta observamos que los residuos no se alinean a la recta.
Como resultado los extremos de los valores tenemos una desviación que no siguen una
distribución normal.
• Para el gráfico 3 (which 3), observamos los residuos estandarizados muy altos, lo que significa
que tenemos mayor de 3 desviaciones estándar hacia arriba, provocando que la media de los
residuos está mucho más desviada. Los residuos están demasiados grandes por lo que es
importante tratar a los outliers.
• Con respecto a la gráfica 4 (which = 4), observamos que las distancias de cook no son mayores a
1, que lo que significa que las observaciones en el punto central no causan influencia en el modelo
• Como resumen en el gráfico 6 (which = 6) notamos el apalancamiento causado por los outliers
identificado en el gráfico 3. No se observa valores que impliquen influencia.

En esta sección realizaremos se revisará los outliers a partir de eliminar los valores extremos de la
variable de respuesta dep_delay.

Revisión de los Outliers:

Código de Programación
P3 = quantile(train.data$dep_delay, probs = c(0.75), na.rm = TRUE)
#P3 = mean(f2$dep_delay) + 3*std(f2$dep_delay)
P1 = quantile(train.data$dep_delay, probs = c(0.25), na.rm = TRUE)
upperq <- P3
lowerq <- P1
iqr = upperq - lowerq
base=1.5
extreme.threshold.upper = (iqr * base) + upperq
extreme.threshold.lower = lowerq - (iqr * base)

Modelo2 <- lm(dep_delay~ sched_dep_time + I(sched_dep_time^3)+ dep_time+I(dep_time^2)+air_time:distance + month,


data = test.data[!(train.data$dep_delay > extreme.threshold.upper | train.data$dep_delay < extreme.threshold.lower),])
summary(Modelo2)

plot(Modelo2, which=1, id.n=10) # Fitted X vs Residuals Y


plot(Modelo2, which=2) #QQ plot
plot(Modelo2, which=3) # Fitted X vs Residuals std Y
plot(Modelo2, which=4 , id.n=10) #Observaciones vs distancia Cook
plot(Modelo2, which=5, id.n=10) #Apalancamiento vs residuos y Distancia Cook
plot(Modelo2, which=6, id.n=10) #Apalancamiento vs Distancia Cook

P á g i n a 49 | 68
ANÁLISIS, EVALUACIÓN Y COMPARACIÓN DE MODELOS

GRÁFICAS MODELO 1 MEJORADO


GRÁFICAS MODELO 1 ORIGINAL
SIN OUTLIERS

P á g i n a 50 | 68
ANÁLISIS, EVALUACIÓN Y COMPARACIÓN DE MODELOS

Call: Call:
lm(formula = dep_delay ~ sched_dep_time + lm(formula = dep_delay ~ sched_dep_time +
I(sched_dep_time^3) + I(sched_dep_time^3) +

P á g i n a 51 | 68
ANÁLISIS, EVALUACIÓN Y COMPARACIÓN DE MODELOS

dep_time + I(dep_time^2) + air_time:distance + month, data dep_time + I(dep_time^2) + air_time:distance + month, data
= train.data) = train.data[!(train.data$dep_delay >
extreme.threshold.upper | train.data$dep_delay <
Residuals: extreme.threshold.lower),
Min 1Q Median 3Q Max ])
-350.71 -21.32 -10.80 9.01 1249.88
Residuals:
Coefficients: Min 1Q Median 3Q Max
Estimate Std. Error t value Pr(>|t|) -169.521 -16.860 -7.761 10.995 210.556
(Intercept) 1.846e+02 1.256e+00 147.043 < 2e-16
*** Coefficients:
sched_dep_time 2.429e+01 1.751e-01 138.704 < 2e-16 Estimate Std. Error t value Pr(>|t|)
*** (Intercept) 8.964e+01 8.712e-01 102.888 < 2e-16 ***
I(sched_dep_time^3) -5.596e-02 3.030e-04 -184.666 < 2e-16 sched_dep_time 1.092e+01 1.477e-01 73.910 < 2e-16
*** ***
dep_time - 5.879e-01 2.762e-03 -212.893 < 2e-16 I(sched_dep_time^3) -2.563e-02 2.602e-04 -98.488 < 2e-16
*** ***
I(dep_time^2) 2.427e-04 1.050e-06 231.182 < 2e-16 *** dep_time -2.673e-01 2.628e-03 -101.733 < 2e-16 ***
month10 -2.703e+00 6.993e-01 -3.865 0.000111 *** I(dep_time^2) 1.139e-04 9.853e-07 115.630 < 2e-16 ***
month11 -4.049e+00 7.078e-01 -5.721 1.06e-08 *** month10 -1.709e+00 4.163e-01 -4.105 4.04e-05 ***
month12 1.460e+00 6.262e-01 2.331 0.019751 * month11 -2.311e+00 4.197e-01 -5.507 3.66e-08 ***
month2 -3.482e-01 6.807e-01 -0.511 0.609013 month12 1.421e+00 3.742e-01 3.798 0.000146 ***
month3 3.071e+00 6.513e-01 4.714 2.43e-06 *** month2 2.182e-01 4.063e-01 0.537 0.591257
month4 4.863e+00 6.616e-01 7.351 1.98e-13 *** month3 1.416e+00 3.904e-01 3.627 0.000287 ***
month5 1.602e+00 6.524e-01 2.455 0.014076 * month4 2.841e+00 3.983e-01 7.134 9.82e-13 ***
month6 7.621e+00 6.347e-01 12.008 < 2e-16 *** month5 1.225e+00 3.909e-01 3.134 0.001724 **
month7 6.618e+00 6.229e-01 10.624 < 2e-16 *** month6 4.594e+00 3.838e-01 11.970 < 2e-16 ***
month8 9.979e-01 6.473e-01 1.542 0.123164 month7 4.044e+00 3.758e-01 10.761 < 2e-16 ***
month9 -8.281e-02 7.148e-01 -0.116 0.907775 month8 8.307e-01 3.872e-01 2.145 0.031920 *
air_time:distance -1.071e-05 4.394e-07 -24.383 < 2e-16 *** month9 -2.369e+00 4.285e-01 -5.529 3.23e-08 ***
--- air_time:distance -8.324e-06 2.619e-07 -31.779 < 2e-16 ***
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 ---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 42.52 on 105262 degrees of freedom
Multiple R-squared: 0.3817, Adjusted R-squared: 0.3816 Residual standard error: 24.54 on 96844 degrees of freedom
F-statistic: 4061 on 16 and 105262 DF, p-value: < 2.2e-16 Multiple R-squared: 0.2091, Adjusted R-squared: 0.209
F-statistic: 1600 on 16 and 96844 DF, p-value: < 2.2e-16

Interpretación

• Desde el punto de vista de residuos, apreciamos un cambio sustancial en el rango intercuartílico,


el error estándar del residuo, sin embargo, R ajustado del modelo 2 baja, es decir que los datos
atípicos tenían influencia en nuestro modelo anterior.

P á g i n a 52 | 68
ANÁLISIS, EVALUACIÓN Y COMPARACIÓN DE MODELOS

• Las desviaciones estándar de los residuos bajan de mayores a 5 a menores de 3, mejorando los
resultados del modelo propuesto.
• Como consecuencia se tiene una distribución más cercana a la normal.
• Con la ayuda del tratamiento de datos atípicos en la variable dependiente observamos que nuestro
modelo baja su capacidad de predicción, pero este modelo sería más real para nuestro análisis.

g) Valoración del Modelo 2 para predicción


Código de Programación
> Model2_Predict <-predict(Modelo22, newdata=test.data , se.fit=TRUE, interval="prediction",
+ level=.95)
> Model2_Predict

Visualización de resultados en consola


fit lwr upr
9 2.608237e+01 -2.203069e+01 74.1954228
11 2.119321e+01 -2.691975e+01 69.3061632
13 2.335465e+01 -2.475767e+01 71.4669725
15 2.419409e+01 -2.391821e+01 72.3063911
20 1.451731e+01 -3.359590e+01 62.6305158
29 1.275354e+01 -3.535891e+01 60.8659859
30 1.316720e+01 -3.494580e+01 61.2802126
34 1.147521e+01 -3.663770e+01 59.5881257
38 1.447205e+01 -3.363988e+01 62.5839678
41 1.868135e+01 -2.943012e+01 66.7928252
46 1.279909e+01 -3.531333e+01 60.9115064
49 1.568039e+01 -3.243117e+01 63.7919479
50 1.791551e+01 -3.019597e+01 66.0269888
57 1.355749e+01 -3.455455e+01 61.6695360
68 1.723270e+01 -3.087868e+01 65.3440871
88 1.669759e+01 -3.141381e+01 64.8089846
89 1.894452e+01 -2.916688e+01 67.0559078
103 2.104358e+01 -2.706784e+01 69.1549948
104 2.027253e+01 -2.783900e+01 68.3840631
106 1.766822e+01 -3.044320e+01 65.7796385
118 2.191425e+01 -2.619721e+01 70.0257018
123 1.663166e+01 -3.147986e+01 64.7431773
124 1.360964e+01 -3.450239e+01 61.7216636
126 2.299138e+01 -2.511996e+01 71.1027228
139 1.606907e+01 -3.204250e+01 64.1806382
142 2.104741e+01 -2.706402e+01 69.1588340
156 2.192783e+01 -2.618355e+01 70.0392130
164 1.760954e+01 -3.050314e+01 65.7222178
169 2.995592e+01 -1.815548e+01 78.0673209
172 2.593849e+01 -2.217289e+01 74.0498643
176 2.020665e+01 -2.790481e+01 68.3181081
179 2.389305e+01 -2.421846e+01 72.0045592
181 2.877550e+01 -1.933591e+01 76.8869035
185 2.459836e+01 -2.351312e+01 72.7098361
187 1.992355e+01 -2.818834e+01 68.0354423
193 1.944777e+01 -2.866456e+01 67.5601066
209 2.163442e+01 -2.647697e+01 69.7458003
210 2.424671e+01 -2.386469e+01 72.3581100
215 3.422496e+01 -1.388646e+01 82.3363825
218 4.125172e+01 -6.860152e+00 89.3635942
221 2.448610e+01 -2.362523e+01 72.5974291
223 3.690382e+01 -1.120770e+01 85.0153524
225 2.097806e+01 -2.713421e+01 69.0903208
234 3.014085e+01 -1.797047e+01 78.2521665
236 3.069094e+01 -1.742040e+01 78.8022803
240 2.464044e+01 -2.347104e+01 72.7519127
241 1.857032e+01 -2.954200e+01 66.6826466
242 3.553752e+01 -1.257394e+01 83.6489803

P á g i n a 53 | 68
ANÁLISIS, EVALUACIÓN Y COMPARACIÓN DE MODELOS

255 4.200521e+01 -6.106474e+00 90.1168841


262 3.240381e+01 -1.570759e+01 80.5152130
266 3.300890e+01 -1.510364e+01 81.1214324
267 1.774069e+01 -3.037225e+01 65.8536300
278 2.623206e+01 -2.187946e+01 74.3435704
284 5.902365e+01 1.091045e+01 107.1368585
288 5.977307e+01 1.165977e+01 107.8863673
297 2.298427e+01 -2.512784e+01 71.0963783
302 5.932069e+01 1.120759e+01 107.4337865
305 4.502972e+01 -3.082105e+00 93.1415482
307 2.596780e+01 -2.214419e+01 74.0797852
308 4.619926e+01 -1.912620e+00 94.3111464
310 2.824904e+01 -1.986292e+01 76.3610027
318 2.740187e+01 -2.071091e+01 75.5146596
319 3.270636e+01 -1.540547e+01 80.8181801
332 2.583981e+01 -2.227305e+01 73.9526697
337 4.578908e+01 -2.323693e+00 93.9018509
338 2.207596e+01 -2.603895e+01 70.1908666
339 4.732500e+01 -7.878744e-01 95.4378779
349 5.067423e+01 2.559958e+00 98.7885009
370 2.645507e+01 -2.165801e+01 74.5681378
372 2.483872e+01 -2.327423e+01 72.9516745
384 2.968967e+01 -1.842310e+01 77.8024414
387 2.366027e+01 -2.445201e+01 71.7725600
389 1.515963e+01 -3.295332e+01 63.2725697
392 2.392666e+01 -2.418563e+01 72.0389518
393 1.553549e+01 -3.257757e+01 63.6485591
395 8.640172e+00 -3.947387e+01 56.7542102
397 2.035962e+01 -2.775257e+01 68.4718168
399 1.968486e+01 -2.842734e+01 67.7970599
405 1.958745e+01 -2.852472e+01 67.6996116
406 1.817531e+01 -2.993686e+01 66.2874754
408 2.523556e+01 -2.287646e+01 73.3475735
423 1.616987e+01 -3.194191e+01 64.2816565
424 1.876372e+01 -2.934807e+01 66.8755034
427 1.755559e+01 -3.055614e+01 65.6673174
436 1.906273e+01 -2.904876e+01 67.1742076
438 1.985281e+01 -2.825875e+01 67.9643627
444 -2.207178e-01 -4.833688e+01 47.8954473
450 1.545757e+01 -3.265402e+01 63.5691639
451 1.579512e+01 -3.231641e+01 63.9066441
459 1.775508e+01 -3.035651e+01 65.8666619
464 1.640171e+01 -3.170971e+01 64.5131358
468 1.822698e+01 -2.988442e+01 66.3383797
469 1.635574e+01 -3.175562e+01 64.4671095
471 1.624090e+01 -3.187046e+01 64.3522630
474 1.778264e+01 -3.032877e+01 65.8940606
477 1.740776e+01 -3.070365e+01 65.5191610
478 1.155419e+01 -3.655802e+01 59.6664108
484 1.773990e+01 -3.037144e+01 65.8512348
491 1.744099e+01 -3.067034e+01 65.5523203
500 1.853525e+01 -2.957614e+01 66.6466324
513 1.760940e+01 -3.050195e+01 65.7207457
518 1.580518e+01 -3.230638e+01 63.9167285
522 1.806938e+01 -3.004202e+01 66.1807898
529 2.142629e+01 -2.668523e+01 69.5378018
530 1.971084e+01 -2.840052e+01 67.8222022
535 2.197860e+01 -2.613279e+01 70.0899969
538 2.196885e+01 -2.614263e+01 70.0803335
539 1.662421e+01 -3.148731e+01 64.7357239
545 2.541256e+01 -2.269891e+01 73.5240343
546 2.145469e+01 -2.665674e+01 69.5661264
547 2.161111e+01 -2.650033e+01 69.7225577
550 2.144231e+01 -2.666909e+01 69.5537031
556 2.224892e+01 -2.586247e+01 70.3602990
559 2.289517e+01 -2.521621e+01 71.0065417

P á g i n a 54 | 68
ANÁLISIS, EVALUACIÓN Y COMPARACIÓN DE MODELOS

562 2.342828e+01 -2.468310e+01 71.5396658


563 1.859687e+01 -2.951470e+01 66.7084473
569 2.146943e+01 -2.664199e+01 69.5808458
570 2.316232e+01 -2.494921e+01 71.2738516
573 2.288498e+01 -2.522649e+01 70.9964557
575 2.107798e+01 -2.703343e+01 69.1893781
582 2.428999e+01 -2.382152e+01 72.4015014
584 2.932809e+01 -1.878337e+01 77.4395585
586 2.433602e+01 -2.377547e+01 72.4475157
588 2.338801e+01 -2.472337e+01 71.4993972
600 2.562336e+01 -2.248804e+01 73.7347691
602 3.005941e+01 -1.805199e+01 78.1708139
603 2.544282e+01 -2.266854e+01 73.5541756
615 2.428451e+01 -2.382699e+01 72.3960080
616 2.415006e+01 -2.396137e+01 72.2614811
625 2.541330e+01 -2.269806e+01 73.5246606
627 2.532323e+01 -2.278811e+01 73.4345733
628 3.501853e+01 -1.309305e+01 83.1301022
629 2.690566e+01 -2.120573e+01 75.0170426
643 4.202639e+01 -6.085454e+00 90.1382402
653 2.036492e+01 -2.774744e+01 68.4772806
657 2.079558e+01 -2.731676e+01 68.9079201
659 2.136147e+01 -2.675084e+01 69.4737809
668 2.970611e+01 -1.840524e+01 77.8174491
670 2.942049e+01 -1.869081e+01 77.5317909
680 4.791084e+01 -2.013560e-01 96.0230277
684 3.861528e+01 -9.496286e+00 86.7268413
694 2.229144e+01 -2.582087e+01 70.4037371
698 2.907145e+01 -1.903994e+01 77.1828488
701 2.411890e+01 -2.399321e+01 72.2310204
702 5.335815e+01 5.245454e+00 101.4708476
708 1.750413e+01 -3.060792e+01 65.6161867
710 2.372680e+01 -2.438481e+01 71.8384080
717 2.664881e+01 -2.146274e+01 74.7603663
729 3.136417e+01 -1.674739e+01 79.4757374
731 2.507014e+01 -2.304213e+01 73.1824029
734 3.165903e+01 -1.645245e+01 79.7705025
742 3.587245e+01 -1.224020e+01 83.9850971
746 7.128274e+01 2.316765e+01 119.3978220
763 3.171070e+01 -1.640127e+01 79.8226725
764 2.926988e+01 -1.884198e+01 77.3817526
765 5.017627e+01 2.064098e+00 98.2884342
766 3.101638e+01 -1.709550e+01 79.1282548
771 3.349346e+01 -1.461846e+01 81.6053789
776 4.165160e+01 -6.460408e+00 89.7636012
777 4.350281e+01 -4.609196e+00 91.6148192
783 8.039449e+01 3.227773e+01 128.5112448
784 4.728984e+01 -8.223816e-01 95.4020635
791 2.931414e+01 -1.879860e+01 77.4268840
799 4.707361e+01 -1.040545e+00 95.1877562
814 2.436966e+01 -2.374337e+01 72.4826872
822 2.520599e+01 -2.290726e+01 73.3192321
824 1.942239e+01 -2.869075e+01 67.5355293
833 2.306628e+01 -2.504598e+01 71.1785294
843 2.115431e+01 -2.695747e+01 69.2660915
853 1.828080e+01 -2.983098e+01 66.3925828
858 1.824112e+01 -2.987075e+01 66.3529921
859 1.814287e+01 -2.996864e+01 66.2543830
860 2.008836e+01 -2.802317e+01 68.1998946
861 2.006734e+01 -2.804419e+01 68.1788733
868 1.988132e+01 -2.823026e+01 67.9928943
869 -5.484673e+00 -5.361818e+01 42.6488375
870 1.415291e+01 -3.395912e+01 62.2649491
872 1.074106e+01 -3.737103e+01 58.8531500
873 1.257278e+01 -3.553942e+01 60.6849765
883 1.935631e+01 -2.875518e+01 67.4677959

P á g i n a 55 | 68
ANÁLISIS, EVALUACIÓN Y COMPARACIÓN DE MODELOS

884 9.184179e+00 -3.892856e+01 57.2969163


885 1.455215e+01 -3.355956e+01 62.6638638
889 1.753252e+01 -3.057885e+01 65.6438844
899 1.869050e+01 -2.942093e+01 66.8019287
912 1.898663e+01 -2.912478e+01 67.0980330
921 1.969137e+01 -2.842009e+01 67.8028348
923 2.005433e+01 -2.805716e+01 68.1658244
925 2.007338e+01 -2.803796e+01 68.1847148
928 2.128456e+01 -2.682686e+01 69.3959828
933 1.488445e+01 -3.322765e+01 62.9965632
935 1.976185e+01 -2.834951e+01 67.8732064
936 1.869358e+01 -2.941780e+01 66.8049640
945 2.443413e+01 -2.367734e+01 72.5456047
946 2.063594e+01 -2.747553e+01 68.7474128
948 2.477969e+01 -2.333178e+01 72.8911459
955 2.140252e+01 -2.670888e+01 69.5139244
962 2.205138e+01 -2.606000e+01 70.1627474
969 1.722584e+01 -3.088655e+01 65.3382170
985 2.073848e+01 -2.737293e+01 68.8498974
987 2.229007e+01 -2.582133e+01 70.4014620
990 2.266848e+01 -2.544291e+01 70.7798693
996 2.368763e+01 -2.442374e+01 71.7989990
997 2.513265e+01 -2.297884e+01 73.2441447
1002 1.937612e+01 -2.873607e+01 67.4883130
1009 2.437152e+01 -2.373983e+01 72.4828684
1016 3.044392e+01 -1.766750e+01 78.5553338
1018 2.091573e+01 -2.719568e+01 69.0271484
1027 4.074070e+01 -7.371251e+00 88.8526441
1029 2.171397e+01 -2.639760e+01 69.8255429
1031 2.546378e+01 -2.264757e+01 73.5751355
1032 2.658149e+01 -2.152995e+01 74.6929296
1054 3.430498e+01 -1.380644e+01 82.4164027
1055 2.467962e+01 -2.343174e+01 72.7909801
1066 2.661409e+01 -2.149722e+01 74.7254004
1067 3.734129e+01 -1.077026e+01 85.4528371
1071 2.767030e+01 -2.044105e+01 75.7816580
1072 2.766222e+01 -2.044912e+01 75.7735615
1077 2.973570e+01 -1.837565e+01 77.8470456
1078 2.946179e+01 -1.864951e+01 77.5730988
1080 2.837761e+01 -1.973369e+01 76.4889215
1096 2.680613e+01 -2.130526e+01 74.9175193
1098 2.164145e+01 -2.647061e+01 69.7535104
1103 5.859454e+01 1.048105e+01 106.7080337
1107 3.048817e+01 -1.762320e+01 78.5995474
1115 2.014420e+01 -2.796803e+01 68.2564318
1117 3.540876e+01 -1.270386e+01 83.5213738
1118 3.542701e+01 -1.268568e+01 83.5396939
1123 2.208127e+01 -2.603112e+01 70.1936477
1125 4.430734e+01 -3.804400e+00 92.4190720
1126 5.550680e+01 7.393764e+00 103.6198409
1127 4.383544e+01 -4.276287e+00 91.9471651
1131 4.220277e+01 -5.909413e+00 90.3149601
1134 3.106336e+01 -1.704809e+01 79.1748014
1140 3.302701e+01 -1.508446e+01 81.1384771
1148 2.339954e+01 -2.471255e+01 71.5116329
1150 5.882082e+01 1.070778e+01 106.9338539
1152 8.811713e+01 3.999767e+01 136.2365815
1156 4.312238e+01 -4.989351e+00 91.2341109
1159 2.730612e+01 -2.080590e+01 75.4181428
1180 9.055971e+01 4.243991e+01 138.6795115
1181 3.381216e+01 -1.429967e+01 81.9239917
1189 2.351476e+01 -2.459840e+01 71.6279120
1192 2.382777e+01 -2.428526e+01 71.9407904
1195 1.846734e+01 -2.964675e+01 66.5814266
1200 2.925040e+01 -1.886251e+01 77.3633047
1209 2.970782e+01 -1.840658e+01 77.8222169

P á g i n a 56 | 68
ANÁLISIS, EVALUACIÓN Y COMPARACIÓN DE MODELOS

1212 3.386758e+01 -1.424663e+01 81.9817901


1217 1.082461e+02 6.012019e+01 156.3720128
1220 2.976251e+01 -1.838872e+01 77.9137353
1223 2.935115e+01 -1.876210e+01 77.4643900
1225 2.928772e+01 -1.882551e+01 77.4009615
1252 1.754301e+01 -3.056994e+01 65.6559702
1267 1.288187e+01 -3.523048e+01 60.9942271
1278 1.923202e+01 -2.887974e+01 67.3437941
1294 1.648783e+01 -3.162368e+01 64.5993346
1296 1.632214e+01 -3.178934e+01 64.4336185
1302 1.268292e+01 -3.542933e+01 60.7951624
1303 1.758713e+01 -3.052440e+01 65.6986649
1314 1.867329e+01 -2.943820e+01 66.7847757
1317 1.806165e+01 -3.004978e+01 66.1730852
1318 1.828708e+01 -2.982442e+01 66.3985683
1321 1.277769e+01 -3.533411e+01 60.8894912
1337 1.695117e+01 -3.116021e+01 65.0625559
1349 2.064600e+01 -2.746538e+01 68.7573899
1350 1.394523e+01 -3.416693e+01 62.0573908
1352 2.114332e+01 -2.696811e+01 69.2547536
1356 2.046030e+01 -2.765123e+01 68.5718391
1357 2.186461e+01 -2.624687e+01 69.9760853
1365 2.166263e+01 -2.644888e+01 69.7741293
1370 1.827272e+01 -2.983886e+01 66.3843058
1371 2.175293e+01 -2.635842e+01 69.8642939
1373 2.139945e+01 -2.671194e+01 69.5108356
1375 2.038570e+01 -2.772574e+01 68.4971386
1380 2.179363e+01 -2.631782e+01 69.9050885
1382 2.271945e+01 -2.539208e+01 70.8309675
1384 2.470955e+01 -2.340189e+01 72.8209995
1386 2.295863e+01 -2.515280e+01 71.0700621
1392 2.447932e+01 -2.363218e+01 72.5908174
1401 2.128138e+01 -2.683004e+01 69.3927922
1405 3.175593e+01 -1.635565e+01 79.8675107
1406 2.270093e+01 -2.541048e+01 70.8123417
1412 2.275143e+01 -2.535994e+01 70.8627965
1426 2.649713e+01 -2.161435e+01 74.6086093
1427 2.620375e+01 -2.190768e+01 74.3151775
1437 2.191517e+01 -2.619623e+01 70.0265647
1447 1.972182e+01 -2.839066e+01 67.8342924
1451 2.745211e+01 -2.065933e+01 75.5635452
1453 2.832556e+01 -1.978591e+01 76.4370238
1456 3.436520e+01 -1.374628e+01 82.4766819
1457 2.317004e+01 -2.494175e+01 71.2818338
1461 3.533931e+01 -1.277340e+01 83.4520146
1462 3.358086e+01 -1.453054e+01 81.6922676
1464 3.348250e+01 -1.462889e+01 81.5939045
1473 3.791797e+01 -1.019365e+01 86.0295869
1474 2.819039e+01 -1.992105e+01 76.3018244
1479 2.623285e+01 -2.187845e+01 74.3441552
1486 2.418920e+01 -2.392302e+01 72.3014245
1491 2.453755e+01 -2.357394e+01 72.6490357
1492 3.648385e+01 -1.162757e+01 84.5952739
1499 2.565348e+01 -2.245793e+01 73.7648954
1500 3.176839e+01 -1.634421e+01 79.8809911
1504 3.924674e+01 -8.864825e+00 87.3583065
1511 5.153953e+01 3.427010e+00 99.6520558
1518 3.000326e+01 -1.810810e+01 78.1146167
1519 2.850098e+01 -1.961036e+01 76.6123092
1520 3.135985e+01 -1.675157e+01 79.4712761
1525 2.428164e+01 -2.383001e+01 72.3932845
1526 3.991298e+01 -8.198549e+00 88.0245027
1528 3.951867e+01 -8.592833e+00 87.6301650
1529 3.406035e+01 -1.405228e+01 82.1729781
1533 2.598491e+01 -2.212665e+01 74.0964661
1535 2.469654e+01 -2.341500e+01 72.8080809

P á g i n a 57 | 68
ANÁLISIS, EVALUACIÓN Y COMPARACIÓN DE MODELOS

1555 4.813553e+01 2.352207e-02 96.2475378


1558 5.044998e+01 2.335837e+00 98.5641188
1561 2.410026e+01 -2.401183e+01 72.2123459
1568 2.939909e+01 -1.871291e+01 77.5110949
1581 4.728412e+01 -8.283293e-01 95.3965698
1584 7.662845e+01 2.851086e+01 124.7460496
1589 4.678381e+01 -1.328393e+00 94.8960222
1593 2.471297e+01 -2.339995e+01 72.8258788
1594 2.628639e+01 -2.182644e+01 74.3992095
1595 3.024531e+01 -1.786747e+01 78.3580953
1600 2.015796e+01 -2.795718e+01 68.2730907
1614 3.079128e+01 -1.732309e+01 78.9056564
1620 2.811344e+01 -1.999972e+01 76.2265920
1622 2.735567e+01 -2.075743e+01 75.4687744
1637 2.289490e+01 -2.521733e+01 71.0071360
1639 2.239632e+01 -2.571590e+01 70.5085445
1640 2.330989e+01 -2.480243e+01 71.4222133
1642 2.156127e+01 -2.655093e+01 69.6734654
1648 1.947816e+01 -2.863400e+01 67.5903227
1649 2.696170e+01 -2.115046e+01 75.0738632
1654 2.145291e+01 -2.665891e+01 69.5647387
[ reached getOption("max.print") -- omitted 25986 rows ]

Interpretación

• Podemos observar que los valores ajustados obtenidos para el Modelo 2 no son tan cercanos al
valor real, ya que, con el modelo propuesto llegamos a explicar hasta el 20,9% de la variable
dependiente dep_delay Esto indica que existen más variables que podrían ayudar a predecir el
retraso en los vuelos, lo cual lo estudiaremos con el planteamiento del modelo 3.

P á g i n a 58 | 68
ANÁLISIS, EVALUACIÓN Y COMPARACIÓN DE MODELOS

iii. Modelo 3

a) Establecimiento teórico de la hipótesis para la selección de variables


Del ajuste del modelo 2, se obtienen las siguientes interpretaciones:

• La hora programada de salida aporta a los retrasos de las salidas de los vuelos, esto puede
explicarse debido a que en horas de alta demanda de usuarios, los andenes, pistas de vuelo y
demás equipos e instalaciones de los aeropuertos están trabajando a su capacidad máxima o en
su defecto, se encuentran saturados.
• De la misma manera, la hora real de salida aporta al retraso en la salida de los vuelos. Esto podría
explicarse sobre todo por el estancamiento de los aviones sobre la pista.
• Los meses de mayor congestión son marzo, abril, junio y julio, consecuencia posiblemente por
afluencia de pasajeros por vacaciones.
• El aporte del tiempo de vuelo y la distancia no aportan significativamente al modelo

Con estos antecedentes, para la definición del Modelo 3, se ha considerado la eliminación de las variables
tiempo de vuelo (air_time), distancia (distance) y meses (month), toda vez que se observa que su aporte
es poco significativo al modelo.

Paralelamente se incluye la variable de retrasos de llegada (arr_delay), toda vez que es común que los
vuelos se retrasen debido a retrasos en las llegadas de estos. Esto es consecuencia que las aerolíneas
programan vuelos bajo la modalidad de escala.

b) Evaluación numérica de correlación entre las variables


Código de Programación
corr_modelo3 <- cor(f2[,c(6,4,5,9)])
corr_modelo3
Visualización de resultados en consola

dep_delay dep_time sched_dep_time arr_delay


dep_delay 1 0.2536757 0.1941058 0.885449
dep_time 0.2536757 1 0.9308729 0.2258342
sched_dep_time 0.1941058 0.9308729 1 0.1688194
arr_delay 0.885449 0.2258342 0.1688194 1

Interpretación:

• De acuerdo con el supuesto, la correlación obtenida entre las variables dep_delay y arr_delay es
alta, siendo este un indicativo de buena selección en la variable.

P á g i n a 59 | 68
ANÁLISIS, EVALUACIÓN Y COMPARACIÓN DE MODELOS

c) Mapa de calor de las variables


Código de Programación
corr_modelo3 <- cor(f[,c(6, 4,5, 9)])
corr_modelo3

#Grafica de color de correlación


cor_modelo3_melted <- melt(corr_modelo3, varname=c("X","Y"), value.name="Correlacion")
cor_modelo3_melted <- cor_modelo3_melted[order(cor_modelo3_melted$Correlacion),]

ggplot(cor_modelo3_melted, aes(x=X , y=Y)) +


geom_tile(aes(fill=Correlacion))+
scale_fill_gradient2(low=muted("steelblue"), mid="white" , high="red")+
theme_minimal() +
labs(x=NULL , y=NULL)
Visualización de resultados en consola

Interpretación:

• De acuerdo con lo esperado, visualmente se obtiene alta correlación entre las variables dep_delay
y arr_delay.

P á g i n a 60 | 68
ANÁLISIS, EVALUACIÓN Y COMPARACIÓN DE MODELOS

d) Visualización gráfica de la data con línea de tendencia


Código de Programación
ggplot(train.data, aes(arr_delay, dep_delay) ) +
geom_point() +
stat_smooth()
Visualización de resultados en consola

Interpretación:

• De acuerdo con lo esperado, la distribución de las observaciones es descrita por una función
inicialmente lineal, sin embargo, debido a la inflexión en la parte inferior de la línea de tendencia,
esta variable formará parte del modelo mediante una transformación a polinomio de grado 2.
• Toda vez que el tratamiento de ANOVA para la selección del modelo 2 indicó como candidato al
Modelo2_3, se utilizará los mismos resultados pero incluyendo a la variable arr_delay como
polinomio de grado 2.

P á g i n a 61 | 68
ANÁLISIS, EVALUACIÓN Y COMPARACIÓN DE MODELOS

e) Revisión de Estadísticos del Modelo 3


Código de Programación
Modelo3 <- lm(dep_delay ~ arr_delay+ I(arr_delay^2)+sched_dep_time+I(sched_dep_time^3)+dep_time+I(dep_time^2),
data=train.data)
summary(Modelo3)
Visualización de resultados en consola
Call:
lm(formula = dep_delay ~ arr_delay + I(arr_delay^2) +
sched_dep_time + I(sched_dep_time^3) + dep_time +
I(dep_time^2), data = train.data)

Residuals:
Min 1Q Median 3Q Max
-897.11 -7.49 -0.53 6.73 1142.69

Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 3.187e+01 2.500e-01 127.5 <2e-16 ***
arr_delay 5.996e-01 1.007e-03 595.6 <2e-16 ***
I(arr_delay^2) 6.483e-04 3.538e-06 183.3 <2e-16 ***
sched_dep_time 6.767e-02 5.282e-04 128.1 <2e-16 ***
I(sched_dep_time^3) -1.422e-08 9.215e-11 -154.3 <2e-16 ***
dep_time -1.425e-01 8.909e-04 -160.0 <2e-16 ***
I(dep_time^2) 6.009e-05 3.427e-07 175.3 <2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 16.97 on 336769 degrees of freedom


Multiple R-squared: 0.8221, Adjusted R-squared: 0.8221
F-statistic: 2.594e+05 on 6 and 336769 DF, p-value: < 2.2e-16

Interpretación:

• El R2 ajustado es 0.8221, de acuerdo con lo previsto en la sección anterior, es lógico el valor


obtenido, pues las observaciones visualmente se ajustan al modelo propuesto. El valor propuesto
significa que el 82.21% de las observaciones son explicadas por el modelo.
• Gráficamente observamos que la probabilidad que la variable arr_delay sea cero es baja, siendo
esta una variable que asegura tener buenos resultados.

P á g i n a 62 | 68
ANÁLISIS, EVALUACIÓN Y COMPARACIÓN DE MODELOS

f) Revisión de los PLOTS del Modelo 3, presencia de outliers, apalancamiento e influencia


Revisión de Plots Modelo 3
Código de Programación
Modelo3 <- lm(dep_delay ~ arr_delay+ I(arr_delay^2)+sched_dep_time+I(sched_dep_time^3)+dep_time+I(dep_time^2),
data=train.data)
summary(Modelo3)

plot(Modelo3, which=1, id.n=10) # Fitted X vs Residuals Y


plot(Modelo3, which=2) #QQ plot
plot(Modelo3, which=3) # Fitted X vs Residuals std Y
plot(Modelo3, which=4 , id.n=10) #Observaciones vs distancia Cook
plot(Modelo3, which=5, id.n=10) #Apalancamiento vs residuos y Distancia Cook
plot(Modelo3, which=6, id.n=10) #Apalancamiento vs Distancia Cook

resdf_M3 <- data.frame(res=Modelo3$residuals)


ggplot(data=resdf_M3 ,aes (y=res, x=1))+
geom_boxplot(color="red")

Call:
lm(formula = dep_delay ~ arr_delay + I(arr_delay^2) +
sched_dep_time + I(sched_dep_time^3) + dep_time +
I(dep_time^2), data = train.data)

Residuals:
Min 1Q Median 3Q Max
-897.11 -7.49 -0.53 6.73 1142.69

Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 3.187e+01 2.500e-01 127.5 <2e-16 ***
arr_delay 5.996e-01 1.007e-03 595.6 <2e-16 ***
I(arr_delay^2) 6.483e-04 3.538e-06 183.3 <2e-16 ***
sched_dep_time 6.767e-02 5.282e-04 128.1 <2e-16 ***
I(sched_dep_time^3) -1.422e-08 9.215e-11 -154.3 <2e-16
***
dep_time -1.425e-01 8.909e-04 -160.0 <2e-16 ***
I(dep_time^2) 6.009e-05 3.427e-07 175.3 <2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

P á g i n a 63 | 68
ANÁLISIS, EVALUACIÓN Y COMPARACIÓN DE MODELOS

Residual standard error: 16.97 on 336769 degrees of freedom


Multiple R-squared: 0.8221, Adjusted R-squared: 0.8221
F-statistic: 2.594e+05 on 6 and 336769 DF, p-value: < 2.2e-16

Interpretación:

• De la gráfica which = 1, indica que en los residuos podría existir outliers, sin embargo, al no ser
los residuos estudentizados o estandarizados, no es posible definir claramente esta condición.
• El diagrama Q-Q (which = 2), podemos observar que los residuos no siguen una distribución
normal. En los extremos de la recta observamos que los residuos no se alinean a la recta,
concluyendo q a los extremos de los valores tenemos una desviación que no siguen una
distribución normal.
• Para el gráfico 3 (which 3), observamos los residuos estandarizados muy altos, lo que significa
que tenemos mayor de 5 desviaciones estándar hacia arriba, provocando que la media de los
residuos, está mucho más desviado. Los residuos demasiados grandes por lo q es necesario
revisar los outliers.
• Con respecto a la gráfica 4 (which = 4), observamos que las distancias de cook son mayores a 1,
que lo que significa que las observaciones en el punto central causan influencia en el modelo.
• Como resumen en el gráfico 6 (which = 6) notamos el apalancamiento causado por los outliers
identificado en el gráfico 3. También existen valores que implican influencia.
• Bajo este antecedente se revisará los outliers a partir de eliminar los valores extremos de la
variable de respuesta.

P á g i n a 64 | 68
ANÁLISIS, EVALUACIÓN Y COMPARACIÓN DE MODELOS

Revisión de los Outliers:


Código de Programación
P3 = quantile(train.data$dep_delay, probs = c(0.75), na.rm = TRUE)
#P3 = mean(f2$dep_delay) + 3*std(f2$dep_delay)
P1 = quantile(train.data$dep_delay, probs = c(0.25), na.rm = TRUE)
upperq <- P3
lowerq <- P1
iqr = upperq - lowerq
base=1.5
extreme.threshold.upper = (iqr * base) + upperq
extreme.threshold.lower = lowerq - (iqr * base)

Modelo3 <- lm(dep_delay ~ arr_delay+ I(arr_delay^2)+sched_dep_time+I(sched_dep_time^3)+dep_time+I(dep_time^2),


data=train.data)

plot(Modelo3, which=1, id.n=10) # Fitted X vs Residuals Y


plot(Modelo3, which=2) #QQ plot
plot(Modelo3, which=3) # Fitted X vs Residuals std Y
plot(Modelo3, which=4 , id.n=10) #Observaciones vs distancia Cook
plot(Modelo3, which=5, id.n=10) #Apalancamiento vs residuos y Distancia Cook
plot(Modelo3, which=6, id.n=10) #Apalancamiento vs Distancia Cook

resdf_M3 <- data.frame(res=Modelo3$residuals)


ggplot(data=resdf_M3 ,aes (y=res, x=1))+
geom_boxplot(color="red")
GRÁFICAS MODELO 1 MEJORADO
GRÁFICAS MODELO 1 ORIGINAL
SIN OUTLIERS

P á g i n a 65 | 68
ANÁLISIS, EVALUACIÓN Y COMPARACIÓN DE MODELOS

Residuals:
Min 1Q Median 3Q Max
-897.11 -7.49 -0.53 6.73 1142.69

Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 3.187e+01 2.500e-01 127.5 <2e-16 ***
arr_delay 5.996e-01 1.007e-03 595.6 <2e-16 ***
I(arr_delay^2) 6.483e-04 3.538e-06 183.3 <2e-16 ***
sched_dep_time 6.767e-02 5.282e-04 128.1 <2e-16 ***
I(sched_dep_time^3) -1.422e-08 9.215e-11 -154.3 <2e-16
***
dep_time -1.425e-01 8.909e-04 -160.0 <2e-16 ***
I(dep_time^2) 6.009e-05 3.427e-07 175.3 <2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 16.97 on 336769 degrees of freedom


Multiple R-squared: 0.8221, Adjusted R-squared: 0.8221
F-statistic: 2.594e+05 on 6 and 336769 DF, p-value: < 2.2e-
16

Interpretación:

• Desde el punto de vista de residuos, apreciamos un cambio sustancial en el rango intercuartílico,


el error estándar del residuo y los grados de libertad. Evidentemente el R2ajustado mejora.
• Las desviaciones estándar de los residuos bajan de mayores a 5 a menores de 2.5, mejorando los
resultados del modelo propuesto.
• Asimismo la influencia vista desde el punto de vista de la distancia de cook mejora, obteniéndose
valores menores a 0.5
• Como consecuencia se tiene una distribución más cercana a la normal.

P á g i n a 66 | 68
ANÁLISIS, EVALUACIÓN Y COMPARACIÓN DE MODELOS

4. COMPARACIÓN DE MODELOS
Código de Programación
Modelo1 <- lm(dep_delay ~ humid+dest:origin, data=test.data[!(test.data$dep_delay > extreme.threshold.upper |
test.data$dep_delay < extreme.threshold.lower),])
Modelo2 <- lm(dep_delay~ sched_dep_time + I(sched_dep_time^3)+ dep_time+I(dep_time^2)+air_time:distance + month, data =
train.data[!(train.data$dep_delay > extreme.threshold.upper | train.data$dep_delay < extreme.threshold.lower),])
Modelo3 <- lm(dep_delay ~ arr_delay+ I(arr_delay^2)+sched_dep_time+I(sched_dep_time^3)+dep_time+I(dep_time^2),
data=train.data[!(train.data$dep_delay > extreme.threshold.upper | train.data$dep_delay < extreme.threshold.lower),])

dfaic <-AIC(Modelo1, Modelo2,Modelo3)


dfaic
dfbic <-BIC(Modelo1, Modelo2,Modelo3)
dfaic
Visualización de resultados en consola

Tabla 3. Resultados de aplicación de herramientas AIB y BIC en la comparación de modelos


AIC BIC
Modelo1 228257.7 230030.2
Modelo2 896859.8 896935.6
Modelo3 816071.4 816147.2

Interpretación:

• De acuerdo con lo esperado, el mejor modelo es el 3, dado que se ha podido concluir que en
mayor parte, el retraso de la salida de los vuelos (dep_delay) se debe al retraso de la llegada de
los vuelos (arr_delay). Siendo esta una condición lógica esperada considerando que la mayor parte
de vuelos realizan escala en los aeropuertos, si esto ocurre y si el avión retrasa al arribo, se prevé
que la salida se verá forzada a ser retrasada.

P á g i n a 67 | 68
ANÁLISIS, EVALUACIÓN Y COMPARACIÓN DE MODELOS

CONCLUSIONES
Inicialmente, consideramos que las variables climatológicas afectarían en los retrasos de los vuelos, sin
embargo, según informa la revista 'Best Life', hay demoras climáticas generales y luego hay otras que son
extremas. Las primeras incluyen vientos fuertes, tormentas eléctricas o niebla, las segundas van desde
las tormentas de nieve a los huracanes. Esto puede suceder en el aeropuerto de llegada o de salida, sin
embargo, al revisar los estadísticos y modelos tratados, observando que tan solo el 5% de los retrasos en
vuelos se deben a esta razón; razón por la cual el Modelo 1 no podría ser buen candidato para
predicciones. Los resultados obtenidos de las metodologías aplicadas AIB y BIC concuerdan con esta
condición vista inicialmente desde el punto de vista lógico en función de los primeros resultados obtenidos
(R2 ajustado y visualización de datos)

Para el segundo modelo se han planteado el uso de variables condicionales independientes (hora real de
salida, hora programa de salida, tiempo de vuelo, distancia entre aeropuertos y meses). Parte del proceso
de análisis para obtención del modelo 2 consistió en el uso de transformaciones para ciertas variables que
no se ajustaban a una función lineal y en base a este tratamiento se obtuvo que estas variables describan
hasta el 20,9% de los retrasos en los vuelos, sin embargo, todavía no es un buen modelo para predecir
los atrasos en los vuelos, ya que como recomendación el R ajustado debería ser mayor a 50%.

Con el modelo 3 logramos predecir aproximadamente un 65% con la inclusión de la variable dep_delay en
el modelo 2, y presenta la siguiente interpretación mientras mayor sea el retraso en la salida de un vuelo,
mayor será su retraso en la llegada, así también sucede, que mientras más minutos de retraso en la salida
exista, el vuelo no cumplirá con su hora real de salida y esto también afectara a la hora programa de salida.
Esto podría ser descrito como una condición lógica esperada considerando que la mayor parte de vuelos
realizan escala en los aeropuertos, si esto ocurre y si el avión retrasa al arribo, se prevé que la salida se
verá forzada a ser retrasada.

RECOMENDACIONES PARA TRABAJOS FUTUROS


De acuerdo con el análisis de un caso de estudio propuesto por Raúl Monje en el año 2015, concluye que
existen un conjunto de factores adicionales que intervienen al explicar el atraso en los vuelos, como lo son:

• Restricciones de tráfico,
• Problemas mecánicos,
• Preparación de la aeronave,
• Retrasos de equipaje y
• Retrasos de seguridad.

En este contexto, para tener una mejor aproximación al modelo se deben contar con algunas de estas
variables en las bases de datos trabajadas, pudiendo mejorar la predicción con el modelo propuesto.

Finalmente, para estudios futuros se propone trabajar con bases de datos que incluyan al menos alguna
de estas variables, con la finalidad que ayuden a entender de mejor manera este fenómeno.

P á g i n a 68 | 68

También podría gustarte