Importar base de datos

#file.choose()

bd <- read.csv("/Users/dannaperez/Desktop/R/bases de datos/rentadebicis.csv")

Entender la base de datos

resumen <- summary(bd)
resumen
##       hora            dia              mes              año      
##  Min.   : 0.00   Min.   : 1.000   Min.   : 1.000   Min.   :2011  
##  1st Qu.: 6.00   1st Qu.: 5.000   1st Qu.: 4.000   1st Qu.:2011  
##  Median :12.00   Median :10.000   Median : 7.000   Median :2012  
##  Mean   :11.54   Mean   : 9.993   Mean   : 6.521   Mean   :2012  
##  3rd Qu.:18.00   3rd Qu.:15.000   3rd Qu.:10.000   3rd Qu.:2012  
##  Max.   :23.00   Max.   :19.000   Max.   :12.000   Max.   :2012  
##     estacion     dia_de_la_semana     asueto         temperatura   
##  Min.   :1.000   Min.   :1.000    Min.   :0.00000   Min.   : 0.82  
##  1st Qu.:2.000   1st Qu.:2.000    1st Qu.:0.00000   1st Qu.:13.94  
##  Median :3.000   Median :4.000    Median :0.00000   Median :20.50  
##  Mean   :2.507   Mean   :4.014    Mean   :0.02857   Mean   :20.23  
##  3rd Qu.:4.000   3rd Qu.:6.000    3rd Qu.:0.00000   3rd Qu.:26.24  
##  Max.   :4.000   Max.   :7.000    Max.   :1.00000   Max.   :41.00  
##  sensacion_termica    humedad       velocidad_del_viento
##  Min.   : 0.76     Min.   :  0.00   Min.   : 0.000      
##  1st Qu.:16.66     1st Qu.: 47.00   1st Qu.: 7.002      
##  Median :24.24     Median : 62.00   Median :12.998      
##  Mean   :23.66     Mean   : 61.89   Mean   :12.799      
##  3rd Qu.:31.06     3rd Qu.: 77.00   3rd Qu.:16.998      
##  Max.   :45.45     Max.   :100.00   Max.   :56.997      
##  rentas_de_no_registrados rentas_de_registrados rentas_totales 
##  Min.   :  0.00           Min.   :  0.0         Min.   :  1.0  
##  1st Qu.:  4.00           1st Qu.: 36.0         1st Qu.: 42.0  
##  Median : 17.00           Median :118.0         Median :145.0  
##  Mean   : 36.02           Mean   :155.6         Mean   :191.6  
##  3rd Qu.: 49.00           3rd Qu.:222.0         3rd Qu.:284.0  
##  Max.   :367.00           Max.   :886.0         Max.   :977.0

Observaciones

#1. porque los dias llegan hasta el 19 y no hasta el 31? #2. que significan los numeros en las estaciones? R: 1 es primavera, 2 es verano, 3 es otoño, 4 es invierno

plot(bd$temperatura,bd$rentas_totales, type = "p", main = "influencias de la temp. sobre las ventas", xlab = "temperatura", ylab = "rentas totales")

Generar regresion lineal

regresion <- lm(rentas_totales ~ hora + mes + estacion + dia_de_la_semana + asueto + temperatura + sensacion_termica + humedad + velocidad_del_viento,año,data=bd)
summary (regresion)
## 
## Call:
## lm(formula = rentas_totales ~ hora + mes + estacion + dia_de_la_semana + 
##     asueto + temperatura + sensacion_termica + humedad + velocidad_del_viento, 
##     data = bd, subset = año)
## 
## Residuals:
##        Min         1Q     Median         3Q        Max 
## -1.035e-08  0.000e+00  0.000e+00  2.000e-12  2.000e-12 
## 
## Coefficients: (8 not defined because of singularities)
##                        Estimate Std. Error    t value Pr(>|t|)    
## (Intercept)          -4.217e+03  3.141e-11 -1.342e+14   <2e-16 ***
## hora                  2.840e+02  1.903e-12  1.493e+14   <2e-16 ***
## mes                          NA         NA         NA       NA    
## estacion                     NA         NA         NA       NA    
## dia_de_la_semana             NA         NA         NA       NA    
## asueto                       NA         NA         NA       NA    
## temperatura                  NA         NA         NA       NA    
## sensacion_termica            NA         NA         NA       NA    
## humedad                      NA         NA         NA       NA    
## velocidad_del_viento         NA         NA         NA       NA    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 9.926e-11 on 10884 degrees of freedom
## Multiple R-squared:      1,  Adjusted R-squared:      1 
## F-statistic: 2.228e+28 on 1 and 10884 DF,  p-value: < 2.2e-16

