1 INTRODUCCIÓN

Con base en los datos de ofertas de vivienda descargadas del portal Fincaraíz para apartamento de estrato 4 con área construida menor a 200 m2 (vivienda4.RDS) la inmobiliaria A&C requiere el apoyo de un científico de datos en la construcción de un modelo que lo oriente sobre los precios de inmuebles.

Con este propósito el equipo de asesores ha diseñado los siguientes pasos para obtener un modelo y así poder a futuro determinar los precios de los inmuebles a negociar.

2 PASOS

  1. Realice un análisis exploratorio de las variables precio de vivienda (millones de pesos COP) y área de la vivienda (metros cuadrados) - incluir gráficos e indicadores apropiados interpretados.

  2. Realice un análisis exploratorio bivariado de datos, enfocado en la relación entre la variable respuesta (precio) en función de la variable predictora (área construida) - incluir gráficos e indicadores apropiados interpretados.

  3. Estime el modelo de regresión lineal simple entre precio=f(area)+ε. Interprete los coeficientes del modelo β0, β1 en caso de ser correcto.

  4. Construir un intervalo de confianza (95%) para el coeficiente β1, interpretar y concluir si el coeficiente es igual a cero o no. Compare este resultado con una prueba de hipótesis t.

  5. Calcule e interprete el indicador de bondad R2.

  6. ¿Cuál sería el precio promedio estimado para un apartamento de 110 metros cuadrados? Considera entonces con este resultado que un apartamento en la misma zona con 110 metros cuadrados en un precio de 200 millones sería una atractiva oferta? ¿Qué consideraciones adicionales se deben tener?

  7. Realice la validación de los supuestos del modelo por medio de gráficos apropiados, interpretarlos y sugerir posibles soluciones si se violan algunos de ellos. Utilice las pruebas de hipótesis para la validación de supuestos y compare los resultados con lo observado en los gráficos asociados.

  8. De ser necesario realice una transformación apropiada para mejorar el ajuste y supuestos del modelo.

  9. De ser necesario compare el ajuste y supuestos del modelo inicial y el transformado.

  10. Estime varios modelos y compare los resultados obtenidos. En el mejor de los modelos, ¿se cumplen los supuestos sobre los errores?

  11. Con los resultados obtenidos construya un informe para los directivos de la inmobiliaria, indicando el modelo apropiado y sus principales características. A este informe se deben añadir los anexos como evidencia de la realización de los pasos anteriores.

3 DESARROLLO

3.1 Paso 1.

data(vivienda4)
v5 <- vivienda4
v5
## # A tibble: 1,706 × 5
##    zona       estrato preciom areaconst tipo       
##    <fct>      <fct>     <dbl>     <dbl> <fct>      
##  1 Zona Norte 4           220        52 Apartamento
##  2 Zona Norte 4           600       160 Casa       
##  3 Zona Norte 4           320       108 Apartamento
##  4 Zona Sur   4           290        96 Apartamento
##  5 Zona Norte 4           220        82 Apartamento
##  6 Zona Norte 4           305       117 Casa       
##  7 Zona Norte 4           220        75 Apartamento
##  8 Zona Norte 4           162        60 Apartamento
##  9 Zona Norte 4           225        84 Apartamento
## 10 Zona Norte 4           370       117 Apartamento
## # ℹ 1,696 more rows

Primero se verifica que la base de datos a trabajar no contenga datos faltantes:

faltantes <- colSums(is.na(v5))
faltantes
##      zona   estrato   preciom areaconst      tipo 
##         0         0         0         0         0

Se observa que, las variables se encuentran completas, sin embargo, el presente estudio está enfocado en el tipo de vivienda apartamento, por lo que se procede a filtrar la base de datos por apartamentos:

v4 <- subset(v5, tipo == "Apartamento")
v4
## # A tibble: 1,363 × 5
##    zona       estrato preciom areaconst tipo       
##    <fct>      <fct>     <dbl>     <dbl> <fct>      
##  1 Zona Norte 4           220        52 Apartamento
##  2 Zona Norte 4           320       108 Apartamento
##  3 Zona Sur   4           290        96 Apartamento
##  4 Zona Norte 4           220        82 Apartamento
##  5 Zona Norte 4           220        75 Apartamento
##  6 Zona Norte 4           162        60 Apartamento
##  7 Zona Norte 4           225        84 Apartamento
##  8 Zona Norte 4           370       117 Apartamento
##  9 Zona Norte 4           155        60 Apartamento
## 10 Zona Norte 4           240        75 Apartamento
## # ℹ 1,353 more rows

Ahora, se inicia con las estadísticas descriptivas tanto de la variable precio como de la variable área construida, para la base de apartamentos:

