Herramienta “El Generador de Valor de Datos”

Modelo Predictivo

Paso 1. Importar archivo .csv

file.choose()

Se escoge la base de datos que se trabajara.

base_de_datos <- read.csv("C:\\Users\\sofia\\Downloads\\rentadebicis_2.csv")

Paso 2. Entenderle a la base de datos

Realizamos un resumen para conocer las variables que contiene la base datos.

resumen <- summary(base_de_datos)
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

Se realiza una gráfica para conocer la influencia de la temperatura en el ambiente con el numero de rentas diarias.

plot(base_de_datos$temperatura,base_de_datos$rentas_totales,main="Influencia de la Temperatura sobre las Rentas", xlab="Temperatura (°C)",ylab="Cantidad de Rentas")

Paso 3. Generar regresión lineal

La regresión lineal permite predecir el comportamiento de una variable (dependiente o predicha) a partir de otra (independiente o predictora).

regresion <- lm(rentas_totales ~ hora + dia + mes + año + estacion + dia_de_la_semana + asueto + temperatura + sensacion_termica + humedad + velocidad_del_viento, data=base_de_datos)
summary(regresion)
## 
## Call:
## lm(formula = rentas_totales ~ hora + dia + mes + año + estacion + 
##     dia_de_la_semana + asueto + temperatura + sensacion_termica + 
##     humedad + velocidad_del_viento, data = base_de_datos)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -305.52  -93.64  -27.70   61.85  649.10 
## 
## Coefficients:
##                        Estimate Std. Error t value Pr(>|t|)    
## (Intercept)          -1.661e+05  5.496e+03 -30.217  < 2e-16 ***
## hora                  7.735e+00  2.070e-01  37.368  < 2e-16 ***
## dia                   3.844e-01  2.482e-01   1.549  0.12150    
## mes                   9.996e+00  1.682e+00   5.943 2.89e-09 ***
## año                   8.258e+01  2.732e+00  30.225  < 2e-16 ***
## estacion             -7.774e+00  5.177e+00  -1.502  0.13324    
## dia_de_la_semana      4.393e-01  6.918e-01   0.635  0.52545    
## asueto               -4.864e+00  8.365e+00  -0.582  0.56089    
## temperatura           1.582e+00  1.038e+00   1.524  0.12752    
## sensacion_termica     4.748e+00  9.552e-01   4.971 6.76e-07 ***
## humedad              -2.115e+00  7.884e-02 -26.827  < 2e-16 ***
## velocidad_del_viento  5.582e-01  1.809e-01   3.086  0.00203 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 141.7 on 10874 degrees of freedom
## Multiple R-squared:  0.3891, Adjusted R-squared:  0.3885 
## F-statistic: 629.6 on 11 and 10874 DF,  p-value: < 2.2e-16

Evaluar, y en caso necesario, ajustar la regresion lineal

regresion <- lm(rentas_totales ~ hora + mes + año + sensacion_termica + humedad + velocidad_del_viento, data=base_de_datos)
summary(regresion)
## 
## Call:
## lm(formula = rentas_totales ~ hora + mes + año + sensacion_termica + 
##     humedad + velocidad_del_viento, data = base_de_datos)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -308.60  -93.85  -28.34   61.05  648.09 
## 
## Coefficients:
##                        Estimate Std. Error t value Pr(>|t|)    
## (Intercept)          -1.662e+05  5.496e+03 -30.250  < 2e-16 ***
## hora                  7.734e+00  2.070e-01  37.364  < 2e-16 ***
## mes                   7.574e+00  4.207e-01  18.002  < 2e-16 ***
## año                   8.266e+01  2.732e+00  30.258  < 2e-16 ***
## sensacion_termica     6.172e+00  1.689e-01  36.539  < 2e-16 ***
## humedad              -2.121e+00  7.858e-02 -26.988  < 2e-16 ***
## velocidad_del_viento  6.208e-01  1.771e-01   3.506 0.000457 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 141.7 on 10879 degrees of freedom
## Multiple R-squared:  0.3886, Adjusted R-squared:  0.3883 
## F-statistic:  1153 on 6 and 10879 DF,  p-value: < 2.2e-16

Construir un modelo de prediccion

Se construye un modelo predictivo con los datos que se obtuvieron de la regresión lineal.

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 
## 279.1478 286.7215 294.2952 301.8690 309.4427 317.0164 324.5901 332.1638 
##        9       10       11       12 
## 339.7375 347.3112 354.8849 362.4587

Conclusiones