Evaluar y en caso necesario ajustar la regresion lineal

regresion <- lm(rentas_totales ~ hora + mes + sensacion_termica + humedad, data=bd)

Construir modelo predictivo

datos_nuevos <- data.frame(hora=12, mes=1:12, año=2013, sensacion_termica=24, humedad=62, velocidad_del_viento=13)
predict(regresion,datos_nuevos)
##        1        2        3        4        5        6        7        8 
## 156.0421 163.4588 170.8755 178.2922 185.7089 193.1256 200.5423 207.9590 
##        9       10       11       12 
## 215.3757 222.7924 230.2091 237.6259

Herrmienta “El Generador de Valor de Datos”

Paso 1. Definir el área del negocio que buscamos impactar o mejorar y su KPI
En este caso buscamos mejorar lo que es el numero de renta de bicis y buscar que variable es la que impacta el numero de rentas. KPI: Número de rentas de bicicletas.

Paso 2. Seleccionar plantilla(-s) para crear valor a partir de los datos de los clientes.
Visión / Segmentación / Personalización / Contextualización

Paso 3. Generar ideas o conceptos específicos.
¿Qué variable influye más al momento de que los clientes decidan si rentar una bici o no? ¿Cómo podemos aumentar la renta de bicis?

Paso 4. Reunir los datos requeridos.
Necesito:
Número de rentas por fecha, ubicación de las rentas, temperatura que había al momento de rentar una bicicleta

Paso 5. Plan de ejecución.
Se puede modificar la bicicleta que se están rentando para que tengan techo o elaborar otro tipo de servicio que prefieran los clientes en climas desfavorables.

Conclusiones

Los primeros pasos era entender la base de datos, lo cual se considera importante porque en algunos casos las bases de datos estan “sucias” y hay datos no tienen información o una secuencia lógica . En este caso, hicimos lo que es la regresión lineal para observar que relación tiene la temperatura con las rentas totales, lo cual se vio una relación muy estrecha entre estas dos variables. Esto significa que el clima es una variable muy importante al momento en que las personas deciden si rentar una bici o no.