summary(v4$preciom)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    78.0   153.5   185.0   202.4   240.0   645.0
sdprecio=sd(v4$preciom) 
sdprecio
## [1] 65.29049
skewness(v4$preciom)
## [1] 1.442664
kurtosis(v4$preciom)
## [1] 3.833419
par(mfrow = c(1, 2))
hist(v4$preciom, prob = FALSE, col="#7FFF00", main="Histograma de Precios", xlab="Millones de pesos COP", ylab="Frecuencia") 
abline(v=185, col="#EE6363",lwd=3)
abline(v=202.4, col="#EEC900",lwd=3)
legend("topright", lwd=c(3,3,3), lty=c(1,1,1), col=c("#EE6363","#EEC900"),
  legend=c("Mediana","Media"), cex=0.8)

boxplot(x = v4$preciom, col="#7FFF00", main="Diagrama de Caja de Precios", xlab="", ylab="Millones de pesos COP")

Al revisar la variable precio, se observa que la mediana se ubica en 185 millones COP, mientras que la media en 202.4 millones COP. Asimismo, la desviación estándar es de 65.3 millones COP, lo que representa una significativa dispersión de los precios de las viviendas. Esto se corrobora al observar que la asimetría fue de 1.44 y la curtosis de 3.83, lo que indica que los datos no están distribuidos uniformemente, contando con presencia de sesgo; en este caso la variable precio refleja presencia de asimetría positiva, es decir, hay más datos separados de la media hacia su derecha, adicional, su distribución es leptocúrtica.

summary(v4$areaconst)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   40.00   60.00   70.00   75.48   84.00  200.00
sdarea=sd(v4$areaconst) 
sdarea
## [1] 22.56461
skewness(v4$areaconst)
## [1] 2.082196
kurtosis(v4$areaconst)
## [1] 6.323576
par(mfrow = c(1, 2))
hist(v4$areaconst, prob = FALSE, col="aquamarine2", main="Histograma de Área Construida", xlab="Metros cuadrados", ylab="Frecuencia") 
abline(v=70, col="#EE6363",lwd=3)
abline(v=75.48, col="#EEC900",lwd=3)
legend("topright", lwd=c(3,3,3), lty=c(1,1,1), col=c("#EE6363","#EEC900"),
  legend=c("Mediana","Media"), cex=0.8)

boxplot(x = v4$areaconst, col="aquamarine2", main="Diagrama de Área Construida", xlab="", ylab="Metros Cuadrados")

Al revisar la variable área construida, se observa que la mediana se ubica en 70 metros cuadrados, mientras que la media en 75.48 metros cuadrados. Asimismo, la desviación estándar es de 22.56 metros cuadrados, lo que representa una significativa dispersión del área de las viviendas. Esto se corrobora al observar que la asimetría fue de 2.08 y la curtosis de 6.32, lo que indica que los datos no están distribuidos uniformemente, contando con presencia de sesgo; en este caso la variable área refleja presencia de asimetría positiva, es decir, hay más datos separados de la media hacia su derecha, adicional, su distribución es leptocúrtica.

3.2 Paso 2.

Se procede a calcular el grado de asociación lineal entre las variables precio y área construida:

ggplot(v4, aes(x = areaconst, y = preciom)) +
  geom_point() +
  geom_smooth(method = "lm", se = FALSE, color = "red") +
  labs(x = "Área Construida Metros Cuadrados", y = "Precio de Vivienda Millones de pesos COP")
## `geom_smooth()` using formula = 'y ~ x'

cor(v4$areaconst, v4$preciom, method = 'pearson')
## [1] 0.7481389
cor(v4$areaconst, v4$preciom, method = 'spearman')
## [1] 0.7772938

Al observar la relación entre el precio de las viviendas y el área construida, se encuentra que, existe una tendencia creciente, es decir, a medida que aumenta el área construida de las vivienda, el precio también tiende a incrementarse, lo que significa además, que se presenta una relación lineal positiva, la cual se refleja en la pendiente de la recta de regresión (color rojo), que es positiva. Adiconal, al verificar los diferentes indicadores de correlación calculados; se obtiene que el de Pearson, que es paramétrico, muestra una correlación de 0.74, es decir, una correlación positiva fuerte, el de Spearman, que es no paramétrico, fue de 0.77, indicando también una correlación positiva fuerte. En otras palabras, la correlación entre precio y área, indica que, en un alto grado, ambas variables cambian al mismo tiempo, presentando una fuerza y dirección positiva directa.

3.3 Paso 3.

El modelo de regresión lineal simple tiene la siguiente ecuación: Y = β0 + β1X + ε

modelv4=lm(formula=preciom~areaconst,data=v4)
summary(modelv4)
## 
## Call:
## lm(formula = preciom ~ areaconst, data = v4)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -225.404  -23.902   -4.754   25.763  209.021 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 39.04679    4.09977   9.524   <2e-16 ***
## areaconst    2.16473    0.05204  41.595   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 43.34 on 1361 degrees of freedom
## Multiple R-squared:  0.5597, Adjusted R-squared:  0.5594 
## F-statistic:  1730 on 1 and 1361 DF,  p-value: < 2.2e-16
modelv4$coefficients
## (Intercept)   areaconst 
##   39.046787    2.164733

La ecuación resultante es la siguiente: Precio = 39.04 + 2.16(X) + ε

