1. Por medio de WebScraping descargar la base de datos de precios de
vehículos mazda 2 para Colombia del portal de OLX https://www.olx.com.co/
con las variables: precio, kilometraje, modelo, transmisión y
Ciudad.
| 34800000 |
2011 |
127000 |
Mecánica |
Manizales |
| 72000000 |
2020 |
30000 |
Automática |
Bogotá |
| 27500000 |
2008 |
198000 |
Automática |
Manizales |
| 66000000 |
2018 |
22730 |
Automática Secuencial |
Medellín |
| 37500000 |
2012 |
130000 |
Automática |
Bello |
| 41900000 |
2014 |
94000 |
Mecánica |
Manizales |
| 34000000 |
2012 |
96000 |
Mecánica |
Bogotá |
| 73990000 |
2021 |
14000 |
Mecánica |
Bogotá |
| 71990000 |
2017 |
81000 |
Automática |
Cali |
| 56950000 |
2018 |
56000 |
Mecánica |
Cali |
| 83000000 |
2021 |
8930 |
Automática |
Medellín |
| 62000000 |
2018 |
116000 |
Mecánica |
Fusagasugá |
| 44300000 |
2015 |
83000 |
Automática |
Bucaramanga |
| 39900000 |
2012 |
99000 |
Mecánica |
Cali |
| 57800000 |
2019 |
58000 |
Automática |
Cali |
| 55000000 |
2017 |
38000 |
Mecánica |
Medellín |
| 38500000 |
2013 |
101000 |
Automática |
Cali |
| 56000000 |
2016 |
93000 |
Mecánica |
Manizales |
| 70000000 |
2019 |
70000 |
Automática Secuencial |
Villavicencio |
| 73800000 |
2022 |
3800 |
Mecánica |
Cali |
| 34000000 |
2010 |
110000 |
Mecánica |
Medellín |
| 31500000 |
2010 |
94000 |
Mecánica |
Popayán |
| 39500000 |
2012 |
90500 |
Automática |
Sabaneta |
| 22000000 |
2008 |
136000 |
Automática |
Bogotá |
| 36000000 |
2013 |
136000 |
Mecánica |
Armenia |
| 23500000 |
2008 |
136000 |
Automática |
Bogotá |
| 37000000 |
2012 |
95943 |
Mecánica |
Bogotá |
| 6800000 |
2022 |
17200 |
Mecánica |
Cali |
| 41500000 |
2014 |
97000 |
Mecánica |
Armenia |
| 97000000 |
2022 |
3861 |
Automática |
Bello |
| 60000000 |
2018 |
73617 |
Automática |
Medellín |
| 119900000 |
2021 |
29000 |
Automática Secuencial |
Medellín |
| 70500000 |
2021 |
27700 |
Mecánica |
Pereira |
| 43900000 |
2015 |
59000 |
Mecánica |
Medellín |
| 53000000 |
2018 |
36000 |
Mecánica |
Cali |
| 63000000 |
2017 |
73000 |
Automática Secuencial |
Cali |
| 57900000 |
2016 |
65000 |
Automática Secuencial |
Bucaramanga |
| 37900000 |
2013 |
116000 |
Automática |
Pereira |
| 33500000 |
2013 |
70000 |
Mecánica |
Bogotá |
| 81500000 |
2022 |
0 |
Automática |
Cali |
| 37500000 |
2014 |
95870 |
Mecánica |
Itagüí |
| 37000000 |
2013 |
121600 |
Mecánica |
Pereira |
| 77000000 |
2022 |
5100 |
Automática |
Pereira |
| 36900000 |
2013 |
142780 |
Mecánica |
Barranquilla |
| 36000000 |
2013 |
121800 |
Mecánica |
Pereira |
| 40900000 |
2012 |
84000 |
Automática |
Medellín |
| 61990000 |
2018 |
34650 |
Automática |
Barranquilla |
| 70000000 |
2019 |
16000 |
Automática |
Cali |
| 33000000 |
2011 |
139500 |
Automática |
Tuluá |
| 34000000 |
2010 |
110000 |
Mecánica |
Medellín |
| 35000000 |
2012 |
81000 |
Mecánica |
Girón |
| 38990000 |
2011 |
91674 |
Mecánica |
Bogotá |
| 44000000 |
2015 |
76885 |
Automática |
Bello |
| 28500000 |
2008 |
140000 |
Automática |
Medellín |
| 42000000 |
2013 |
130000 |
Automática |
Manizales |
| 37800000 |
2013 |
117000 |
Mecánica |
Ibagué |
| 37500000 |
2013 |
110000 |
Mecánica |
Villavicencio |
| 35000000 |
2007 |
148000 |
Mecánica |
Cali |
| 45000000 |
2015 |
101800 |
Mecánica |
Yarumal |
| 65500000 |
2019 |
47000 |
Mecánica |
Floridablanca |
| 33900000 |
2011 |
103000 |
Automática |
Bogotá |
| 34000000 |
2010 |
98000 |
Mecánica |
Medellín |
| 37000000 |
2011 |
124500 |
Mecánica |
Manizales |
| 39700000 |
2014 |
79000 |
Mecánica |
Armenia |
| 59000000 |
2018 |
42000 |
Automática |
Chía |
| 36000000 |
2012 |
102000 |
Automática |
Cali |
| 42300000 |
2013 |
92955 |
Automática |
Cali |
| 41500000 |
2015 |
66523 |
Mecánica |
Manizales |
| 33500000 |
2010 |
123000 |
Automática |
Medellín |
| 63000000 |
2020 |
19000 |
Mecánica |
Bogotá |
| 34999999 |
2011 |
99900 |
Automática Secuencial |
Bogotá |
| 42000000 |
2014 |
70400 |
Mecánica |
Bucaramanga |
| 57500000 |
2017 |
54580 |
Mecánica |
Neiva |
| 22000000 |
2008 |
136000 |
Automática |
Bogotá |
| 54000000 |
2019 |
39500 |
Mecánica |
Medellín |
| 54500000 |
2017 |
60500 |
Mecánica |
Cali |
| 62500000 |
2019 |
40000 |
Automática Secuencial |
Cali |
| 36300000 |
2011 |
110000 |
Mecánica |
Bogotá |
| 38000000 |
2014 |
95000 |
Mecánica |
Manizales |
| 76500000 |
2020 |
24000 |
Automática |
Cali |
| 75500000 |
2019 |
55000 |
Automática |
Cali |
| 28000000 |
2008 |
130000 |
Mecánica |
Bogotá |
| 64900000 |
2019 |
35000 |
Mecánica |
Bogotá |
| 43900000 |
2015 |
93593 |
Mecánica |
Rionegro |
| 32000000 |
2008 |
142695 |
Mecánica |
Medellín |
| 72000000 |
2021 |
35000 |
Automática |
Bogotá |
| 52000000 |
2016 |
70000 |
Mecánica |
Cali |
| 33500000 |
2011 |
124000 |
Mecánica |
Floridablanca |
| 43000000 |
2015 |
109000 |
Mecánica |
Cúcuta |
| 56500000 |
2016 |
42000 |
Automática |
Cartago |
| 68000000 |
2018 |
45100 |
Automática |
Medellín |
| 64900000 |
2017 |
69000 |
Automática |
Medellín |
| 31500000 |
2008 |
110000 |
Mecánica |
Bello |
| 71560000 |
2021 |
10140 |
Automática |
Bogotá |
| 34500000 |
2010 |
102000 |
Automática |
Medellín |
| 42900000 |
2014 |
88000 |
Automática |
Medellín |
| 34400000 |
2010 |
97000 |
Automática |
Medellín |
| 61000000 |
2019 |
54000 |
Mecánica |
Neiva |
| 75000000 |
2021 |
11000 |
Automática |
Envigado |
| 34000000 |
2009 |
119700 |
Mecánica |
Manizales |
| 86000000 |
2022 |
13471 |
Automática |
Medellín |
| 37000000 |
2012 |
136000 |
Automática |
Ibagué |
| 44500000 |
2015 |
63000 |
Mecánica |
Cúcuta |
| 37000000 |
2012 |
98000 |
Automática |
Ibagué |
| 55500000 |
2016 |
72300 |
Automática |
Bucaramanga |
| 58500000 |
2017 |
66000 |
Mecánica |
San Juan de Pasto |
| 64000000 |
2017 |
48000 |
Mecánica |
Manizales |
| 65000000 |
2017 |
34000 |
Automática |
Armenia |
| 50000000 |
2015 |
33000 |
Mecánica |
Barranquilla |
| 29600000 |
2010 |
80000 |
Mecánica |
San Juan de Pasto |
| 39500000 |
2014 |
98000 |
Automática |
Barranquilla |
| 70000000 |
2021 |
17500 |
Mecánica |
Ibagué |
| 62400000 |
2018 |
49599 |
Automática |
Bogotá |
| 37000000 |
2012 |
99000 |
Automática |
Ibagué |
| 35000000 |
2011 |
98000 |
Mecánica |
Cali |
| 66000000 |
2019 |
51000 |
Automática |
Bucaramanga |
| 31000000 |
2009 |
130000 |
Mecánica |
Bogotá |
| 42000000 |
2013 |
89000 |
Automática |
Medellín |
| 28000000 |
2008 |
140000 |
Automática |
Bello |
| 44000000 |
2015 |
86000 |
Automática |
Cúcuta |
| 55000000 |
2016 |
69600 |
Mecánica |
Cali |
| 28000000 |
2009 |
139000 |
Automática |
Cali |
| 69500000 |
2018 |
47500 |
Automática |
Envigado |
| 34500008 |
2011 |
102000 |
Automática |
Barranquilla |
| 29000000 |
2012 |
145000 |
Mecánica |
Cali |
| 33000000 |
2010 |
165000 |
Automática |
Barranquilla |
| 61900000 |
2017 |
46500 |
Automática |
Bogotá |
| 54000000 |
2016 |
70912 |
Mecánica |
Bogotá |
| 40000000 |
2013 |
67000 |
Automática |
Manizales |
| 82000000 |
2021 |
14500 |
Automática |
Envigado |
| 85000000 |
2022 |
21900 |
Automática Secuencial |
Cali |
| 37900000 |
2013 |
114000 |
Automática |
Cali |
| 62900000 |
2018 |
51600 |
Automática |
Medellín |
| 59900000 |
2020 |
35000 |
Mecánica |
Manizales |
| 53500000 |
2016 |
77035 |
Mecánica |
Medellín |
| 39500000 |
2014 |
122253 |
Mecánica |
Floridablanca |
| 78000000 |
2021 |
13000 |
Automática |
Pereira |
| 36000000 |
2012 |
92000 |
Mecánica |
Aipe |
| 36000000 |
2012 |
80000 |
Mecánica |
Bogotá |
| 32000000 |
2010 |
163000 |
Mecánica |
Armenia |
| 36000000 |
2011 |
140000 |
Mecánica |
Armenia |
| 82000000 |
2022 |
15000 |
Automática |
Floridablanca |
| 39200000 |
2012 |
71000 |
Automática |
Neiva |
| 29700000 |
2008 |
140000 |
Automática |
Medellín |
| 35500000 |
2011 |
125000 |
Mecánica |
Pereira |
| 32900000 |
2009 |
120000 |
Automática |
Medellín |
| 29000000 |
2008 |
129000 |
Automática |
Cali |
| 98000000 |
2022 |
0 |
Automática |
Medellín |
| 76900000 |
2020 |
49000 |
Automática Secuencial |
Cúcuta |
| 25800000 |
2019 |
129000 |
Automática |
Cali |
| 73500000 |
2021 |
39500 |
Automática Secuencial |
Envigado |
| 39000000 |
2012 |
158000 |
Automática |
Bello |
| 53900000 |
2016 |
97000 |
Mecánica |
Cali |
| 78000000 |
2021 |
13200 |
Automática Secuencial |
Pereira |
| 43000000 |
2013 |
60100 |
Mecánica |
Barranquilla |
| 36900000 |
2012 |
98000 |
Mecánica |
Medellín |
| 62000000 |
2017 |
53000 |
Mecánica |
Girardot |
| 33900000 |
2010 |
82000 |
Mecánica |
Medellín |
| 33900000 |
2010 |
81000 |
Mecánica |
Medellín |
| 73500000 |
2020 |
33000 |
Automática Secuencial |
Rionegro |
| 31000000 |
2008 |
145200 |
Automática |
Santa Marta |
| 66000000 |
2018 |
52700 |
Automática |
Cali |
| 70000000 |
2019 |
42000 |
Automática |
Cúcuta |
| 37000000 |
2011 |
100500 |
Automática |
Bogotá |
| 89800000 |
2022 |
0 |
Automática |
Cali |
| 89800000 |
2022 |
0 |
Automática |
Cali |
| 38500000 |
2013 |
90000 |
Mecánica |
Armenia |
| 63000000 |
2019 |
35000 |
Mecánica |
Cali |
| 56900000 |
2016 |
100000 |
Automática Secuencial |
Medellín |
| 60000000 |
2019 |
34000 |
Mecánica |
Cali |
| 28900000 |
2009 |
130000 |
Mecánica |
Medellín |
| 67500000 |
2019 |
39700 |
Automática |
Manizales |
| 63000000 |
2016 |
90000 |
Automática |
Medellín |
| 58900000 |
2018 |
47999 |
Mecánica |
Bogotá |
| 40500000 |
2015 |
75676 |
Automática |
Medellín |
| 89800000 |
2022 |
0 |
Automática |
Bogotá |
| 62000000 |
2019 |
53500 |
Mecánica |
Bogotá |
| 30000000 |
2008 |
133000 |
Automática |
Yopal |
| 67000000 |
2019 |
39000 |
Mecánica |
Cúcuta |
| 39000000 |
2013 |
123000 |
Automática |
Armenia |
| 58000000 |
2019 |
33000 |
Mecánica |
Bogotá |
| 41900000 |
2014 |
94000 |
Mecánica |
Bogotá |
| 69000000 |
2018 |
41000 |
Automática |
Manizales |
| 33500000 |
2011 |
122000 |
Automática |
Fusagasugá |
| 70000000 |
2020 |
35000 |
Mecánica |
Neiva |
| 59900000 |
2017 |
51000 |
Automática Secuencial |
Sabaneta |
| 73000000 |
2022 |
16914 |
Automática |
Ibagué |
| 31800000 |
2010 |
112300 |
Mecánica |
Bogotá |
| 34000000 |
2011 |
116000 |
Mecánica |
Manizales |
| 42000000 |
2014 |
82000 |
Automática |
Medellín |
| 41500000 |
2013 |
97914 |
Automática |
Medellín |
| 34990000 |
2013 |
93700 |
Mecánica |
Barranquilla |
| 34990000 |
2011 |
125700 |
Automática |
Barranquilla |
| 26000000 |
2010 |
176000 |
Mecánica |
Cali |
| 70700000 |
2020 |
43000 |
Automática |
Cali |
| 75000000 |
2019 |
23000 |
Automática Secuencial |
Bogotá |
| 72500000 |
2019 |
23000 |
Automática |
Bogotá |
| 36500000 |
2011 |
118000 |
Mecánica |
Pitalito |
| 85500000 |
2022 |
21000 |
Automática |
Cali |
| 80000000 |
2021 |
8600 |
Mecánica |
Pereira |
| 37000000 |
2012 |
99481 |
Automática |
Cali |
| 54900000 |
2016 |
61000 |
Automática Secuencial |
Bogotá |
| 35000000 |
2013 |
109000 |
Mecánica |
Neiva |
| 32700000 |
2009 |
135000 |
Mecánica |
Bogotá |
| 32500000 |
2009 |
115863 |
Mecánica |
Bello |
| 55000000 |
2016 |
69500 |
Mecánica |
Cali |
| 68000000 |
2020 |
34139 |
Automática |
Bogotá |
| 75000000 |
2022 |
6500 |
Automática |
Bucaramanga |
| 62000000 |
2020 |
31000 |
Mecánica |
San Juan de Pasto |
| 79500000 |
2020 |
19300 |
Automática Secuencial |
Floridablanca |
| 45000000 |
2015 |
70000 |
Automática |
Medellín |
| 29900000 |
2010 |
111000 |
Automática |
Medellín |
| 38500000 |
2012 |
124000 |
Mecánica |
Medellín |
| 59900000 |
2017 |
62000 |
Automática |
Bogotá |
| 32900000 |
2010 |
114000 |
Automática |
Pereira |
| 71000000 |
2018 |
42000 |
Automática |
Medellín |
| 107500000 |
2021 |
17909 |
Automática |
Cali |
| 32000000 |
2009 |
160000 |
Automática |
Medellín |
| 33500000 |
2011 |
110000 |
Mecánica |
Neiva |
| 32500000 |
2011 |
136000 |
Automática Secuencial |
Barranquilla |
Se realizo todo el proceso de WebScraping sobre la página de olx
para los anuncios relacionados con los vehículos mazda_2, las variables
que se definieron para la base de datos correspondieron a: precio,
kilometraje, modelo, transmisión y Ciudad como se detalla en la anterior
tabla.
2. Realizar una exploración de datos para evaluar la posible
relación entre precio con las demás variables.
Análisis Exploratorio de la base de datos
De acuerdo a los resultados se puede observar que el valor promedio
de un auto Mazda_ 2 se encuentra en los $50.516.136. Cabe resaltar que
no se ha considerado modelo y kilometraje. Solo precios, luego no es un
factor relevante para toma de decisión al momento de adquirir un
vehículo.
head(mazda_2) # Primeras observaciones
| 34800000 |
2011 |
127000 |
Mecánica |
Manizales |
| 72000000 |
2020 |
30000 |
Automática |
Bogotá |
| 27500000 |
2008 |
198000 |
Automática |
Manizales |
| 66000000 |
2018 |
22730 |
Automática Secuencial |
Medellín |
| 37500000 |
2012 |
130000 |
Automática |
Bello |
| 41900000 |
2014 |
94000 |
Mecánica |
Manizales |
str(mazda_2) # Estructura de la base
## tibble [220 × 5] (S3: tbl_df/tbl/data.frame)
## $ precio : num [1:220] 34800000 72000000 27500000 66000000 37500000 ...
## $ modelo : num [1:220] 2011 2020 2008 2018 2012 ...
## $ kilometraje: num [1:220] 127000 30000 198000 22730 130000 ...
## $ transmision: chr [1:220] "Mecánica" "Automática" "Automática" "Automática Secuencial" ...
## $ ciudad : chr [1:220] "Manizales" "Bogotá" "Manizales" "Medellín" ...
Note que el software R leyó las variables transmisión y ciudad como
de tipo carácter, para eliminarla, se hace lo siguiente:
mazda_21 <- mazda_2[,-4:-5] # Elimina la columna 4 y 5
names(mazda_21)
## [1] "precio" "modelo" "kilometraje"
Coeficiente de correlación
Por consiguiente, se calcula el coeficiente de correlación de Pearson
entre las variables regresoras.
cor(mazda_2$modelo, mazda_2$kilometraje)
## [1] -0.8978294
cor(mazda_2[,1:3], use = "complete.obs")
## precio modelo kilometraje
## precio 1.0000000 0.8899062 -0.8438687
## modelo 0.8899062 1.0000000 -0.8978294
## kilometraje -0.8438687 -0.8978294 1.0000000
como se puede observar el valor de la correlación es negativo luego
las dos variables de correlacionan se presentan en sentido inverso, es
decir a valores altos de una de ellas le suelen corresponder valores
bajos a la otra y viceversa.
Matriz de correlación
Para calcular dicha correlación, se emplea el siguiente código:
round(cor(mazda_21), 3) # Matriz de correlación redondeada a 3 decimales
## precio modelo kilometraje
## precio 1.000 0.890 -0.844
## modelo 0.890 1.000 -0.898
## kilometraje -0.844 -0.898 1.000
Matriz de dispersión
La matriz de dispersión nos permite explorar datos, además de
permitir comparar varios subconjuntos de la base de datos para buscar
patrones y relaciones. Se obtiene de la siguiente manera:
plot(mazda_21[,1:3])