LS0tCnRpdGxlOiA8c3BhbiBzdHlsZT0iQ29sb3I6R3JlZW4iPiAiTW9kZWxvX1ByZWRpY3Rpdm8tUmVudGFfZGVfYmljaXMiCmF1dGhvcjogIkRhbmEgUGVyZXogLSBBMDAyMjcwNDEiCmRhdGU6ICI5LzYvMjAyMiIKb3V0cHV0OiAKICBodG1sX2RvY3VtZW50OiAKICAgIHRvYzogdHJ1ZQogICAgdG9jX2Zsb2F0OiB0cnVlCiAgICBjb2RlX2Rvd25sb2FkOiB0cnVlCgotLS0KPGltZyBzcmM9Ii9Vc2Vycy9kYW5uYXBlcmV6L0Rlc2t0b3AvaWx1c3RyYXRpb24tYW51YWwucG5nIj4KCiMjIEltcG9ydGFyIGJhc2UgZGUgZGF0b3MKYGBge3J9CiNmaWxlLmNob29zZSgpCgpiZCA8LSByZWFkLmNzdigiL1VzZXJzL2Rhbm5hcGVyZXovRGVza3RvcC9SL2Jhc2VzIGRlIGRhdG9zL3JlbnRhZGViaWNpcy5jc3YiKQpgYGAKCiMjIEVudGVuZGVyIGxhIGJhc2UgZGUgZGF0b3MgCmBgYHtyfQpyZXN1bWVuIDwtIHN1bW1hcnkoYmQpCnJlc3VtZW4KYGBgCgojIyBPYnNlcnZhY2lvbmVzCiMxLiBwb3JxdWUgbG9zIGRpYXMgbGxlZ2FuIGhhc3RhIGVsIDE5IHkgbm8gaGFzdGEgZWwgMzE/CiMyLiBxdWUgc2lnbmlmaWNhbiBsb3MgbnVtZXJvcyBlbiBsYXMgZXN0YWNpb25lcz8gUjogMSBlcyBwcmltYXZlcmEsIDIgZXMgdmVyYW5vLCAzIGVzIG90b8OxbywgNCBlcyBpbnZpZXJubwpgYGB7cn0KcGxvdChiZCR0ZW1wZXJhdHVyYSxiZCRyZW50YXNfdG90YWxlcywgdHlwZSA9ICJwIiwgbWFpbiA9ICJpbmZsdWVuY2lhcyBkZSBsYSB0ZW1wLiBzb2JyZSBsYXMgdmVudGFzIiwgeGxhYiA9ICJ0ZW1wZXJhdHVyYSIsIHlsYWIgPSAicmVudGFzIHRvdGFsZXMiKQpgYGAKCiMjIEdlbmVyYXIgcmVncmVzaW9uIGxpbmVhbCAKYGBge3J9CnJlZ3Jlc2lvbiA8LSBsbShyZW50YXNfdG90YWxlcyB+IGhvcmEgKyBtZXMgKyBlc3RhY2lvbiArIGRpYV9kZV9sYV9zZW1hbmEgKyBhc3VldG8gKyB0ZW1wZXJhdHVyYSArIHNlbnNhY2lvbl90ZXJtaWNhICsgaHVtZWRhZCArIHZlbG9jaWRhZF9kZWxfdmllbnRvLGHDsW8sZGF0YT1iZCkKc3VtbWFyeSAocmVncmVzaW9uKQpgYGAKCiMjIEV2YWx1YXIgeSBlbiBjYXNvIG5lY2VzYXJpbyBhanVzdGFyIGxhIHJlZ3Jlc2lvbiBsaW5lYWwgCmBgYHtyfQpyZWdyZXNpb24gPC0gbG0ocmVudGFzX3RvdGFsZXMgfiBob3JhICsgbWVzICsgc2Vuc2FjaW9uX3Rlcm1pY2EgKyBodW1lZGFkLCBkYXRhPWJkKQpgYGAKCiMjIENvbnN0cnVpciBtb2RlbG8gcHJlZGljdGl2bwpgYGB7cn0KZGF0b3NfbnVldm9zIDwtIGRhdGEuZnJhbWUoaG9yYT0xMiwgbWVzPTE6MTIsIGHDsW89MjAxMywgc2Vuc2FjaW9uX3Rlcm1pY2E9MjQsIGh1bWVkYWQ9NjIsIHZlbG9jaWRhZF9kZWxfdmllbnRvPTEzKQpwcmVkaWN0KHJlZ3Jlc2lvbixkYXRvc19udWV2b3MpCmBgYAoKIyMgSGVycm1pZW50YSAiRWwgR2VuZXJhZG9yIGRlIFZhbG9yIGRlIERhdG9zIgoKKlBhc28gMS4gRGVmaW5pciBlbCDDoXJlYSBkZWwgbmVnb2NpbyBxdWUgYnVzY2Ftb3MgaW1wYWN0YXIgbyBtZWpvcmFyIHkgc3UgS1BJKiAgCkVuIGVzdGUgY2FzbyBidXNjYW1vcyBtZWpvcmFyIGxvIHF1ZSBlcyBlbCBudW1lcm8gZGUgcmVudGEgZGUgYmljaXMgeSBidXNjYXIgcXVlIHZhcmlhYmxlIGVzIGxhIHF1ZSBpbXBhY3RhIGVsIG51bWVybyBkZSByZW50YXMuIEtQSTogTsO6bWVybyBkZSByZW50YXMgZGUgYmljaWNsZXRhcy4gIAoKKlBhc28gMi4gU2VsZWNjaW9uYXIgcGxhbnRpbGxhKC1zKSBwYXJhIGNyZWFyIHZhbG9yIGEgcGFydGlyIGRlIGxvcyBkYXRvcyBkZSBsb3MgY2xpZW50ZXMuKiAgICAKKipWaXNpw7NuKiogLyBTZWdtZW50YWNpw7NuIC8gUGVyc29uYWxpemFjacOzbiAvIENvbnRleHR1YWxpemFjacOzbiAgCgoqUGFzbyAzLiBHZW5lcmFyIGlkZWFzIG8gY29uY2VwdG9zIGVzcGVjw61maWNvcy4qICAgCsK/UXXDqSB2YXJpYWJsZSBpbmZsdXllIG3DoXMgYWwgbW9tZW50byBkZSBxdWUgbG9zIGNsaWVudGVzIGRlY2lkYW4gc2kgcmVudGFyIHVuYSBiaWNpIG8gbm8/CsK/Q8OzbW8gcG9kZW1vcyBhdW1lbnRhciBsYSByZW50YSBkZSBiaWNpcz8gIAoKKlBhc28gNC4gUmV1bmlyIGxvcyBkYXRvcyByZXF1ZXJpZG9zLiogICAgCk5lY2VzaXRvOiAgCk7Dum1lcm8gZGUgcmVudGFzIHBvciBmZWNoYSwgdWJpY2FjacOzbiBkZSBsYXMgcmVudGFzLCB0ZW1wZXJhdHVyYSBxdWUgaGFiw61hIGFsIG1vbWVudG8gZGUgcmVudGFyIHVuYSBiaWNpY2xldGEKCipQYXNvIDUuIFBsYW4gZGUgZWplY3VjacOzbi4qICAKU2UgcHVlZGUgbW9kaWZpY2FyIGxhIGJpY2ljbGV0YSBxdWUgc2UgZXN0w6FuIHJlbnRhbmRvIHBhcmEgcXVlIHRlbmdhbiB0ZWNobyBvIGVsYWJvcmFyIG90cm8gdGlwbyBkZSBzZXJ2aWNpbyBxdWUgcHJlZmllcmFuIGxvcyBjbGllbnRlcyBlbiBjbGltYXMgZGVzZmF2b3JhYmxlcy4gCgojIyBDb25jbHVzaW9uZXMKTG9zIHByaW1lcm9zIHBhc29zIGVyYSBlbnRlbmRlciBsYSBiYXNlIGRlIGRhdG9zLCBsbyBjdWFsIHNlIGNvbnNpZGVyYSBpbXBvcnRhbnRlIHBvcnF1ZSBlbiBhbGd1bm9zIGNhc29zIGxhcyBiYXNlcyBkZSBkYXRvcyBlc3RhbiAic3VjaWFzIiB5IGhheSBkYXRvcyBubyB0aWVuZW4gaW5mb3JtYWNpw7NuIG8gdW5hIHNlY3VlbmNpYSBsw7NnaWNhIC4gRW4gZXN0ZSBjYXNvLCBoaWNpbW9zIGxvIHF1ZSBlcyBsYSByZWdyZXNpw7NuIGxpbmVhbCBwYXJhIG9ic2VydmFyIHF1ZSByZWxhY2nDs24gdGllbmUgbGEgdGVtcGVyYXR1cmEgY29uIGxhcyByZW50YXMgdG90YWxlcywgbG8gY3VhbCBzZSB2aW8gdW5hIHJlbGFjacOzbiBtdXkgZXN0cmVjaGEgZW50cmUgZXN0YXMgZG9zIHZhcmlhYmxlcy4gRXN0byBzaWduaWZpY2EgcXVlIGVsIGNsaW1hIGVzIHVuYSB2YXJpYWJsZSBtdXkgaW1wb3J0YW50ZSBhbCBtb21lbnRvIGVuIHF1ZSBsYXMgcGVyc29uYXMgZGVjaWRlbiBzaSByZW50YXIgdW5hIGJpY2kgbyBuby4gCg==