# Regresion Lineal 
#Importar la base de datos de csv
#Para poder escoger la basde de datos que se va a utilizar desde la consola directo se pone file.choose() y te abre otra pantalla y de ahí te da en donde esta tu archivo ya listo para pegarlo en R
data <- read.csv("C:\\Users\\lucia\\Downloads\\rentadebicis.csv")
#Usar file.choose()

Entender la base de datos

str(data)
## 'data.frame':    10886 obs. of  14 variables:
##  $ hora                    : int  0 1 2 3 4 5 6 7 8 9 ...
##  $ dia                     : int  1 1 1 1 1 1 1 1 1 1 ...
##  $ mes                     : int  1 1 1 1 1 1 1 1 1 1 ...
##  $ año                     : int  2011 2011 2011 2011 2011 2011 2011 2011 2011 2011 ...
##  $ estacion                : int  1 1 1 1 1 1 1 1 1 1 ...
##  $ dia_de_la_semana        : int  6 6 6 6 6 6 6 6 6 6 ...
##  $ asueto                  : int  0 0 0 0 0 0 0 0 0 0 ...
##  $ temperatura             : num  9.84 9.02 9.02 9.84 9.84 ...
##  $ sensacion_termica       : num  14.4 13.6 13.6 14.4 14.4 ...
##  $ humedad                 : int  81 80 80 75 75 75 80 86 75 76 ...
##  $ velocidad_del_viento    : num  0 0 0 0 0 ...
##  $ rentas_de_no_registrados: int  3 8 5 3 0 0 2 1 1 8 ...
##  $ rentas_de_registrados   : int  13 32 27 10 1 1 0 2 7 6 ...
##  $ rentas_totales          : int  16 40 32 13 1 1 2 3 8 14 ...
summary(data)
##       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

Generar el modelo

regresion <- lm(rentas_totales~factor(hora)+factor(dia)+factor(mes)
+año+factor(dia_de_la_semana)+sensacion_termica
+humedad+velocidad_del_viento, data=data)

Generar Pronóstico

datos_nuevos <- data.frame(hora=12, dia=1, mes=1:12, año=2013,
dia_de_la_semana=1, sensacion_termica=24, humedad=62,
velocidad_del_viento=13)
predict(regresion, datos_nuevos)
##        1        2        3        4        5        6        7        8 
## 295.4226 305.7118 325.9737 349.3610 379.4141 370.9742 346.4712 358.8736 
##        9       10       11       12 
## 383.5170 396.7470 380.2941 376.2586

Conclusiones

Modelo altamente significativo con un poder explicativo del 69%.
Efecto del horario: picos de rentas en horarios de 8 am y 5-6 pm.
Efecto mensual con fuerte estacionalidad.
Clima afecta de forma positiva y la humedad y velocidad del viento de forma negativa.

LS0tDQp0aXRsZTogIlJlZ3Jlc2nDs24gTGluZWFsIg0KYXV0aG9yOiAiRGVsaWEgTHVjw61hIFNlcm5hIFRyZXZpw7FvIEEwMDg0MDYyNyINCmRhdGU6ICIyMDI2LTAyLTE3Ig0Kb3V0cHV0OiANCiAgaHRtbF9kb2N1bWVudDoNCiAgICB0b2M6IFRSVUUgDQogICAgdG9jX2Zsb2F0OiBUUlVFDQogICAgY29kZV9kb3dubG9hZDogVFJVRQ0KICAgIHRoZW1lOiBjb3NtbyANCi0tLQ0KDQpgYGB7cn0NCiMgUmVncmVzaW9uIExpbmVhbCANCiNJbXBvcnRhciBsYSBiYXNlIGRlIGRhdG9zIGRlIGNzdg0KI1BhcmEgcG9kZXIgZXNjb2dlciBsYSBiYXNkZSBkZSBkYXRvcyBxdWUgc2UgdmEgYSB1dGlsaXphciBkZXNkZSBsYSBjb25zb2xhIGRpcmVjdG8gc2UgcG9uZSBmaWxlLmNob29zZSgpIHkgdGUgYWJyZSBvdHJhIHBhbnRhbGxhIHkgZGUgYWjDrSB0ZSBkYSBlbiBkb25kZSBlc3RhIHR1IGFyY2hpdm8geWEgbGlzdG8gcGFyYSBwZWdhcmxvIGVuIFINCmRhdGEgPC0gcmVhZC5jc3YoIkM6XFxVc2Vyc1xcbHVjaWFcXERvd25sb2Fkc1xccmVudGFkZWJpY2lzLmNzdiIpDQojVXNhciBmaWxlLmNob29zZSgpDQpgYGANCg0KIyBFbnRlbmRlciBsYSBiYXNlIGRlIGRhdG9zDQpgYGB7cn0NCnN0cihkYXRhKQ0Kc3VtbWFyeShkYXRhKQ0KYGBgDQoNCiMgR2VuZXJhciBlbCBtb2RlbG8NCmBgYHtyfQ0KcmVncmVzaW9uIDwtIGxtKHJlbnRhc190b3RhbGVzfmZhY3Rvcihob3JhKStmYWN0b3IoZGlhKStmYWN0b3IobWVzKQ0KK2HDsW8rZmFjdG9yKGRpYV9kZV9sYV9zZW1hbmEpK3NlbnNhY2lvbl90ZXJtaWNhDQoraHVtZWRhZCt2ZWxvY2lkYWRfZGVsX3ZpZW50bywgZGF0YT1kYXRhKQ0KYGBgDQoNCiMgR2VuZXJhciBQcm9uw7NzdGljbw0KYGBge3J9DQpkYXRvc19udWV2b3MgPC0gZGF0YS5mcmFtZShob3JhPTEyLCBkaWE9MSwgbWVzPTE6MTIsIGHDsW89MjAxMywNCmRpYV9kZV9sYV9zZW1hbmE9MSwgc2Vuc2FjaW9uX3Rlcm1pY2E9MjQsIGh1bWVkYWQ9NjIsDQp2ZWxvY2lkYWRfZGVsX3ZpZW50bz0xMykNCnByZWRpY3QocmVncmVzaW9uLCBkYXRvc19udWV2b3MpDQpgYGANCg0KIyBDb25jbHVzaW9uZXMNCk1vZGVsbyBhbHRhbWVudGUgc2lnbmlmaWNhdGl2byBjb24gdW4gcG9kZXIgZXhwbGljYXRpdm8gZGVsIDY5JS4gIA0KRWZlY3RvIGRlbCBob3JhcmlvOiBwaWNvcyBkZSByZW50YXMgZW4gaG9yYXJpb3MgZGUgOCBhbSB5IDUtNiBwbS4gIA0KRWZlY3RvIG1lbnN1YWwgY29uIGZ1ZXJ0ZSBlc3RhY2lvbmFsaWRhZC4gIA0KQ2xpbWEgYWZlY3RhIGRlIGZvcm1hIHBvc2l0aXZhIHkgbGEgaHVtZWRhZCB5IHZlbG9jaWRhZCBkZWwgdmllbnRvIGRlIGZvcm1hIG5lZ2F0aXZhLiAgIA==