Para el caso de la relación entre precio de los apartamentos y área construida, se tiene que (x) es a variable independiente, en este caso, el área construida de las viviendas, mientras que (y) sería la variable dependiente, en este caso el precio de las viviendas. Así, la ecuación busca determinar el grado de dependencia de (y) respecto a (x), para lograr determinar si existe evidencia estadística significativa que indique que, el área construida incide en el precio de la vivienda. Por su parte, el β0 representa el intercepto de la recta de regrasión con el eje vertical, pero en este caso no es interpretable, dado que normalmente indica el valor que tomaría (y) ante ausencia de (x), siendo incorrecto establecer que cuando el área construida es cero, el precio de la vivienda es 39.04 millones COP, aunque tendría sentido, si se hace referencia al precio del lote como tal, sin embargo, para el presente estudio, no se tiene en cuenta el valor o área del lote. En cambio, β1 que es el valor de la pendiente y que a la vez indica la inclinación de la recta, arrojó un valor de 2.16, este coeficiente representa el cambio esperado en la variable (y) por cada unidad de incremento en la variable (X), manteniendo constante las demás variables predictoras en caso de que apliquen. Así, por cada metro cuadrado adicional de área construida, el precio de la vivienda aumentará en 2.16 millones COP.

Ahora, se considera relevante resaltar que, el modelo de regresión lineal establece unos supuestos para que sus estimaciones sean fiables, no obstante, no serán evaluados en esta parte del estudio, pero si más adelante:

  • Independencia
  • Linealidad
  • Homocedasticidad
  • Normalidad
  • No colinealidad (para regresión lineal múltiple)

3.4 Paso 4.

Se procede a establecer los intervalos de confianza y a realizar la prueba de hipótesis:

confint(modelv4, level=0.95)
##                2.5 %    97.5 %
## (Intercept) 31.00423 47.089340
## areaconst    2.06264  2.266826
pruebat <- shapiro.test(modelv4$residuals)
pruebat 
## 
##  Shapiro-Wilk normality test
## 
## data:  modelv4$residuals
## W = 0.96486, p-value < 2.2e-16
lmtest::bptest(modelv4)
## 
##  studentized Breusch-Pagan test
## 
## data:  modelv4
## BP = 292.99, df = 1, p-value < 2.2e-16
lmtest::dwtest(modelv4)
## 
##  Durbin-Watson test
## 
## data:  modelv4
## DW = 1.443, p-value < 2.2e-16
## alternative hypothesis: true autocorrelation is greater than 0

Para el coeficiente β1, se tiene que bajo un intervalo de confianza del 95%, el valor del coeficiente estará entre 2.06 y 2.26 millones COP, lo que indica que, con un 95% de confianza, el valor verdadero del aumento en el precio de la vivienda, según un aumento en una unidad adicional de metro cuadrado construido, estará entre 2.06 y 2.26 millones COP.

Por otra parte, al verificar el test de Shapiro, se encuentra que el valor p es muy inferior al nivel de significancia del 5%, por lo que existe evidencia estadística significativa para rechazar la hipótesis nula, por tanto, el valor de beta es diferente de cero y asímismo, la distribución de los errores no es normal.

También, al verificar la heterocedasticidad en los errores, a través del test de Breusch-Pagan, se encuentra que el valor p es menor al alpha del 5%, por lo que también existe evidencia estadística significativa para rechazar la hipótesis nula, y de esta manera concluir que la varianza de los errores no es constante.

Finalmente, para evaluar la independencia entre los errores, se verifica el test de Durbin-Watson, encontrando también que el valor p es menor al alpha del 5%, por lo que también existe evidencia estadística significativa para rechazar la hipótesis nula, y de esta manera concluir que los errores no son independientes.

De esta manera, se observa que no se cumplen con 3 de los supuestos del modelo de regresión lineal, por lo que es importante considerar más adelante la posibilidad de estandarizarlo o normalizarlo, de manera que se ajuste el modelo, para poder realizar predicciones más confiables.

3.5 Paso 5.

summary(modelv4)$r.squared
## [1] 0.5597117

Con un coeficiente de bondad del 0.5597, se establece que el área construida en metros cuadrados de la vivienda, explica en un 55.97% la variabilidad en el precio de la vivienda en millones COP. Así, si bien este coeficiente de determinación no es cercano a uno, si refleja que la variable explicativa tiene una considerable influencia en la variable explicada, dado que explica más de la mitad de su porcentaje de variación.

3.6 Paso 6.

**Se procede a estimar el valor promedio para el apartamento, en este caso, bajo un nivel de confianza del 95%.

(predict(modelv4, list(areaconst=110), interval = "confidence", level = 0.95))
##        fit      lwr      upr
## 1 277.1674 272.9573 281.3775