names(mazda_21)
## [1] "precio" "modelo" "kilometraje"
Opción mejorada
pairs(mazda_21, labels=c("precio","modelo","kilometraje"), main='Matriz de dispersión', cex.main=0.8, cex = 1.5, pch = 20, bg="light blue", cex.labels = 1, font.labels=1)

Matriz de dispersión con correlaciones
Esta matriz también sirve para explorar los datos al comparar varios
subconjuntos de la base de datos, pero adiciona la correlación entre
cada uno de los subconjuntos. Para obtenerla con R, en este caso se creó
una función y luego se usó la función pairs (), obsérvelo a
continuación:
panel.cor <- function(modelo, precio, digits=2, prefix="", cex.cor){
par(usr = c(0, 1, 0, 1))
r <- abs(cor(modelo, precio))
txt <- format(c(r, 0.123456789), digits=digits)[1]
txt <- paste(prefix, txt, sep="")
if(missing(cex.cor))
cex <- 0.8/strwidth(txt)
text(0.5, 0.5, txt, cex = cex)
}
pairs(mazda_21, lower.panel=panel.smooth, upper.panel=panel.cor,
main="Matriz de dispersión con correlaciones")

3. Proponer un modelo de regresión lineal Múltiple e interpretar los
resultados (betas)
Modelo de regresión lineal Múltiple
Inicialmente se propone un modelo que considera todas las variables
definidas: modelo, kilometraje, ciudad y transmisión.
mod = lm(formula= precio ~ modelo + kilometraje + ciudad + transmision, data=mazda_2)
summary(mod)
##
## Call:
## lm(formula = precio ~ modelo + kilometraje + ciudad + transmision,
## data = mazda_2)
##
## Residuals:
## Min 1Q Median 3Q Max
## -66866192 -2962562 0 2872530 38626677
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -5.707e+09 6.951e+08 -8.210 3.69e-14 ***
## modelo 2.862e+06 3.440e+05 8.318 1.91e-14 ***
## kilometraje -1.085e+02 3.298e+01 -3.289 0.00120 **
## ciudadArmenia 2.375e+06 8.942e+06 0.266 0.79085
## ciudadBarranquilla -7.329e+05 8.840e+06 -0.083 0.93401
## ciudadBello 5.725e+06 9.026e+06 0.634 0.52666
## ciudadBogotá 1.084e+06 8.534e+06 0.127 0.89911
## ciudadBucaramanga -1.598e+06 9.141e+06 -0.175 0.86145
## ciudadCali 9.371e+05 8.563e+06 0.109 0.91297
## ciudadCartago -6.754e+05 1.195e+07 -0.057 0.95498
## ciudadChía -3.899e+06 1.195e+07 -0.326 0.74465
## ciudadCúcuta 8.636e+05 9.127e+06 0.095 0.92472
## ciudadEnvigado 2.957e+06 9.518e+06 0.311 0.75638
## ciudadFloridablanca 3.564e+06 9.254e+06 0.385 0.70063
## ciudadFusagasugá 5.372e+06 1.042e+07 0.515 0.60694
## ciudadGirardot 7.462e+06 1.189e+07 0.628 0.53094
## ciudadGirón -2.193e+06 1.187e+07 -0.185 0.85357
## ciudadIbagué -9.977e+05 9.127e+06 -0.109 0.91308
## ciudadItagüí -3.803e+06 1.189e+07 -0.320 0.74936
## ciudadManizales 2.943e+06 8.696e+06 0.338 0.73541
## ciudadMedellín 3.577e+06 8.536e+06 0.419 0.67568
## ciudadNeiva 9.696e+05 9.080e+06 0.107 0.91508
## ciudadPereira 1.728e+06 8.853e+06 0.195 0.84542
## ciudadPitalito 6.182e+06 1.187e+07 0.521 0.60325
## ciudadPopayán 1.440e+06 1.188e+07 0.121 0.90362
## ciudadRionegro -7.066e+05 1.037e+07 -0.068 0.94577
## ciudadSabaneta -2.466e+06 1.038e+07 -0.238 0.81239
## ciudadSan Juan de Pasto -3.851e+04 9.699e+06 -0.004 0.99684
## ciudadSanta Marta 7.911e+06 1.197e+07 0.661 0.50936
## ciudadTuluá 7.078e+05 1.200e+07 0.059 0.95301
## ciudadVillavicencio 1.532e+06 1.040e+07 0.147 0.88304
## ciudadYarumal 1.478e+06 1.193e+07 0.124 0.90157
## ciudadYopal 5.588e+06 1.196e+07 0.467 0.64084
## transmisionAutomática Secuencial 4.803e+06 2.283e+06 2.104 0.03672 *
## transmisionMecánica -4.306e+06 1.310e+06 -3.288 0.00121 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 8386000 on 185 degrees of freedom
## Multiple R-squared: 0.8334, Adjusted R-squared: 0.8028
## F-statistic: 27.22 on 34 and 185 DF, p-value: < 2.2e-16
summary(mod)
##
## Call:
## lm(formula = precio ~ modelo + kilometraje + ciudad + transmision,
## data = mazda_2)
##
## Residuals:
## Min 1Q Median 3Q Max
## -66866192 -2962562 0 2872530 38626677
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -5.707e+09 6.951e+08 -8.210 3.69e-14 ***
## modelo 2.862e+06 3.440e+05 8.318 1.91e-14 ***
## kilometraje -1.085e+02 3.298e+01 -3.289 0.00120 **
## ciudadArmenia 2.375e+06 8.942e+06 0.266 0.79085
## ciudadBarranquilla -7.329e+05 8.840e+06 -0.083 0.93401
## ciudadBello 5.725e+06 9.026e+06 0.634 0.52666
## ciudadBogotá 1.084e+06 8.534e+06 0.127 0.89911
## ciudadBucaramanga -1.598e+06 9.141e+06 -0.175 0.86145
## ciudadCali 9.371e+05 8.563e+06 0.109 0.91297
## ciudadCartago -6.754e+05 1.195e+07 -0.057 0.95498
## ciudadChía -3.899e+06 1.195e+07 -0.326 0.74465
## ciudadCúcuta 8.636e+05 9.127e+06 0.095 0.92472
## ciudadEnvigado 2.957e+06 9.518e+06 0.311 0.75638
## ciudadFloridablanca 3.564e+06 9.254e+06 0.385 0.70063
## ciudadFusagasugá 5.372e+06 1.042e+07 0.515 0.60694
## ciudadGirardot 7.462e+06 1.189e+07 0.628 0.53094
## ciudadGirón -2.193e+06 1.187e+07 -0.185 0.85357
## ciudadIbagué -9.977e+05 9.127e+06 -0.109 0.91308
## ciudadItagüí -3.803e+06 1.189e+07 -0.320 0.74936
## ciudadManizales 2.943e+06 8.696e+06 0.338 0.73541
## ciudadMedellín 3.577e+06 8.536e+06 0.419 0.67568
## ciudadNeiva 9.696e+05 9.080e+06 0.107 0.91508
## ciudadPereira 1.728e+06 8.853e+06 0.195 0.84542
## ciudadPitalito 6.182e+06 1.187e+07 0.521 0.60325
## ciudadPopayán 1.440e+06 1.188e+07 0.121 0.90362
## ciudadRionegro -7.066e+05 1.037e+07 -0.068 0.94577
## ciudadSabaneta -2.466e+06 1.038e+07 -0.238 0.81239
## ciudadSan Juan de Pasto -3.851e+04 9.699e+06 -0.004 0.99684
## ciudadSanta Marta 7.911e+06 1.197e+07 0.661 0.50936
## ciudadTuluá 7.078e+05 1.200e+07 0.059 0.95301
## ciudadVillavicencio 1.532e+06 1.040e+07 0.147 0.88304
## ciudadYarumal 1.478e+06 1.193e+07 0.124 0.90157
## ciudadYopal 5.588e+06 1.196e+07 0.467 0.64084
## transmisionAutomática Secuencial 4.803e+06 2.283e+06 2.104 0.03672 *
## transmisionMecánica -4.306e+06 1.310e+06 -3.288 0.00121 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 8386000 on 185 degrees of freedom
## Multiple R-squared: 0.8334, Adjusted R-squared: 0.8028
## F-statistic: 27.22 on 34 and 185 DF, p-value: < 2.2e-16
De acuerdo al resultado se puede observar que la variable Ciudad no
tiene alto grado de significancia para el modelo propuesto, luego se
propondrá un modelo que tome como referencia las variables
significativas para observar cómo es su comportamiento.
De esta manera se procede a hacer una selección de variables
modelo_2 = step(mod)
## Start: AIC=7046.41
## precio ~ modelo + kilometraje + ciudad + transmision
##
## Df Sum of Sq RSS AIC
## - ciudad 30 7.6605e+14 1.3777e+16 6999.0
## <none> 1.3011e+16 7046.4
## - kilometraje 1 7.6069e+14 1.3772e+16 7056.9
## - transmision 2 1.3842e+15 1.4395e+16 7064.6
## - modelo 1 4.8656e+15 1.7876e+16 7114.3
##
## Step: AIC=6998.99
## precio ~ modelo + kilometraje + transmision
##
## Df Sum of Sq RSS AIC
## <none> 1.3777e+16 6999.0
## - kilometraje 1 8.8420e+14 1.4661e+16 7010.7
## - transmision 2 1.6630e+15 1.5440e+16 7020.1
## - modelo 1 6.0413e+15 1.9818e+16 7077.0
summary(modelo_2)
##
## Call:
## lm(formula = precio ~ modelo + kilometraje + transmision, data = mazda_2)
##
## Residuals:
## Min 1Q Median 3Q Max
## -67109806 -3537115 -413752 3492193 41180193
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -5.628e+09 5.879e+08 -9.574 < 2e-16 ***
## modelo 2.823e+06 2.908e+05 9.710 < 2e-16 ***
## kilometraje -1.051e+02 2.828e+01 -3.715 0.000259 ***
## transmisionAutomática Secuencial 4.339e+06 2.080e+06 2.087 0.038108 *
## transmisionMecánica -4.534e+06 1.136e+06 -3.991 9.03e-05 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 8005000 on 215 degrees of freedom
## Multiple R-squared: 0.8236, Adjusted R-squared: 0.8203
## F-statistic: 251 on 4 and 215 DF, p-value: < 2.2e-16
De acuerdo a los resultados obtenidos se consideran las variables
significativas: modelo, kilometraje y transmisión, de esta manera se
puede observar que se presenta una mejora en el valor de R2 Adjusted
R-squared: 0.8203 Respecto al valor calculado en el modelo propuesto
inicialmente.
En el modelo ajustado obtenemos un valor de Adjusted 0.8203, luego
las variables en uso representan el 82% de la variable del precio, de
esta manera se observa una mejora respecto al modelo propuesto
inicialmente.
4. Validar el poder predictivo del modelo con validación
cruzada.
Para este caso tomamos el 80% de los datos para modelar y un 20% de
los datos para predecir.
Modelar
# Conjunto de 202 datos (80% para modelar y 20% para validar):
id_modelar= sample(1:202, size=162)
id_modelar
## [1] 46 48 155 164 31 50 190 8 177 27 28 88 154 96 35 120 32 30
## [19] 182 189 135 146 73 63 91 180 14 142 92 105 112 16 36 175 122 79
## [37] 121 132 111 78 107 54 103 39 158 161 139 84 157 178 15 7 60 119
## [55] 185 188 130 137 156 113 131 151 6 191 126 1 147 68 87 3 109 82
## [73] 129 110 200 4 9 80 5 176 141 144 181 100 127 97 160 22 12 114
## [91] 13 70 29 69 38 166 162 174 66 90 55 173 21 2 133 196 192 102
## [109] 19 99 170 81 45 61 163 104 76 124 123 43 165 195 167 62 25 125
## [127] 184 59 183 49 10 148 52 17 56 202 34 199 169 152 58 98 53 117
## [145] 11 18 153 77 140 83 108 47 74 159 51 93 65 118 33 95 44 194
# data set con 70 datos para modelar:
mazda_mod= mazda_2[id_modelar,]
head(mazda_mod)
| 40900000 |
2012 |
84000 |
Automática |
Medellín |
| 70000000 |
2019 |
16000 |
Automática |
Cali |
| 43000000 |
2013 |
60100 |
Mecánica |
Barranquilla |
| 37000000 |
2011 |
100500 |
Automática |
Bogotá |
| 60000000 |
2018 |
73617 |
Automática |
Medellín |
| 34000000 |
2010 |
110000 |
Mecánica |
Medellín |
# data set con 20 datos para validar:
mazda_val= mazda_2[-id_modelar,]
head(mazda_val)
| 73800000 |
2022 |
3800 |
Mecánica |
Cali |
| 39500000 |
2012 |
90500 |
Automática |
Sabaneta |
| 22000000 |
2008 |
136000 |
Automática |
Bogotá |
| 23500000 |
2008 |
136000 |
Automática |
Bogotá |
| 57900000 |
2016 |
65000 |
Automática Secuencial |
Bucaramanga |
| 81500000 |
2022 |
0 |
Automática |
Cali |
mod_mazda_mod = lm(formula = precio ~ modelo + transmision, data =mazda_2)
summary(mod_mazda_mod)
##
## Call:
## lm(formula = precio ~ modelo + transmision, data = mazda_2)
##
## Residuals:
## Min 1Q Median 3Q Max
## -67525673 -3497718 -415392 3342257 40763865
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -7.580e+09 2.712e+08 -27.950 < 2e-16 ***
## modelo 3.788e+06 1.346e+05 28.147 < 2e-16 ***
## transmisionAutomática Secuencial 4.123e+06 2.139e+06 1.927 0.055245 .
## transmisionMecánica -4.475e+06 1.169e+06 -3.828 0.000169 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 8239000 on 216 degrees of freedom
## Multiple R-squared: 0.8123, Adjusted R-squared: 0.8097
## F-statistic: 311.6 on 3 and 216 DF, p-value: < 2.2e-16
Validar
Precio modelo:
predecir_precio = predict(mod_mazda_mod, list(modelo=mazda_val$modelo, transmision=mazda_val$transmision))
predecir_precio
## 1 2 3 4 5 6 7 8
## 74325673 40920907 25769024 25769024 60196280 78800616 44021906 40233935
## 9 10 11 12 13 14 15 16
## 40233935 44021906 44708878 41256426 44021906 62961760 21294080 75012645
## 17 18 19 20 21 22 23 24
## 47809876 75012645 78800616 55385818 32657993 67436704 51597847 66749731
## 25 26 27 28 29 30 31 32
## 44021906 36445964 40920907 32657993 75348164 67436704 62961760 25082051
## 33 34 35 36 37 38 39 40
## 67436704 62961760 63984251 78800616 37132937 67436704 32657993 40920907
## 41 42 43 44 45 46 47 48
## 40233935 25082051 25082051 51597847 71224674 78800616 66749731 75348164
## 49 50 51 52 53 54 55 56
## 52284820 33344966 36445964 59860762 33344966 63648733 75012645 29556995
## 57 58
## 32657993 41256426
Precio Real
precio_real_vehiculo = mazda_val$precio
error = precio_real_vehiculo-predecir_precio
resultado = data.frame(precio_real_vehiculo, predecir_precio, error)
head(resultado, 10)
| 73800000 |
74325673 |
-525672.6 |
| 39500000 |
40920907 |
-1420907.4 |
| 22000000 |
25769024 |
-3769024.0 |
| 23500000 |
25769024 |
-2269024.0 |
| 57900000 |
60196280 |
-2296280.4 |
| 81500000 |
78800616 |
2699383.9 |
| 37500000 |
44021906 |
-6521905.6 |
| 37000000 |
40233935 |
-3233934.7 |
| 37500000 |
40233935 |
-2733934.7 |
| 39700000 |
44021906 |
-4321905.6 |
#Mean Absolut Error
MAE = mean(abs(error))
MAE
## [1] 4914555
De acuerdo al resultado, El error absoluto promedio MAE indica que
la diferencia entre el peso real vs el peso predicho en promedio toma un
valor de $4.703.464.
5. Discutir potenciales usos de modelo como herramienta practica
(como monetizar los resultados de este modelo)
_ Este modelo podría ser empleado para ofertar a los interesados en
adquirir un vehículo usado la mejor opción de acuerdo a su
presupuesto.
_ Si se trata de monetizar el modelo podría ser ofertado a las
compraventas de vehículos, esto les daría mayor certeza al momento de la
compra de los vehículos a los dueños y posterior venta a sus
clientes.
_ De igual manera la metodología empleada para este trabajo podría
ser empleada para el desarrollo de otro tipo de artículos que anuncian
en la plataforma de olx, por ejemplo: venta de casas y apartamentos,
artículos tecnológicos, motocicletas, teléfonos celulares etc.