Correlacion y regresión lineal de Aerolinea

Se cagarán librerías para trata los datos de la aerolinea

library(readr)
library(ggplot2)
library(stats)

Cargar los datos

datos <- read.csv("C:/Users/crep_/Documents/8vo semestre/Analisis de datos inteligentes/datos/rutasmillas.csv")

Se comenzara a revisar los datos

datos <- data.frame(datos) # Asegurarse de que es un data.frame
str(datos)
## 'data.frame':    18 obs. of  3 variables:
##  $ ruta  : Factor w/ 18 levels "Chicago-Atlanta",..: 7 9 4 5 2 1 16 18 13 3 ...
##  $ millas: int  178 232 238 262 301 593 1092 1608 714 901 ...
##  $ costo : int  125 123 148 136 129 162 224 264 287 256 ...
summary(datos)
##                  ruta        millas         costo      
##  Chicago-Atlanta   : 1   Min.   : 178   Min.   :123.0  
##  Chicago-Cleveland : 1   1st Qu.: 374   1st Qu.:151.5  
##  Chicago-Denver    : 1   Median :1048   Median :275.5  
##  Chicago-Detroit   : 1   Mean   :1196   Mean   :280.7  
##  Chicago-San Luis  : 1   3rd Qu.:1752   3rd Qu.:364.0  
##  Chicago-Seattle   : 1   Max.   :2574   Max.   :513.0  
##  (Other)           :12
datos
##                        ruta millas costo
## 1            Dallas-Austin     178   125
## 2           Houston-Dallas     232   123
## 3          Chicago-Detroit     238   148
## 4         Chicago-San Luis     262   136
## 5        Chicago-Cleveland     301   129
## 6           Chicago-Atlanta    593   162
## 7         Nueva York-Miami    1092   224
## 8       Nueva York-San Juan   1608   264
## 9        Nueva York-Chicago    714   287
## 10          Chicago-Denver     901   256
## 11        Dallas-Salt Lake    1005   365
## 12       Nueva York-Dallas    1374   459
## 13          Chicago-Seattle   1736   424
## 14      Los Angeles-Chicago   1757   361
## 15      Los Angeles-Atlanta   1946   309
## 16   Nueva York-Los Angeles   2463   444
## 17     Los Angeles-Honolulu   2556   323
## 18 Nueva York-San Francisco   2574   513

Ver el Coeficiente de Correlación con función cor()

CR <- cor(datos$millas, datos$costo)
CR 
## [1] 0.835779

Modelo de regresión

  • Variable independiente; millas; x
  • Variable dependiente o respueta o; y predictiva
  • ~ Significa determinar costo en función de las millas
modelo <- lm(costo ~ millas, datos)
modelo
## 
## Call:
## lm(formula = costo ~ millas, data = datos)
## 
## Coefficients:
## (Intercept)       millas  
##    128.5770       0.1272

###Valores de los coeficientes

a <- modelo$coefficients[1] 
b <- modelo$coefficients[2]
a; b
## (Intercept) 
##     128.577
##    millas 
## 0.1271535

Visualizar el diagrama de dispersión

ggplot(datos, aes(millas, costo))   +   geom_point()

Determinar otros estadísticos significativos

  • El Coeficiente de relación antes de su raiz
  • Coeficente de relación es la raiz de Multiple R-squared que debe ser igual a CR generado anteriormente.
  • El Valor de p-value que debe ser menor a 0.05 *** ó 0.01 ** para decir que la pendiente es diferente de 0 y que existe estadísticamente relación significativa entre las variables
  • El valor de 0.83 es una relación moderada entre las variables
  • Multiple R-squared: 0.6985
  • p-value: 1.567e-05 es mucho menor que 0.05 de tal forma que si hay relación estadísticamente significativa
summary(modelo)
## 
## Call:
## lm(formula = costo ~ millas, data = datos)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -130.58  -40.95  -18.36   46.06  155.71 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 128.57699   30.24824   4.251  0.00061 ***
## millas        0.12715    0.02088   6.089 1.57e-05 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 72.38 on 16 degrees of freedom
## Multiple R-squared:  0.6985, Adjusted R-squared:  0.6797 
## F-statistic: 37.07 on 1 and 16 DF,  p-value: 1.567e-05
sqrt(0.6985) # La raiz debe ser igual a cor()
## [1] 0.8357631

Hacer la linea de tendencia en rojo

  • y.precit significa los valores de y para cada dato de x original
  • eso permie dibujar la recta
y.predict <- predict(modelo, datos)
y.predict
##        1        2        3        4        5        6        7        8 
## 151.2103 158.0766 158.8395 161.8912 166.8502 203.9790 267.4286 333.0398 
##        9       10       11       12       13       14       15       16 
## 219.3646 243.1423 256.3662 303.2859 349.3154 351.9856 376.0176 441.7560 
##       17       18 
## 453.5813 455.8700
  • La recta de tedencia con el modelo y = a+bx
ggplot() + geom_point(data = datos, aes(x = millas, y = costo), size = 0.9) +
  geom_line(aes( x = datos$millas, y = y.predict), color = "red") +
  xlab("Millas") + 
  ylab("Costo") + 
  ggtitle("Linea de tendencia sobre Conjunto de Datos. Millas Costo")

  • Pronosticar y Estimar algunos costos con algunas nuevas rutas dadas en millas
  • c(800, 1200, 1800, 2680)
nuevosdatos <- data.frame(millas = c(800, 1200, 1800, 2680))
nuevosdatos
##   millas
## 1    800
## 2   1200
## 3   1800
## 4   2680

Predicción de costo,

  • Nuevos datos en millas
  • La variaable millas del data.frame se llama igual
  • Se estiman y pronostican nuevos costos por cada nuevo dato
prediccion <- predict(modelo,nuevosdatos)
prediccion
##        1        2        3        4 
## 230.2998 281.1612 357.4532 469.3483

Interpretaciones

  • Es necesario conocer la correlacion de los datos en este caso da como resultado una correlacion positiva lo que significa que es viable aplicar el metodo de regresiòn lineal.
  • Al ingresar los siguentes datos nuevos correspondientes a las distancias 800,1200,1800,2680 brinda una prediccion de 230.2998, 281.1612, 357.4532, 469.3483 respectivamente del costo de viaje
  • Existe una relacion simultanea entre el costo y la distancia