Para la estimación del apartamento con área construida de 110 metros cuadrados, bajo un intervalo de confianza del 95%, el precio estará entre 272.95 y 281.37 millones COP, promediando ambos valores se tiene un precio de 277.16 milones COP. Así, al compararlo con un apartamento en la misma zona con un precio de 200 millones COP, se entendería que este último es una buena oferta, dado que el precio es claramente menor que el promedio del sector con similares características de área, sin embargo, antes de tomar una decisión de compra, resulta necesario tener en cuenta otros factores que también pueden ser determinante del precio, como los siguientes:

  • Ubicación en la ciudad y estrato socioeconómico
  • Tipo de inmueble y proyectos de construcción a sus alrededores
  • Si se encuentra sometida al reglamento de propiedad horizontal o no
  • Número de piso
  • Cantidad de baños
  • Cantidad de parqueaderos
  • Cantidad de habitaciones
  • Estado de la vivienda
  • Antigüedad de la vivienda

3.7 Paso 7.

Se proceden a validar los supuestos del modelo de regresión lineal por medio de gráficos:

plot(modelv4)

pruebat 
## 
##  Shapiro-Wilk normality test
## 
## data:  modelv4$residuals
## W = 0.96486, p-value < 2.2e-16
lmtest::bptest(modelv4)
## 
##  studentized Breusch-Pagan test
## 
## data:  modelv4
## BP = 292.99, df = 1, p-value < 2.2e-16
lmtest::dwtest(modelv4)
## 
##  Durbin-Watson test
## 
## data:  modelv4
## DW = 1.443, p-value < 2.2e-16
## alternative hypothesis: true autocorrelation is greater than 0

Los gráficos y pruebas anteriores evidencian lo siguiente:

  • Supuesto de normalidad: Al observar la gráfica Q-Q Residuals, se encuentra que hay muchos datos que no se ajustan a la linea de normalidad, lo que demuestra que no se cumple con el supuesto. Asimismo, se presentan asimetrías por la ubicación lejana de los puntos respecto de la recta en las colas de la distribución. También, el test de Shapiro, indica que el valor p es muy inferior al nivel de significancia del 5%, por lo que existe evidencia estadística significativa para rechazar la hipótesis nula, por tanto, la distribución de los errores no es normal.

  • Supuesto de linealidad: Al observar la gráfica Residuals Vs Fitted, se encuentra que,la línea roja aunque no es muy precisa, se comporta como una recta a lo largo de los datos, por lo que se podría apreciar una relación lineal entre las varible independiente y la variable dependiente, en otras palabras, se cumpliría con el supuesto.

  • Supuesto de homocedasticidad: Al observar la gráfica Scale-Location, se encuentra que los residuos no se distribuyen aleatoriamente a lo largo de la recta roja, puesto que se presenta una tendencia creciente a medida que aumentan las observaciones. En otras palabras, no se cumple con el supuesto. Asimismo, el test de Breusch-Pagan, establece que el valor p es menor al alpha del 5%, por lo que existe evidencia estadística significativa para rechazar la hipótesis nula, y de esta manera concluir que la varianza de los errores no es constante.

  • Supuesto de independencia: Al observar el test de Durbin-Watson, se encuentra que el valor p es menor al alpha del 5%, por lo que existe evidencia estadística significativa para rechazar la hipótesis nula, y de esta manera concluir que los errores no son independientes. Así, no se cumple con el supuesto.

Por otra parte, al observar el gráfico Residuals Vs Leverage se identifican varios datos atípicos, que tienden a ser determinantes al calcular la recta de regresión.

En consecuencia, y teniendo en cuenta que no se cumplen con la mayoría de supuestos del modelo de regresión lineal, resulta necesario establecer acciones de ajuste, para que el modelo pueda tener validez, para esto se sugiere la transformación de variables o inclusión de otras variables, que permitan explicar mejor el comportamiento de la variable de respuesta, aunque con la inclusión de más variables, se pasa a un modelo de regresión líneal múltiple.

3.8 Paso 8.

Se proceden a realizar varias transformaciones, para verificar la que mejor se ajuste a la explicación de la variable dependiente; logaritmo-lineal, lineal-logaritmo, doble logaritmo, inverso y Box-Cox.

Transformación logaritmo-lineal:

modelexp=lm(log(v4$preciom)~v4$areaconst, data=v4)
summary(modelexp)
## 
## Call:
## lm(formula = log(v4$preciom) ~ v4$areaconst, data = v4)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.98857 -0.13188 -0.01249  0.15595  0.66387 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  4.5512586  0.0194001  234.60   <2e-16 ***
## v4$areaconst 0.0094530  0.0002463   38.38   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.2051 on 1361 degrees of freedom
## Multiple R-squared:  0.5198, Adjusted R-squared:  0.5195 
## F-statistic:  1473 on 1 and 1361 DF,  p-value: < 2.2e-16
shapiro.test(modelexp$residuals)
## 
##  Shapiro-Wilk normality test
## 
## data:  modelexp$residuals
## W = 0.99051, p-value = 1.035e-07
lmtest::bptest(modelexp)
## 
##  studentized Breusch-Pagan test
## 
## data:  modelexp
## BP = 150.38, df = 1, p-value < 2.2e-16
lmtest::dwtest(modelexp)
## 
##  Durbin-Watson test
## 
## data:  modelexp
## DW = 1.3187, p-value < 2.2e-16
## alternative hypothesis: true autocorrelation is greater than 0
par(mfrow=c(2,2))
plot(modelexp)

