Popayán, 22 de abril de 2024
Señores Directivos Inmobiliaria A&C
Estimados Directivos,
Me complace presentarles el informe sobre el modelo de predicción de precios de vivienda desarrollado para la Inmobiliaria A&C. Este modelo tiene como objetivo proporcionar una herramienta precisa y confiable para estimar los precios de las viviendas en función de su área construida.
Resumen Ejecutivo:
El modelo de regresión lineal desarrollado muestra una alta capacidad para predecir los precios de las viviendas en base a su área construida. Después de evaluar varios modelos, se ha determinado que el modelo más apropiado es el siguiente:
Modelo:
Regresión lineal con la raíz cuadrada del área construida como predictor y el precio de la vivienda como variable dependiente.
Principales Características:
R-cuadrado ajustado: 0.7063
Significancia estadística de los coeficientes: Altamente significativos (p < 0.001)
Cumplimiento de supuestos sobre los errores: Los gráficos de diagnóstico sugieren que los supuestos sobre los errores se cumplen razonablemente bien.
Interpretación: Por cada aumento unitario en la raíz cuadrada del área construida, se espera un aumento de aproximadamente 9.45 en el precio de la vivienda.
Recomendaciones:
Se recomienda utilizar este modelo como una herramienta para estimar los precios de las viviendas en base a su área construida.
Es importante tener en cuenta otras variables relevantes que pueden influir en el precio de la vivienda, como ubicación, estado de la propiedad, características específicas, entre otros.
Se sugiere realizar actualizaciones periódicas del modelo a medida que se obtengan más datos y se realicen nuevas evaluaciones.
Anexos:
Se adjuntan los siguientes documentos como evidencia de la realización de los pasos anteriores:
Gráficos de diagnóstico de los modelos evaluados. Resúmenes de los modelos, incluyendo coeficientes, estadísticas de ajuste y cumplimiento de supuestos.
Agradecemos su atención a este informe y quedamos a su disposición para cualquier consulta adicional o solicitud de información adicional.
Atentamente,
Julián Llantén
Científico de Datos
Pontificia Univeridad Javeriana de Cali
Con base en los datos de ofertas de vivienda descargadas del portal Fincaraiz para apartamento de estrato 4 con área construida menor a 200 m2𝑚2 (vivienda4.RDS) la inmobiliaria A&C requiere el apoyo de un cientifico 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 a diseñado los siguientes pasos para obtener un modelo y así poder a futuro determinar los precios de los inmuebles a negociar.
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.
#librerías
library(paqueteMETODOS)
library(ggplot2)
library(dplyr)
# descargar la data
devtools::install_github("dgonxalex80/paqueteMETODOS")
data(vivienda4)
# Examinar la estructura de los datos
names(vivienda4)
## [1] "zona" "estrato" "preciom" "areaconst" "tipo"
#se realiza un filtro solo apartamentos
apto4=subset(vivienda4, tipo=="Apartamento" )
Análisis descriptivo de la variable Precio de vivienda
#variable precio de vivienda
summary(apto4$preciom)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 207.4 228.8 236.1 237.7 243.6 305.2
# Histograma del precio
ggplot(apto4, aes(x = preciom)) +
geom_histogram(binwidth = 5, fill = "skyblue", color = "black") +
labs(x = "Precio (millones de pesos COP)", y = "Frecuencia",
title = "Distribución del Precio de vivienda")
la diferencia entre el valor mínimo y el máximo del precio es de aproximadamente 97.8 millones de pesos COP. Esta diferencia relativamente grande sugiere que hay una variabilidad considerable en los precios de las viviendas, gráficamente se puede observar que los precios más altos se encuentran ubicados en el segundo cuartil.
Análisis descriptivo de la variable Área construida
#variable área construida
summary(apto4$areaconst)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 40.00 60.00 70.00 75.48 84.00 200.00
# Histograma del área construida
ggplot(apto4, aes(x = areaconst)) +
geom_histogram(binwidth = 5, fill = "lightgreen", color = "black") +
labs(x = "Área construida (m²)", y = "Frecuencia",
title = "Distribución del Área construida")
Se puede evidenciar que el rango del área construida va desde 40 metros cuadrados hasta 200 metros cuadrados, con una mediana de 70 metros cuadrados y una media de aproximadamente 75.48 metros cuadrados. Esto sugiere que la mayoría de las viviendas tienen áreas construidas relativamente pequeñas, con un sesgo hacia valores más bajos.
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.
ggplot(apto4,aes(x=areaconst,y=preciom))+geom_point()+theme_bw()+geom_smooth(col="lightgreen",fill = "lightblue")+ylab("Precio (millones de pesos COP)")+xlab("Área construida (m²)")
a=cor(apto4$areaconst,apto4$preciom)
print(paste("La correlacion entre las variables de area construida y precio de vivienda es de= ",format(a, scientific = F)))
## [1] "La correlacion entre las variables de area construida y precio de vivienda es de= 0.8463271"
La correlación que existe entre las variables de área construida y precio muestra un valor alto de aproximadamente un 85% , lo cual quiere decir que existe una relación lineal positiva fuerte que indica que, a mayor área construida, mayor es el precio de la propiedad.
Estime el modelo de regresión lineal simple entre precio=f(area)+ε𝑝𝑟𝑒𝑐𝑖𝑜=𝑓(𝑎𝑟𝑒𝑎)+𝜀. Interprete los coeficientes del modelo β0, β1 en caso de ser correcto.
#attach(apto4)
modelo=lm(apto4$preciom~apto4$areaconst)
summary(modelo)
##
## Call:
## lm(formula = apto4$preciom ~ apto4$areaconst)
##
## Residuals:
## Min 1Q Median 3Q Max
## -26.5139 -5.0886 -0.0031 4.6406 24.3309
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 2.001e+02 6.698e-01 298.67 <2e-16 ***
## apto4$areaconst 4.984e-01 8.503e-03 58.62 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 7.081 on 1361 degrees of freedom
## Multiple R-squared: 0.7163, Adjusted R-squared: 0.7161
## F-statistic: 3436 on 1 and 1361 DF, p-value: < 2.2e-16
El intercepto del modelo (β0) es de aproximadamente 200.1 millones de pesos COP representa el valor esperado del precio de la vivienda cuando el área construida es cero. Sin embargo, en este contexto, no tiene mucho sentido interpretar el intercepto, ya que no se va a tener una vivienda con un área construida de cero en el mercado real.β1 es aproximadamente 0.4984. Esto significa que, en promedio, por cada aumento de un metro cuadrado en el área construida de una vivienda, se espera que el precio aumente en alrededor de 0.4984 millones de pesos COP por eso se puede decir que el área construida es un predictor significativo del precio de la vivienda.
El Adjusted R-squared de aproximadamente 0.7161 indica que alrededor del 71.61% de la variabilidad en el precio de la vivienda puede ser explicada por el modelo de regresión lineal simple. Esto sugiere que el modelo tiene un buen ajuste a los datos.
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.
confint(modelo)
## 2.5 % 97.5 %
## (Intercept) 198.7494103 201.377500
## apto4$areaconst 0.4817357 0.515097
Este intervalo de confianza indica que podemos estar 95% seguros de que el verdadero valor del coeficiente β1 está entre 0.4817 y 0.5145. Esto indica que en promedio, por cada metro cuadrado en el área construida de una vivienda,el precio de la vivienda puede aumentar entre aproximadamente 0.4817 y 0.5145 millones de pesos COP.
t.test(apto4$preciom, apto4$areaconst)
##
## Welch Two Sample t-test
##
## data: apto4$preciom and apto4$areaconst
## t = 228.68, df = 2205.3, p-value < 2.2e-16
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
## 160.8138 163.5957
## sample estimates:
## mean of x mean of y
## 237.68310 75.47836
La prueba de hipótesis t realizada indica que el valor p es prácticamente cero (2.2e-16), lo que significa que es extremadamente improbable obtener el valor observado del coeficiente β1 si la verdadera diferencia entre el precio de la vivienda y el área construida fuera cero. Por lo tanto, se rechaza la hipótesis nula de que el coeficiente β1 es igual a cero.Por otro lado, el intervalo de confianza del 95% para la diferencia de medias entre el precio de la vivienda y el área construida es de 160.8138 a 163.5957. Este intervalo no incluye el valor cero, lo que respalda aún más la conclusión de que el coeficiente β1 es diferente de cero.
En concluisión tanto el análisis del intervalo de confianza como la prueba de hipótesis t respaldan la conclusión de que el coeficiente β1es significativamente diferente de cero. Esto significa que el área construida es un predictor significativo del precio de la vivienda en el modelo de regresión lineal simple.
Calcule e interprete el indicador de bondad R2
summary(modelo)
##
## Call:
## lm(formula = apto4$preciom ~ apto4$areaconst)
##
## Residuals:
## Min 1Q Median 3Q Max
## -26.5139 -5.0886 -0.0031 4.6406 24.3309
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 2.001e+02 6.698e-01 298.67 <2e-16 ***
## apto4$areaconst 4.984e-01 8.503e-03 58.62 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 7.081 on 1361 degrees of freedom
## Multiple R-squared: 0.7163, Adjusted R-squared: 0.7161
## F-statistic: 3436 on 1 and 1361 DF, p-value: < 2.2e-16
Como se puede observar en el resumen del modelo, R2 es 0.7163 esto significa que el modelo es capaz de explicar el 71.63% de la variación en los precios de las viviendas utilizando el área construida como variable predictora, por lo tanto el modelo puede ser bastante efectivo para predecir los precios de las viviendas basándose en el área construida.
¿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 esta oferta? ¿Qué consideraciones adicionales se deben tener?.
precio_estimado = predict(modelo, areaconst=110 ,interval = "confidence")
summary(precio_estimado)
## fit lwr upr
## Min. :220.0 Min. :219.3 Min. :220.7
## 1st Qu.:230.0 1st Qu.:229.5 1st Qu.:230.4
## Median :235.0 Median :234.6 Median :235.3
## Mean :237.7 Mean :237.2 Mean :238.2
## 3rd Qu.:241.9 3rd Qu.:241.5 3rd Qu.:242.3
## Max. :299.7 Max. :297.6 Max. :301.9
El precio estimado de un apartamento de 110 m2 está entre 237 millones y 238 millones, por lo tanto la oferta de 200 millones por un apartamento de esa área no es muy atractiva. Entre las consideraciones adicionales que se deberían tener en cuenta se puede mencionar la ubicación de la propiedad,el piso en el que se encuentra y la orientación, el estado en que se encuentra, los años de antiguedad del apartamento, si se trata de una venta directa o con intermediarios, el numero de dueños que ha tenido, la distribución de espacios, si cuenta con servicios o no, entre otros.
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.
par(mfrow=c(2,2))
plot(modelo)
Residuals vs Fitted (Linealidad):COnsecuente con el supuesto de
linealidad del modelo de regresión linea, de acuerdo al gráfico se puede
observar que el hecho de que la línea de referencia sea horizontal y la
dispersión de los valores esté cerca de la línea roja sugiere que hay
linealidad entre las variables.
Normal Q-Q (Normalidad de Residuos): El hecho de que los puntos sigan aproximadamente la diagonal en el gráfico Q-Q de normalidad indica que los residuos siguen una distribución normal.
Scale-Location (Homocedasticidad): La horizontalidad de la línea roja y la constancia de la varianza de los residuos sugieren que el modelo es homocedástico, es decir, la varianza de los errores es constante en todos los niveles de las variables predictoras.
Residuals vs Leverage (Valores Atípicos e Influyentes): El hecho de que no se observen valores atípicos o influyentes en el gráfico de residuos vs leverage es una buena señal.
Por todo lo anteriomente mencionado, los supuestos del modelo de regresión lineal están mayormente cumplidos, lo que aumenta la confianza en la validez de los resultados del modelo.
De ser necesario realice una transformación apropiada para mejorar el ajuste y supuestos del modelo.
modelocuarea=lm(apto4$preciom ~sqrt(apto4$areaconst))
summary(modelocuarea)
##
## Call:
## lm(formula = apto4$preciom ~ sqrt(apto4$areaconst))
##
## Residuals:
## Min 1Q Median 3Q Max
## -25.1087 -5.2451 -0.0772 4.7355 23.6388
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 156.3863 1.4349 108.99 <2e-16 ***
## sqrt(apto4$areaconst) 9.4454 0.1652 57.19 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 7.206 on 1361 degrees of freedom
## Multiple R-squared: 0.7061, Adjusted R-squared: 0.7059
## F-statistic: 3271 on 1 and 1361 DF, p-value: < 2.2e-16
par(mfrow=c(2,2))
plot(modelocuarea)
Se realizó la transformación con el modelo de regresión lineal utilizando la raíz cuadrada del área construida como variable independiente y el precio de la vivienda como variable dependiente.
A continuación se describe los resultados de la validación de supuestos:
Residuals vs Fitted (Residuos vs. Valores Ajustados): El gráfico muestra una dispersión aleatoria alrededor de cero, lo que indica que el modelo captura adecuadamente la relación entre las variables.
Normal Q-Q (Normalidad de Residuos): Los puntos en el gráfico Q-Q siguen aproximadamente la línea diagonal, lo que sugiere que los residuos pueden seguir una distribución normal.
Scale-Location (Homocedasticidad): se cumple el supuesto de homocedasticidad.
Residuals vs Leverage (Residuos vs. Influencia): No se observan valores atípicos o influyentes significativos en el gráfico de residuos vs. leverage.
En general, los gráficos sugieren que el modelo de regresión lineal utilizando la raíz cuadrada del área construida como predictor parece ajustarse bien a los datos y cumple con los supuestos del modelo de regresión lineal.
COn la transformada del modelo como resultado se obtuvo un alto valor de R-cuadrado ajustado = 0.7059, que indica que aproximadamente el 70.59% de la variabilidad en el precio de la vivienda puede explicarse por la raíz cuadrada del área construida. Este valor es muy cercano obtenido en el punto 5, pero aun asi es menor. Razón por la cual se determina que no era necesario realizar la transformación.
Estime varios modelos y compare los resultados obtenidos. En el mejor de los modelos, ¿se cumplen los supuestos sobre los errores?
modelocuarea=lm(apto4$preciom ~sqrt(apto4$areaconst))
summary(modelocuarea)
##
## Call:
## lm(formula = apto4$preciom ~ sqrt(apto4$areaconst))
##
## Residuals:
## Min 1Q Median 3Q Max
## -25.1087 -5.2451 -0.0772 4.7355 23.6388
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 156.3863 1.4349 108.99 <2e-16 ***
## sqrt(apto4$areaconst) 9.4454 0.1652 57.19 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 7.206 on 1361 degrees of freedom
## Multiple R-squared: 0.7061, Adjusted R-squared: 0.7059
## F-statistic: 3271 on 1 and 1361 DF, p-value: < 2.2e-16
par(mfrow=c(2,2))
plot(modelocuarea)
modelocuprecio=lm(sqrt(apto4$preciom) ~apto4$areaconst)
summary(modelocuprecio)
##
## Call:
## lm(formula = sqrt(apto4$preciom) ~ apto4$areaconst)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.83242 -0.16051 0.00178 0.14901 0.77629
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.422e+01 2.176e-02 653.3 <2e-16 ***
## apto4$areaconst 1.580e-02 2.763e-04 57.2 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.2301 on 1361 degrees of freedom
## Multiple R-squared: 0.7063, Adjusted R-squared: 0.706
## F-statistic: 3272 on 1 and 1361 DF, p-value: < 2.2e-16
par(mfrow=c(2,2))
plot(modelocuprecio)
modelologprecio=lm(log(apto4$preciom) ~apto4$areaconst)
summary(modelologprecio)
##
## Call:
## lm(formula = log(apto4$preciom) ~ apto4$areaconst)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.104645 -0.020942 0.000593 0.019371 0.099110
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 5.318e+00 2.835e-03 1876.11 <2e-16 ***
## apto4$areaconst 2.007e-03 3.598e-05 55.77 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.02996 on 1361 degrees of freedom
## Multiple R-squared: 0.6956, Adjusted R-squared: 0.6954
## F-statistic: 3110 on 1 and 1361 DF, p-value: < 2.2e-16
par(mfrow=c(2,2))
plot(modelologprecio)
modelologarea=lm(apto4$preciom ~log(apto4$areaconst))
summary(modelologarea)
##
## Call:
## lm(formula = apto4$preciom ~ log(apto4$areaconst))
##
## Residuals:
## Min 1Q Median 3Q Max
## -22.9725 -5.4109 -0.1832 4.9141 24.1899
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 53.8202 3.4091 15.79 <2e-16 ***
## log(apto4$areaconst) 42.8778 0.7936 54.03 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 7.496 on 1361 degrees of freedom
## Multiple R-squared: 0.682, Adjusted R-squared: 0.6818
## F-statistic: 2919 on 1 and 1361 DF, p-value: < 2.2e-16
par(mfrow=c(2,2))
plot(modelologarea)
Se realizaron las siguientes 4 estimaciones:
10.1. En el modelo se Regresión lineal con la raíz cuadrada del área construida como predictor se obtuvo R-cuadrado ajustado: 0.7060, Los gráficos de diagnóstico sugieren que los supuestos sobre los errores se cumplen razonablemente bien
10.2. En el segundo modelo que es Regresión lineal con la raíz cuadrada del precio de la vivienda como predictor el R-cuadrado ajustado es 0.7063, los gráficos de diagnóstico sugieren que los supuestos sobre los errores se cumplen razonablemente bien.
10.3. En el modelo de Regresión lineal con el logaritmo natural del precio de la vivienda como predictor el cálculo de R-cuadrado ajustado es 0.6954 los residuales sugieren que los supuestos sobre los errores se cumplen razonablemente bien.
10.4. Y finalmente para el modelo de Regresión lineal con el logaritmo natural del área construida como predictor seobtuvo un R-cuadrado ajustado equivalente a 0.6820 y los residuales indican que los supuestos sobre los errores se cumplen razonablemente bien.
En términos generales, todos los modelos muestran un buen ajuste y cumplen con los supuestos sobre los errores. Sin embargo, el Modelo 2 tiene el R-cuadrado ajustado más alto, lo que sugiere que explica una mayor proporción de la variabilidad en el precio de la vivienda. Por lo tanto, el Modelo 2 podría considerarse como el mejor modelo entre los evaluados.
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.