Este análisis que vamos hacer a continuación permite saber el comportamiento del uso de bicicletas en función de variables como sería el clima, la estación del año, la hora del día y el tipo de usuario, así se integrarán conceptos de estadística descriptivas y el manejo de variables categóricas.
library(readr)
train1 <- read_csv("D:/DATOS/Desktop/train1.csv")
## Rows: 10886 Columns: 12
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (1): datetime
## dbl (11): Season, holiday, working day, weather, temp, Atemp, humidity, wind...
##
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
View(train1)
#2. Conversion Variables
train1$Season <- factor (train1$Season,
levels = c(1, 2, 3, 4),
labels = c("Primavera", "Verano","Otono", "Invierno"))
tapply(train1$Count, train1$Season, summary)
## $Primavera
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1.0 24.0 78.0 116.3 164.0 801.0
##
## $Verano
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1.0 49.0 172.0 215.3 321.0 873.0
##
## $Otono
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1.0 68.0 195.0 234.4 347.0 977.0
##
## $Invierno
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1 51 161 199 294 948
train1$hour <- as.numeric(format(as.POSIXct(train1$datetime, format="%d/%m/%Y %H:%M"), "%H"))
#3. Estadistica Descriptiva
tapply(train1$Count, train1$hour, summary)
## $`0`
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 2.00 23.00 41.00 55.07 75.25 283.00
##
## $`1`
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1.00 10.50 18.00 33.89 47.00 165.00
##
## $`2`
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1.00 5.00 11.00 22.59 32.00 96.00
##
## $`3`
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1.00 3.00 6.00 11.88 16.00 66.00
##
## $`4`
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1.000 3.000 5.500 6.273 9.000 28.000
##
## $`5`
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1.00 8.00 19.00 19.26 27.75 55.00
##
## $`6`
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1.00 23.75 74.50 75.12 116.25 211.00
##
## $`7`
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1.0 62.0 217.5 210.1 321.5 596.0
##
## $`8`
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 8.0 131.5 391.0 357.2 549.2 839.0
##
## $`9`
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 14.0 156.8 217.0 218.7 287.5 408.0
##
## $`10`
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 17.0 102.5 149.5 173.4 220.0 539.0
##
## $`11`
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 10.0 119.8 183.5 208.0 260.8 647.0
##
## $`12`
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 22.0 153.8 234.5 254.1 331.2 757.0
##
## $`13`
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 11.0 150.8 233.5 255.9 329.0 729.0
##
## $`14`
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 12.0 143.5 212.5 241.0 314.2 678.0
##
## $`15`
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 7.0 146.8 233.0 251.9 331.0 724.0
##
## $`16`
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 11.0 209.5 310.0 312.1 421.0 701.0
##
## $`17`
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 25.0 261.2 482.5 460.2 601.8 970.0
##
## $`18`
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 23.0 224.0 418.5 422.0 556.8 977.0
##
## $`19`
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 11.0 174.8 306.0 310.5 414.0 743.0
##
## $`20`
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 11.0 119.8 219.0 223.1 300.0 551.0
##
## $`21`
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 6.0 94.5 169.5 169.7 230.0 584.0
##
## $`22`
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 9.00 77.75 129.00 131.73 174.25 502.00
##
## $`23`
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 6.0 51.0 81.0 88.4 123.0 256.0
#Estadistica Por Estacion Y Hora
tapply(train1$Count, list(train1$Season, train1$hour), summary)
## 0 1 2 3
## Primavera summaryDefault,6 summaryDefault,6 summaryDefault,6 summaryDefault,6
## Verano summaryDefault,6 summaryDefault,6 summaryDefault,6 summaryDefault,6
## Otono summaryDefault,6 summaryDefault,6 summaryDefault,6 summaryDefault,6
## Invierno summaryDefault,6 summaryDefault,6 summaryDefault,6 summaryDefault,6
## 4 5 6 7
## Primavera summaryDefault,6 summaryDefault,6 summaryDefault,6 summaryDefault,6
## Verano summaryDefault,6 summaryDefault,6 summaryDefault,6 summaryDefault,6
## Otono summaryDefault,6 summaryDefault,6 summaryDefault,6 summaryDefault,6
## Invierno summaryDefault,6 summaryDefault,6 summaryDefault,6 summaryDefault,6
## 8 9 10 11
## Primavera summaryDefault,6 summaryDefault,6 summaryDefault,6 summaryDefault,6
## Verano summaryDefault,6 summaryDefault,6 summaryDefault,6 summaryDefault,6
## Otono summaryDefault,6 summaryDefault,6 summaryDefault,6 summaryDefault,6
## Invierno summaryDefault,6 summaryDefault,6 summaryDefault,6 summaryDefault,6
## 12 13 14 15
## Primavera summaryDefault,6 summaryDefault,6 summaryDefault,6 summaryDefault,6
## Verano summaryDefault,6 summaryDefault,6 summaryDefault,6 summaryDefault,6
## Otono summaryDefault,6 summaryDefault,6 summaryDefault,6 summaryDefault,6
## Invierno summaryDefault,6 summaryDefault,6 summaryDefault,6 summaryDefault,6
## 16 17 18 19
## Primavera summaryDefault,6 summaryDefault,6 summaryDefault,6 summaryDefault,6
## Verano summaryDefault,6 summaryDefault,6 summaryDefault,6 summaryDefault,6
## Otono summaryDefault,6 summaryDefault,6 summaryDefault,6 summaryDefault,6
## Invierno summaryDefault,6 summaryDefault,6 summaryDefault,6 summaryDefault,6
## 20 21 22 23
## Primavera summaryDefault,6 summaryDefault,6 summaryDefault,6 summaryDefault,6
## Verano summaryDefault,6 summaryDefault,6 summaryDefault,6 summaryDefault,6
## Otono summaryDefault,6 summaryDefault,6 summaryDefault,6 summaryDefault,6
## Invierno summaryDefault,6 summaryDefault,6 summaryDefault,6 summaryDefault,6
train1_clean <- train1[complete.cases(train1[, c ("Count", "Season", "hour")]),]
#4. Diagrama De Barras
boxplot(Count ~ Season,
data = train1,
main = "Cantidad de Bicicletas Rentadas por Estación",
xlab = "Estación del Año",
ylab = "Total de Bicicletas Rentadas",
col = c("#8968CD","#7CCD7C","#96CDCD","#CD919E"))
#5. Interpretaciones
El número de bicicletas alquiladas varía de forma considerable entre estaciones, lo que evidencia una fuerte relación entre el uso del servicio y las condiciones climáticas de cada época del año.
La primavera presenta la menor mediana de uso del sistema de bicicletas compartidas. Aunque las condiciones climáticas mejoran, la adopción por parte de los usuarios aún no alcanza su punto máximo; por ende, se mantiene una demanda baja.
Las estaciones de verano y otoño muestran los niveles más altos de alquiler promedio. Esto sugiere que el clima cálido y estable favorece un uso intensivo del sistema.
Durante el invierno, aunque se observa una reducción general en el número de alquileres, continúa registrándose un nivel de servicio considerable. El clima frío influye, pero no es suficiente para paralizar completamente el sistema.
En las cuatro estaciones del año se identifican valores extremos elevados. Estos pueden asociarse con factores como eventos especiales o festividades propias de cada estación.
Verano y otoño no solo muestran mayor volumen de uso, sino también una alta variabilidad, lo que requiere una gestión eficiente en la distribución y disponibilidad de bicicletas.
La primavera presenta un comportamiento más uniforme, con menor dispersión en los datos de uso, lo que permite una planificación más predecible aunque con menor volumen.
A pesar del descenso en las condiciones climáticas, se mantienen registros significativos de uso, lo cual puede asociarse a usuarios frecuentes o a la necesidad del transporte económico durante todo el año.
Variables como la temperatura, humedad y precipitación resultan fundamentales para predecir el comportamiento de los usuarios, y deben ser incorporadas en los modelos de pronóstico de demanda.
Dada la marcada estacionalidad del servicio, es recomendable aplicar modelos predictivos diferenciados o adaptativos, que contemplen las características específicas de cada estación del año.
A pesar de los diferentes valores que se obtuvieron por estacione, en ninguna presenta una demanda cero. Esto da a entender la necesidad de mantener el servicio activo de forma continua durante todo el año.
Gracias al análisis de la demanda, es posible anticipar patrones de uso y enfocar los esfuerzos en los puntos de mayor potencial del servicio.