Transformación lineal-logaritmo:

modellog=lm(v4$preciom~log(v4$areaconst), data=v4)
summary(modellog)
## 
## Call:
## lm(formula = v4$preciom ~ log(v4$areaconst), data = v4)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -196.252  -21.338   -1.579   22.096  261.436 
## 
## Coefficients:
##                   Estimate Std. Error t value Pr(>|t|)    
## (Intercept)       -635.532     19.092  -33.29   <2e-16 ***
## log(v4$areaconst)  195.419      4.445   43.97   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 41.98 on 1361 degrees of freedom
## Multiple R-squared:  0.5868, Adjusted R-squared:  0.5865 
## F-statistic:  1933 on 1 and 1361 DF,  p-value: < 2.2e-16
shapiro.test(modellog$residuals)
## 
##  Shapiro-Wilk normality test
## 
## data:  modellog$residuals
## W = 0.95826, p-value < 2.2e-16
lmtest::bptest(modellog)
## 
##  studentized Breusch-Pagan test
## 
## data:  modellog
## BP = 214.66, df = 1, p-value < 2.2e-16
lmtest::dwtest(modellog)
## 
##  Durbin-Watson test
## 
## data:  modellog
## DW = 1.4775, p-value < 2.2e-16
## alternative hypothesis: true autocorrelation is greater than 0
par(mfrow=c(2,2))
plot(modellog)

Transformación doble logaritmo:

modellog2=lm(log(v4$preciom)~log(v4$areaconst), data=v4)
summary(modellog2)
## 
## Call:
## lm(formula = log(v4$preciom) ~ log(v4$areaconst), data = v4)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -0.8890 -0.1119  0.0028  0.1343  0.7538 
## 
## Coefficients:
##                   Estimate Std. Error t value Pr(>|t|)    
## (Intercept)        1.48373    0.08703   17.05   <2e-16 ***
## log(v4$areaconst)  0.88175    0.02026   43.52   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.1914 on 1361 degrees of freedom
## Multiple R-squared:  0.5819, Adjusted R-squared:  0.5816 
## F-statistic:  1894 on 1 and 1361 DF,  p-value: < 2.2e-16
shapiro.test(modellog2$residuals)
## 
##  Shapiro-Wilk normality test
## 
## data:  modellog2$residuals
## W = 0.98958, p-value = 2.857e-08
lmtest::bptest(modellog2)
## 
##  studentized Breusch-Pagan test
## 
## data:  modellog2
## BP = 92.877, df = 1, p-value < 2.2e-16
lmtest::dwtest(modellog2)
## 
##  Durbin-Watson test
## 
## data:  modellog2
## DW = 1.3214, p-value < 2.2e-16
## alternative hypothesis: true autocorrelation is greater than 0
par(mfrow=c(2,2))
plot(modellog2)

Transformación inversa:

modelinv=lm((1/v4$preciom)~v4$areaconst, data=v4)
summary(modelinv)
## 
## Call:
## lm(formula = (1/v4$preciom) ~ v4$areaconst, data = v4)
## 
## Residuals:
##        Min         1Q     Median         3Q        Max 
## -0.0031501 -0.0009123 -0.0000284  0.0007065  0.0061003 
## 
## Coefficients:
##                Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   8.794e-03  1.058e-04   83.14   <2e-16 ***
## v4$areaconst -4.509e-05  1.343e-06  -33.58   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.001118 on 1361 degrees of freedom
## Multiple R-squared:  0.4531, Adjusted R-squared:  0.4527 
## F-statistic:  1128 on 1 and 1361 DF,  p-value: < 2.2e-16
shapiro.test(modelinv$residuals)
## 
##  Shapiro-Wilk normality test
## 
## data:  modelinv$residuals
## W = 0.97121, p-value = 7.564e-16
lmtest::bptest(modelinv)
## 
##  studentized Breusch-Pagan test
## 
## data:  modelinv
## BP = 29.042, df = 1, p-value = 7.081e-08
lmtest::dwtest(modelinv)
## 
##  Durbin-Watson test
## 
## data:  modelinv
## DW = 1.2809, p-value < 2.2e-16
## alternative hypothesis: true autocorrelation is greater than 0
par(mfrow=c(2,2))
plot(modelinv)

Transformación Box-Cox:

par(mfrow = c(1,2))
boxcox(lm(v4$preciom ~ v4$areaconst, data=v4), lambda = -3:3)
bc<-boxcox(lm(v4$preciom ~ v4$areaconst), lambda = -1:1)

lambda <- bc$x[which.max(bc$y)]
lambda
## [1] -0.1313131

Bajo la transformación Box.Cox, se obtiene un valor de lambda de -0.13, lo que indica que la variable endógena que es el precio del apartamento, se debe expresar en escala logarítmica. Esto es debido a que lambda se ubica cerca de cero, estando a la vez dentro del intervalo de confianza del 95%.