En el análisis que realizamos de la base datos, se hablaba de la renta de bicis, y se determinó como la influencia de la temperatura afecta sobre las rentas realizando un modelo de predicción.
La estrategia planteada para la empresa es en base del modelo predictivo, realizar proyecciones a un más corto plazo, ya que se trata de temperatura.Por lo que podría implementar mejores acciones si es a un menor plazo, como por ejemplo, en días lluviosos podrían agregar a la renta algun impermeable para los clientes.
Las recomendaciones para esta base datos es ajustar la regresión lineal antes de constuir el modelo de predicción, así como tambien tener una base de datos ordenada desde el origen.

LS0tDQp0aXRsZTogPHNwYW4gc3R5bGU9IkNvbG9yOkdyZWVuIj4gIlJFTlRBIERFIEJJQ0lTIg0KYXV0aG9yOiAiQW5hIEFydml6dS0gQTAxNDEyMjIwIg0KZGF0ZTogIjIwMjItMDktMDYiDQpvdXRwdXQ6DQogIGh0bWxfZG9jdW1lbnQ6DQogICAgdG9jOiB0cnVlDQogICAgdG9jX2Zsb2F0OiB0cnVlDQogICAgY29kZV9kb3dubG9hZDogdHJ1ZQ0KLS0tDQohW10oaHR0cHM6Ly9lcDAxLmVwaW1nLm5ldC92ZXJuZS9pbWFnZW5lcy8yMDE4LzA0LzE5L21leGljby8xNTI0MDkxNzkwXzE2NjUwOF8xNTI0MTYzOTk5X3N1bWFyaW9fbm9ybWFsLmpwZykNCg0KIyBIZXJyYW1pZW50YSAiRWwgR2VuZXJhZG9yIGRlIFZhbG9yIGRlIERhdG9zIg0KPGltZyBzcmM9IkM6XFxVc2Vyc1xcc29maWFcXERvd25sb2Fkc1xcTWluZCBNYXBwaW5nIENyZWF0aXZlIFRoaW5raW5nIFRpcHMgSW5mb2dyYXBoaWMgR3JhcGgucG5nIj4NCg0KIyBNb2RlbG8gUHJlZGljdGl2bw0KDQojIyMgUGFzbyAxLiBJbXBvcnRhciBhcmNoaXZvIC5jc3YNCg0KZmlsZS5jaG9vc2UoKQ0KDQo+IFNlIGVzY29nZSBsYSBiYXNlIGRlIGRhdG9zIHF1ZSBzZSB0cmFiYWphcmEuDQoNCmBgYHtyfQ0KYmFzZV9kZV9kYXRvcyA8LSByZWFkLmNzdigiQzpcXFVzZXJzXFxzb2ZpYVxcRG93bmxvYWRzXFxyZW50YWRlYmljaXNfMi5jc3YiKQ0KYGBgDQoNCiMjIyBQYXNvIDIuIEVudGVuZGVybGUgYSBsYSBiYXNlIGRlIGRhdG9zDQoNCj4gUmVhbGl6YW1vcyB1biByZXN1bWVuIHBhcmEgY29ub2NlciBsYXMgKnZhcmlhYmxlcyogcXVlIGNvbnRpZW5lIGxhIGJhc2UgZGF0b3MuDQoNCmBgYHtyfQ0KcmVzdW1lbiA8LSBzdW1tYXJ5KGJhc2VfZGVfZGF0b3MpDQpyZXN1bWVuDQpgYGANCg0KPiBTZSByZWFsaXphIHVuYSBncsOhZmljYSBwYXJhIGNvbm9jZXIgbGEgaW5mbHVlbmNpYSBkZSBsYSB0ZW1wZXJhdHVyYSBlbiBlbCBhbWJpZW50ZSBjb24gZWwgbnVtZXJvIGRlIHJlbnRhcyBkaWFyaWFzLg0KDQpgYGB7cn0NCnBsb3QoYmFzZV9kZV9kYXRvcyR0ZW1wZXJhdHVyYSxiYXNlX2RlX2RhdG9zJHJlbnRhc190b3RhbGVzLG1haW49IkluZmx1ZW5jaWEgZGUgbGEgVGVtcGVyYXR1cmEgc29icmUgbGFzIFJlbnRhcyIsIHhsYWI9IlRlbXBlcmF0dXJhICjCsEMpIix5bGFiPSJDYW50aWRhZCBkZSBSZW50YXMiKQ0KYGBgDQoNCg0KIyMjIFBhc28gMy4gR2VuZXJhciByZWdyZXNpw7NuIGxpbmVhbA0KDQo+IExhIHJlZ3Jlc2nDs24gbGluZWFsIHBlcm1pdGUgcHJlZGVjaXIgZWwgY29tcG9ydGFtaWVudG8gZGUgdW5hIHZhcmlhYmxlIChkZXBlbmRpZW50ZSBvIHByZWRpY2hhKSBhIHBhcnRpciBkZSBvdHJhIChpbmRlcGVuZGllbnRlIG8gcHJlZGljdG9yYSkuDQoNCmBgYHtyfQ0KcmVncmVzaW9uIDwtIGxtKHJlbnRhc190b3RhbGVzIH4gaG9yYSArIGRpYSArIG1lcyArIGHDsW8gKyBlc3RhY2lvbiArIGRpYV9kZV9sYV9zZW1hbmEgKyBhc3VldG8gKyB0ZW1wZXJhdHVyYSArIHNlbnNhY2lvbl90ZXJtaWNhICsgaHVtZWRhZCArIHZlbG9jaWRhZF9kZWxfdmllbnRvLCBkYXRhPWJhc2VfZGVfZGF0b3MpDQpzdW1tYXJ5KHJlZ3Jlc2lvbikNCmBgYA0KDQojIyMgRXZhbHVhciwgeSBlbiBjYXNvIG5lY2VzYXJpbywgYWp1c3RhciBsYSByZWdyZXNpb24gbGluZWFsDQoNCmBgYHtyfQ0KcmVncmVzaW9uIDwtIGxtKHJlbnRhc190b3RhbGVzIH4gaG9yYSArIG1lcyArIGHDsW8gKyBzZW5zYWNpb25fdGVybWljYSArIGh1bWVkYWQgKyB2ZWxvY2lkYWRfZGVsX3ZpZW50bywgZGF0YT1iYXNlX2RlX2RhdG9zKQ0Kc3VtbWFyeShyZWdyZXNpb24pDQpgYGANCg0KIyMjIENvbnN0cnVpciB1biBtb2RlbG8gZGUgcHJlZGljY2lvbg0KDQo+IFNlIGNvbnN0cnV5ZSB1biBtb2RlbG8gcHJlZGljdGl2byBjb24gbG9zIGRhdG9zIHF1ZSBzZSBvYnR1dmllcm9uIGRlIGxhIHJlZ3Jlc2nDs24gbGluZWFsLg0KDQpgYGB7cn0NCmRhdG9zX251ZXZvcyA8LSBkYXRhLmZyYW1lKGhvcmE9MTIsIG1lcz0xOjEyLCBhw7FvPTIwMTMsIHNlbnNhY2lvbl90ZXJtaWNhPTI0LCBodW1lZGFkPTYyLCB2ZWxvY2lkYWRfZGVsX3ZpZW50bz0xMykNCnByZWRpY3QocmVncmVzaW9uLGRhdG9zX251ZXZvcykNCmBgYA0KDQojIyMgQ29uY2x1c2lvbmVzDQpFbiBlbCBhbsOhbGlzaXMgcXVlIHJlYWxpemFtb3MgZGUgbGEgYmFzZSBkYXRvcywgc2UgaGFibGFiYSBkZSBsYSByZW50YSBkZSBiaWNpcywgeSBzZSBkZXRlcm1pbsOzIGNvbW8gbGEgaW5mbHVlbmNpYSBkZSBsYSB0ZW1wZXJhdHVyYSBhZmVjdGEgc29icmUgbGFzIHJlbnRhcyByZWFsaXphbmRvIHVuIG1vZGVsbyBkZSBwcmVkaWNjacOzbi4gIA0KTGEgZXN0cmF0ZWdpYSBwbGFudGVhZGEgcGFyYSBsYSBlbXByZXNhIGVzIGVuIGJhc2UgZGVsIG1vZGVsbyBwcmVkaWN0aXZvLCByZWFsaXphciBwcm95ZWNjaW9uZXMgYSB1biBtw6FzIGNvcnRvIHBsYXpvLCB5YSBxdWUgc2UgdHJhdGEgZGUgdGVtcGVyYXR1cmEuUG9yIGxvIHF1ZSBwb2Ryw61hIGltcGxlbWVudGFyIG1lam9yZXMgYWNjaW9uZXMgc2kgZXMgYSB1biBtZW5vciBwbGF6bywgY29tbyBwb3IgZWplbXBsbywgZW4gZMOtYXMgbGx1dmlvc29zIHBvZHLDrWFuIGFncmVnYXIgYSBsYSByZW50YSBhbGd1biBpbXBlcm1lYWJsZSBwYXJhIGxvcyBjbGllbnRlcy4gIA0KTGFzIHJlY29tZW5kYWNpb25lcyBwYXJhIGVzdGEgYmFzZSBkYXRvcyBlcyBhanVzdGFyIGxhIHJlZ3Jlc2nDs24gbGluZWFsIGFudGVzIGRlIGNvbnN0dWlyIGVsIG1vZGVsbyBkZSBwcmVkaWNjacOzbiwgYXPDrSBjb21vIHRhbWJpZW4gdGVuZXIgdW5hIGJhc2UgZGUgZGF0b3Mgb3JkZW5hZGEgZGVzZGUgZWwgb3JpZ2VuLg0KDQoNCg==