Finalmente, se procede a estimar un nuevo modelo con los paramétros de lambda calculados en el paso anterior:

modelboxcox=lm(((bc$x ^ lambda-1) / lambda) ~ bc$y)
summary(modelboxcox)
## 
## Call:
## lm(formula = ((bc$x^lambda - 1)/lambda) ~ bc$y)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -4.0531 -0.2688  0.2561  0.5541  0.6555 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -71.816803   9.262562  -7.753 5.20e-10 ***
## bc$y         -0.025218   0.003304  -7.633 7.94e-10 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.8471 on 48 degrees of freedom
##   (50 observations deleted due to missingness)
## Multiple R-squared:  0.5483, Adjusted R-squared:  0.5389 
## F-statistic: 58.26 on 1 and 48 DF,  p-value: 7.938e-10
shapiro.test(modelboxcox$residuals)
## 
##  Shapiro-Wilk normality test
## 
## data:  modelboxcox$residuals
## W = 0.71444, p-value = 1.517e-08
lmtest::bptest(modelboxcox)
## 
##  studentized Breusch-Pagan test
## 
## data:  modelboxcox
## BP = 3.0505, df = 1, p-value = 0.08071
lmtest::dwtest(modelboxcox)
## 
##  Durbin-Watson test
## 
## data:  modelboxcox
## DW = 0.13447, p-value < 2.2e-16
## alternative hypothesis: true autocorrelation is greater than 0
par(mfrow=c(2,2))
plot(modelboxcox)

Al verificar todas las transformaciones propuestas para calibrar el modelo inicial, se observa que el modelo de transformación lineal-logaritmo es el que mejor desempeño de coeficiente de determinación arroja, dado que pasa de un modelo inicial con R2 de 55,97% a uno transformado de 58,68%, sin embargo, al verificar la transformación con doble logaritmo, es obtiene un valor levemente inferior de R2 (58.19%), pero adicional presenta un menor error de estimación. Asimismo, al analizar los gráficos para evaluar los supuestos, se encuentra que al utilizar logaritmo en la variable dependiente, los residuales tienden a ser constantes, es decir, reflejan aparente igualdad de varianzas. Por lo anterior, al evaluar el R2, sería prácticamente indiferente utilizar cualquiera de las dos transformaciones, aunque en este análisis se recomienda el modelo con doble logaritmo por presentar menor error.

3.9 Paso 9.

Se procede a realizar un cuadro comparativo gráfico entre el modelo inicial y el modelo de doble logaritmo:

par(mfrow=c(2,2))
plot(modelv4, col="blue", main="Modelo Inicial (modelv4)")

plot(modellog2, col="green", main="Modelo Transformado (modellog2)")

pruebat 
## 
##  Shapiro-Wilk normality test
## 
## data:  modelv4$residuals
## W = 0.96486, p-value < 2.2e-16
lmtest::bptest(modelv4)
## 
##  studentized Breusch-Pagan test
## 
## data:  modelv4
## BP = 292.99, df = 1, p-value < 2.2e-16
lmtest::dwtest(modelv4)
## 
##  Durbin-Watson test
## 
## data:  modelv4
## DW = 1.443, p-value < 2.2e-16
## alternative hypothesis: true autocorrelation is greater than 0
shapiro.test(modellog2$residuals)
## 
##  Shapiro-Wilk normality test
## 
## data:  modellog2$residuals
## W = 0.98958, p-value = 2.857e-08
lmtest::bptest(modellog2)
## 
##  studentized Breusch-Pagan test
## 
## data:  modellog2
## BP = 92.877, df = 1, p-value < 2.2e-16
lmtest::dwtest(modellog2)
## 
##  Durbin-Watson test
## 
## data:  modellog2
## DW = 1.3214, p-value < 2.2e-16
## alternative hypothesis: true autocorrelation is greater than 0

Dentro de las principales diferenias y similitudes entre ambos modelos, se destacan las siguientes:

  • Supuesto de normalidad: Al observar la gráfica Q-Q Residuals, se encuentra que, para ambos casos la línea de normalidad no alcanza agrupar una considerable muestra de observaciones, adicional, el test de shapiro en ambos casos reafirma lo explicado en el gráfico, al arrojar un valor p muy inferior al nivel de significancia del 5%, lo que muestra que la distribución de los errores no es normal.

  • Supuesto de linealidad: Al observar la gráfica Residuals Vs Fitted, se encuentra que para el modelo transformado, la línea roja se vuelve más precisa, comportandose como una recta horizontal a lo largo de los datos, por lo que se podría apreciar una relación lineal más fuerte en este modelo, entre la varible dependiente y variable independiente, en otras palabras, se cumple con el supuesto.

  • Supuesto de homocedasticidad: Al observar la gráfica Scale-Location, se encuentra que si bien para el modelo transformado, parece mejorar la distribución de los residuos a lo largo del eje (x), es decir, constante, al verificar el test de Breusch-Pagan, pese a que se mejora el resultado pasando de 292.99 a 92.87, se obtiene en ambos casos un valor p muy inferior al nivel de significancia del 5%, por lo que se continúa afirmando que la varianza de los errores no es constante. En otras palabras, no se cumple con el suspuesto.

  • Supuesto de independencia: Al observar el test de Durbin-Watson, se encuentra que en ambos casos el valor p es menor al alpha del 5%, por lo que sigue existiendo evidencia estadística significativa para rechazar la hipótesis nula, y de esta manera concluir que, los errores no son independientes en ambos modelos. Así, no se cumple con el supuesto.

  • Cabe resaltar que, la transformación, más allá de no satisfacer tres de los cuatro supuestos del modelo de regresión lineal simple, si mejora la estimación al incrementar el R2, estableciendo que el modelo de doble logaritmo, que es el transformado, explica mejor la variabilidad en el precio de los apartamentos, a través de la variación en el área construida.

3.10 Paso 10.

Se procede al ánalisis de los modelos estimados:

modelo1=modelv4
modelo2=modelexp
modelo3=modellog
modelo4=modellog2
modelo5=modelinv
stargazer(modelo1, modelo2, modelo3, modelo4, modelo5, type="text", df=FALSE)
## 
## ====================================================================================
##                                           Dependent variable:                       
##                     ----------------------------------------------------------------
##                       preciom      preciom)     preciom      preciom)     preciom)  
##                         (1)          (2)          (3)          (4)          (5)     
## ------------------------------------------------------------------------------------
## areaconst             2.165***                                                      
##                       (0.052)                                                       
##                                                                                     
## areaconst                          0.009***                             -0.00005*** 
##                                    (0.0002)                              (0.00000)  
##                                                                                     
## areaconst)                                     195.419***    0.882***               
##                                                 (4.445)      (0.020)                
##                                                                                     
## Constant             39.047***     4.551***   -635.532***    1.484***     0.009***  
##                       (4.100)      (0.019)      (19.092)     (0.087)      (0.0001)  
##                                                                                     
## ------------------------------------------------------------------------------------
## Observations           1,363        1,363        1,363        1,363        1,363    
## R2                     0.560        0.520        0.587        0.582        0.453    
## Adjusted R2            0.559        0.519        0.587        0.582        0.453    
## Residual Std. Error    43.339       0.205        41.982       0.191        0.001    
## F Statistic         1,730.157*** 1,473.424*** 1,933.199*** 1,894.288*** 1,127.741***
## ====================================================================================
## Note:                                                    *p<0.1; **p<0.05; ***p<0.01

Al estimar cinco modelos diferentes, incluyendo el inicial, se observa que el más aceptable es el modelo 4 (doble logaritmo), el cual es coherente con la conclusión de la transformación Box-Cox, en donde el valor de lambda indicaba que la variable dependiente se debía trabajar mejor mediante logaritmo. Este modelo 4 aumenta un poco el R2, que es el coeficiente que establece el nivel de explicación de la variabilidad del precio de los apartamentos, en función del área construida.

Por otra parte, también se observa que el modelo 3 (lineal-logaritmo), indica un R2 levemente mayor que el del modelo 4, pero, la desviación estándar de los residuos es mayor, por lo que se sigue optando por establecer que el modelo 4 es más razonable para explicar la variación en el precio de los apartamentos.

En consecuencia, el modelo 4 sigue siendo el de mejor desempeño y se soporta con la estimación del lambda, a través de la transformación Box-Cox, que al ser cercano a cero, recomienda la aplicación de logaritmo a la variable dependiente (y). Este modelo 4 se trabajó mediante la aplicación de logaritmo en ambas variables, es decir, tanto en (y) como en (x).

Ahora, se proceden a verificar el cumplimiento del supuesto de los errores:

par(mfrow=c(1,5))
plot(modelo1, 1, caption = "modelo 1")
plot(modelo2, 1, caption = "modelo 2")
plot(modelo3, 1, caption = "modelo 3")
plot(modelo4, 1, caption = "modelo 4")
plot(modelo5, 1, caption = "modelo 5")

En el gráfico que indica la linealidad en los residuos, se observa que hay una tendencia definida de linealidad, para ndos de los cinco modelos; modelos 3 y 4, que son los que mejor se ajustan a este supuesto. El resto de modelos no logra cumplirlo, dado que muchos de los datos no responden a una tendencia de linealidad.

par(mfrow=c(1,5))
plot(modelo1, 2, caption = "modelo 1", main = "modelo 1")
plot(modelo2, 2, caption = "modelo 2", main = "modelo 2")
plot(modelo3, 2, caption = "modelo 3", main = "modelo 3")
plot(modelo4, 2, caption = "modelo 4", main = "modelo 4")
plot(modelo5, 2, caption = "modelo 5", main = "modelo 5")

El modelo 4 presenta un mejor ajuste visual de normalidad, sin embargo, cuando se evaluó, a través del test de normalidad de Shapiro, ninguno de los modelos confirmó la existencia de normalidad.

par(mfrow=c(1,5))
plot(modelo1, 3, caption = "modelo 1", main = "modelo 1")
plot(modelo2, 3, caption = "modelo 2", main = "modelo 2")
plot(modelo3, 3, caption = "modelo 3", main = "modelo 3")
plot(modelo4, 3, caption = "modelo 4", main = "modelo 4")
plot(modelo5, 3, caption = "modelo 5", main = "modelo 5")

Los residuos gráficamente no se observan que se distribuyan constantamente a lo largo de los rangos de predictores, por lo anterior, y en concordancia con el test de breusch-pagan, no se cumple con el supuesto de homocedasticidad en ninguno de los modelos.

3.11 Paso 11.

De acuerdo con el estudio anterior, se recomienda a la Inmobiliaria A&c, las siguientes acciones:

  • De acuerdo con los hallazgos, el área construida de los apartamentos, aunque se encuentra positiva y fuertemente correlacionada con el precio de las viviendas (coeficiente de correlación del 0.74), no es la única variable determinante en el precio de los bienes. En este sentido, se debe evaluar un nuevo modelo incluyendo otro tipo de variables independientes.

  • Establecer que el modelo de regresión lineal simple y todas las transformaciones propuestas en el informe, no satisfacen los supuestos del modelo de regresión lineal, por lo que la explicación de la variación en el precio de los apartamentos, se debe estudiar mediante la aplicación de un modelo no linal, o también, continuar con el modelo lineal, pero con regresión múltiplie, es decir, incluyendo más variables predictoras, de manera que, el nuevo modelo arroje una mejor predicción, sea más robusto, completo y se ajuste a los supuestos establecidos. Adicional, se debe tener en cuenta que un modelo de regresión lineal simple, indica la existencia de una relación entre variables, pero no refleja una relación de causalidad, es decir, se dice que el precio depende del área construida, pero no implica que el área construida genere el precio.

  • Aún con lo anterior, se destaca que el modelo transformado con doble logaritmo, es decir, expresando tanto la variable dependiente como la independiente en logaritmo, arroja un coeficiente de bondad R2 superior que el del modelo lineal sin transformación, por lo que bajo este hallazgo, se puede determinar que la variación en el área construida de los apartamentos, explica en un 58.2% la variabilidad en el precio de los apartamentos. Adicional, esta transformación disminuye el error de las predicciones.

  • Para el presente análisis no se tuvo en cuenta el precio ni área de las casas, por lo que quizás, al incluir las casas junto con los apartamentos, se puede establecer otro tipo o intensidad de relación entre las variables del modelo. Asimismo, resulta probable intentar incluir más observaciones en la base de datos, para que a través del teorema del límite central, aproximar la distribución a una normal y así, acercarse al cumplimiento de algunos de los supuestos del modelo de regresión lineal.

  • Un factor relevante es la presencia de datos atípicos en el dataset trabajado, por lo que se recomienda para la elaboración de un nuevo modelo, realizar depuración de estas observaciones, de manera que no se afecten los estimadores de los coeficientes. Así, se evita la creación de sesgo en la predicción.

  • El modelo final, en el que se aplicó transformación logaritmo-logaritmo, presenta las siguientes características respecto al modelo inicial (lineal):

Modelo inicial; Precio = 39.04 + 2.16 (X) + ε

Modelo inicial; Error estándar residual = 43.34

Modelo inicial; R2 = 55.97%

Modelo inicial; presenta significancia estadística al 0.1%

Modelo transformado; Log (Precio) = 1.48 + 0.88 log(X) + ε

Modelo transformado; Error estándar residual = 0.19

Modelo transformado; R2 = 58.19%

Modelo transformado; presenta significancia estadística al 0.1%

4 CONCLUSIONES

Si bien se entiende que ningún modelo garantizó el cumplimiento los supuestos del modelo de regresión lineal, el ejercicio desarrollado generó conocimiento acerca del comportamiento de la variable precio de los apartamentos, en función del área construida, mostrando a la vez, la necesidad de indagar más en relación con la obtención de otras variables o factores que coadyuven a explicar con mejor precisión, la variabilidad en el precio. También, resulta necesario aclarar que los modelos estadísticos en general, pueden presentar limitaciones y no recoger la complejidad de todos los datos, por tal motivo, siempre busca realizar estimaciones, pero no implica precisión del 100%, en especial cuando se trabaja con regresión lineal, dado que difícilmente una recta, puede abarcar todos los puntos de un dataset con muchas observaciones.

En vista de lo anterior, se debe considerar estudiar variables adicionales como, el estrato, la ubicación geográfica, la antigüedad, el tipo de construcción, nivel de valorización, si pertenece a propiedad horizontal, cantidad de parqueaderos, número de habitaciones, baños, entre otros aspectos que caracterizan a los apartamentos. Esto debido a que tradicionalmente han sido variables por las cuales los compradores preguntan al momento de adquirir un inmueble, y en este sentido, pasan a determinar el precio de la vivienda.

5 ANEXOS

Todos los anexos se encuentran contenidos en el mismo informe. Asimismo, los códigos ejecutados en el programa R para realizar el estudio, se pueden encontrar en el siguiente enlace: https://rpubs.com/cdescobara/1175891