Regresión Lineal Simple

Datos cuantitativos

En la regresión simple (mod1), me dice que el precio de la vivienda se incrementa casi $1.600.000 por cada mts2 adicional de área construida.

library(readxl)
Datos_Vivienda <- read_excel("/Users/sofiaartunduaga/Desktop/Econometría/Datos_Vivienda.xlsx")
#Estimamos modelo de regresión simple
mod1=lm(precio_millon~Area_contruida, data=Datos_Vivienda)
summary (mod1)
## 
## Call:
## lm(formula = precio_millon ~ Area_contruida, data = Datos_Vivienda)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -2659.88  -120.78   -47.55    67.27  1330.10 
## 
## Coefficients:
##                 Estimate Std. Error t value Pr(>|t|)    
## (Intercept)    157.47636    4.13640   38.07   <2e-16 ***
## Area_contruida   1.58018    0.01831   86.30   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 238.7 on 8317 degrees of freedom
## Multiple R-squared:  0.4725, Adjusted R-squared:  0.4724 
## F-statistic:  7448 on 1 and 8317 DF,  p-value: < 2.2e-16

Variable Dummy o cualitativa

Pero si cambiamos la regresión con una variable cualitativa, como por ejemplo zona. Aparecen todas las zonas? Si hacemos un tabla cuantas zonas deberian aparecer?

table(Datos_Vivienda$Zona)
## 
##  Zona Centro   Zona Norte   Zona Oeste Zona Oriente     Zona Sur 
##          124         1920         1198          351         4726

Se estima un modelo 2 con variable dummy

El modelo 2 estima el precio promedio de la vivienda en función de la zona geográfica, comparando cada zona con una zona de referencia (categoría base:la que no se muestra en la salida de R).

mod2=lm(precio_millon~Zona, data = Datos_Vivienda)
summary (mod2)
## 
## Call:
## lm(formula = precio_millon ~ Zona, data = Datos_Vivienda)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -592.58 -200.61  -85.61   93.48 1594.39 
## 
## Coefficients:
##                  Estimate Std. Error t value Pr(>|t|)    
## (Intercept)        309.69      27.78  11.149  < 2e-16 ***
## ZonaZona Norte      35.91      28.66   1.253    0.210    
## ZonaZona Oeste     367.89      29.18  12.608  < 2e-16 ***
## ZonaZona Oriente   -81.16      32.31  -2.512    0.012 *  
## ZonaZona Sur       116.82      28.14   4.152 3.33e-05 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 309.3 on 8314 degrees of freedom
## Multiple R-squared:  0.1147, Adjusted R-squared:  0.1143 
## F-statistic: 269.3 on 4 and 8314 DF,  p-value: < 2.2e-16

Interpretación

Los coeficientes que aparecen son diferencias respecto a esa zona base (centro).

Intercepto (309.69): Es el precio promedio de las viviendas ofertadas en la zona centro de Cali.

Zona Norte: En promedio, las viviendas cuestan 35.91 millones más que en la zona centro, pero no es estadísticamente significativo.

Zona Oeste: En promedio, cuestan 367.89 millones más que en la zona base, y es altamente significativo.

Zona Oriente: Cuestan 81.16 millones menos que en la zona base, y esta diferencia es significativa (p = 0.012).

Zona Sur: Cuestan 116.82 millones más que la zona base, también muy significativo.

R² = 0.1147, R² ajustado = 0.1143: El modelo explica alrededor del 11.5% de la variación del precio. Es un nivel bajo, lo que sugiere que la variable Zona por sí sola no es suficiente para explicar el precio.

Cambio de base o referencia

Si yo quiero cambiar de base, por ejemplo no zona centro si no zona sur. Habría que hacer adaptación a la categoria base:

#Aquí se debe colocar en primer lugar la zona que quiero sea mi base o referencia, en este caso zona sur
Datos_Vivienda$Zona2=factor(Datos_Vivienda$Zona,levels = c("Zona Sur","Zona Norte","Zona Centro","Zona Oeste","Zona Oriente"))

#Se estimad un modelo 3 con ese cambio de base
mod3=lm(precio_millon~Zona2,data=Datos_Vivienda)
summary (mod3)
## 
## Call:
## lm(formula = precio_millon ~ Zona2, data = Datos_Vivienda)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -592.58 -200.61  -85.61   93.48 1594.39 
## 
## Coefficients:
##                   Estimate Std. Error t value Pr(>|t|)    
## (Intercept)        426.518      4.499  94.795  < 2e-16 ***
## Zona2Zona Norte    -80.910      8.371  -9.665  < 2e-16 ***
## Zona2Zona Centro  -116.825     28.139  -4.152 3.33e-05 ***
## Zona2Zona Oeste    251.062     10.005  25.093  < 2e-16 ***
## Zona2Zona Oriente -197.988     17.112 -11.570  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 309.3 on 8314 degrees of freedom
## Multiple R-squared:  0.1147, Adjusted R-squared:  0.1143 
## F-statistic: 269.3 on 4 and 8314 DF,  p-value: < 2.2e-16

Interpretación del modelo 3

El intercepto 426.518 nos dice que una casa promedio en la Zona Sur de Cali cuesta aproximadamente 426.5 millones de pesos. Este es nuestro punto de partida porque en este modelo elegimos la Zona Sur como nuestra referencia o “base”.

Cada coeficiente nos muestra cuánto más barata o más cara es una vivienda en cada zona comparada con la Zona Sur:

Zona Norte: El coeficiente es -80.910, lo que significa que una casa en la Zona Norte cuesta en promedio 80.9 millones menos que una en la Zona Sur. Por lo tanto, una casa típica en la Zona Norte costaría aproximadamente 345.6 millones (426.5 - 80.9). Zona Centro: Con un coeficiente de -116.825, las casas aquí cuestan en promedio 116.8 millones menos que en el Sur. Así, una casa típica en el Centro valdría unos 309.7 millones (426.5 - 116.8). Zona Oeste: ¡Esta es interesante! El coeficiente es +251.062, lo que indica que las casas en la Zona Oeste son más caras que en el Sur, específicamente 251.1 millones más. Por lo tanto, una casa típica en el Oeste costaría alrededor de 677.6 millones (426.5 + 251.1). Zona Oriente: Con un coeficiente de -197.988, las viviendas en esta zona son las más económicas, costando casi 198 millones menos que en el Sur. Una casa típica en el Oriente valdría aproximadamente 228.5 millones (426.5 - 198).

Observando los p-valores (todos son menores a 0.05 e incluso la mayoría son menores a 0.001), podemos decir que estas diferencias son estadísticamente significativas. Esto significa que no son producto del azar sino que reflejan diferencias reales en el mercado inmobiliario de Cali.

¿Qué tan bueno es nuestro modelo? El R-cuadrado es 0.1147, lo que significa que nuestro modelo solo explica aproximadamente el 11.5% de las diferencias en los precios de las viviendas. Esto nos dice que:

La zona donde está ubicada una casa definitivamente influye en su precio. Pero hay muchos otros factores importantes que no estamos considerando, como el tamaño de la vivienda, el número de habitaciones, la antigüedad, los acabados, etc.

Realicé un cambio de base

Datos_Vivienda$Zona3A=factor(Datos_Vivienda$Zona,levels = c("Zona Oeste","Zona Norte","Zona Centro","Zona Sur","Zona Oriente"))

#Se estimad un modelo 3 con ese cambio de base
mod3A=lm(precio_millon~Zona3A,data=Datos_Vivienda)
summary (mod3A)
## 
## Call:
## lm(formula = precio_millon ~ Zona3A, data = Datos_Vivienda)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -592.58 -200.61  -85.61   93.48 1594.39 
## 
## Coefficients:
##                    Estimate Std. Error t value Pr(>|t|)    
## (Intercept)         677.580      8.937   75.82   <2e-16 ***
## Zona3AZona Norte   -331.972     11.388  -29.15   <2e-16 ***
## Zona3AZona Centro  -367.887     29.179  -12.61   <2e-16 ***
## Zona3AZona Sur     -251.062     10.005  -25.09   <2e-16 ***
## Zona3AZona Oriente -449.050     18.773  -23.92   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 309.3 on 8314 degrees of freedom
## Multiple R-squared:  0.1147, Adjusted R-squared:  0.1143 
## F-statistic: 269.3 on 4 and 8314 DF,  p-value: < 2.2e-16

Intrepretación del nuevo modelo

El intercepto 677.580 nos indica que una vivienda promedio en la Zona Oeste de Cali cuesta aproximadamente 677.6 millones de pesos. Ahora, esta es nuestra nueva referencia o punto de comparación para las demás zonas.

(Cada coeficiente muestra cuánto más barata es una vivienda en cada zona comparada con la Zona Oeste:)

Zona Norte: El coeficiente es -331.972, lo que significa que una casa en la Zona Norte cuesta en promedio 332 millones menos que una en la Zona Oeste. Por lo tanto, una casa típica en la Zona Norte costaría aproximadamente 345.6 millones (677.6 - 332). Zona Centro: Con un coeficiente de -367.887, las casas aquí cuestan en promedio 367.9 millones menos que en el Oeste. Así, una casa típica en el Centro valdría unos 309.7 millones (677.6 - 367.9). Zona Sur: El coeficiente es -251.062, lo que significa que las casas en la Zona Sur son 251.1 millones más baratas que en la Zona Oeste. Una casa típica en el Sur costaría alrededor de 426.5 millones (677.6 - 251.1). Zona Oriente: Con un coeficiente de -449.050, las viviendas en esta zona son las más económicas, costando 449.1 millones menos que en el Oeste. Una casa típica en el Oriente valdría aproximadamente 228.5 millones (677.6 - 449.1).

Todos los p-valores son extremadamente pequeños (< 2e-16), lo que nos indica que todas estas diferencias son altamente significativas desde el punto de vista estadístico. Esto confirma que realmente existen diferencias importantes en los precios entre la Zona Oeste y las demás zonas.

¿Qué tan bueno es nuestro modelo?

El R-cuadrado sigue siendo 0.1147, con un R-cuadrado ajustado de 0.1143. Esto significa que aproximadamente el 11.5% de la variación en los precios de las viviendas se explica por la zona en la que están ubicadas. Este valor no cambió respecto al modelo anterior porque estamos usando las mismas variables, solo cambiamos la categoría de referencia.

Modelo de Regresión Lineal Múltiple

Efecto interacción: cuantitativas y cualitativas

Este modelo no tiene efectos principales por separado, solo interacciones. Eso significa que:

El efecto del área construida sobre el precio depende completamente de la zona.

Cada zona tiene su propia pendiente (su propio efecto del área construida sobre el precio).

El intercepto (153.06) no tiene una interpretación directa porque no hay efecto principal de zona ni de área construida.

mod4=lm(precio_millon~Zona:Area_contruida,data = Datos_Vivienda)
summary (mod4)
## 
## Call:
## lm(formula = precio_millon ~ Zona:Area_contruida, data = Datos_Vivienda)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -1975.44  -100.02   -36.59    59.20  1231.75 
## 
## Coefficients:
##                                  Estimate Std. Error t value Pr(>|t|)    
## (Intercept)                     153.06019    3.66977  41.708  < 2e-16 ***
## ZonaZona Centro:Area_contruida    0.82955    0.08644   9.597  < 2e-16 ***
## ZonaZona Norte:Area_contruida     1.22910    0.02630  46.736  < 2e-16 ***
## ZonaZona Oeste:Area_contruida     2.51865    0.02963  85.009  < 2e-16 ***
## ZonaZona Oriente:Area_contruida   0.36841    0.04686   7.862 4.26e-15 ***
## ZonaZona Sur:Area_contruida       1.60997    0.01817  88.597  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 211.4 on 8313 degrees of freedom
## Multiple R-squared:  0.5865, Adjusted R-squared:  0.5862 
## F-statistic:  2358 on 5 and 8313 DF,  p-value: < 2.2e-16

NOTA Cada coeficiente representa cuánto aumenta el precio (en millones) por cada m² adicional, dependiendo de la zona:

Ejemplo: En la Zona Oeste, cada metro cuadrado adicional aumenta el precio en 2.52 millones de pesos. En cambio, en la Zona Oriente, el mismo aumento solo incrementa el precio en 0.37 millones.

Evaluación del modelo

R² = 0.5865: El modelo explica aproximadamente el 58.6% de la variabilidad en el precio, lo cual es muy aceptable.

p-value < 2.2e-16: El modelo es estadísticamente significativo

Conclusión: Este modelo muestra que el impacto del área construida en el precio varía mucho según la zona. Por ejemplo, ampliar un apartamento en la Zona Oeste genera mucho más valor que hacerlo en la Zona Oriente.

Validación de supuestos

par(mfrow=c(2,2))
plot(mod4)

1. Residuos vs Ajustados (arriba izquierda) ¿Qué busca?: Ver si los errores (residuos) están distribuidos aleatoriamente.

Hay una ligera curvatura, especialmente con valores altos ajustados, lo que sugiere cierta no linealidad o algún efecto no capturado por el modelo. También hay más dispersión de los residuos para valores ajustados altos → posible heterocedasticidad (varianza no constante).

2. Q-Q Plot (arriba derecha) ¿Qué busca?: Ver si los residuos siguen una distribución normal.

Hay desviaciones marcadas en las colas (residuos extremos), lo que indica que los residuos no son perfectamente normales. Sin embargo, para la mayoría de los datos, la normalidad es razonable.

3. Scale-Location (abajo izquierda) ¿Qué busca?: Comprobar si la varianza de los residuos es constante (homocedasticidad).

La línea roja sube al final, lo cual sugiere que la varianza de los errores aumenta con el valor ajustado → otra señal de heterocedasticidad.

4. Residuos vs Leverage (abajo derecha) ¿Qué busca?: Detectar observaciones influyentes (outliers con alto impacto).

Hay pocos puntos con valores altos de leverage (como la observación 3324), pero ninguno parece estar más allá del umbral crítico (cooking distance > 1), por lo que no hay influencia extrema aparente, aunque vale la pena revisar esos puntos.

Conclusión general

El modelo parece razonable en general, perO Podría beneficiarse de transformar alguna variable (como log del área). Tiene indicios de heterocedasticidad y no normalidad en los residuos extremos. Algunas observaciones tienen alta influencia y deben revisarse más a fondo.

Transformación de modelo

mod5=lm(precio_millon~log(Area_contruida),data = Datos_Vivienda)
summary (mod5)
## 
## Call:
## lm(formula = precio_millon ~ log(Area_contruida), data = Datos_Vivienda)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -1094.39  -115.52    -1.52    64.52  1234.98 
## 
## Coefficients:
##                     Estimate Std. Error t value Pr(>|t|)    
## (Intercept)         -1339.30      18.38  -72.87   <2e-16 ***
## log(Area_contruida)   360.20       3.70   97.35   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 224.7 on 8317 degrees of freedom
## Multiple R-squared:  0.5326, Adjusted R-squared:  0.5326 
## F-statistic:  9478 on 1 and 8317 DF,  p-value: < 2.2e-16

Interpretación log(Área_contruida) tiene un coeficiente de 360.20: Esto significa que por cada 1% de aumento en el área construida, el precio estimado aumenta en aproximadamente 3.6 millones de pesos.

¿Por qué? Un aumento del 1% en el área se aproxima a un cambio de log(1.01) ≈ 0.00995, y 360.2 × 0.00995 ≈ 3.58.

En resumen:

Un incremento del 10% en el área construida está asociado con un aumento en el precio de aproximadamente 36 millones.

El precio de la vivienda crece de forma proporcional al tamaño: si duplicas el área construida, el precio no se duplica, pero aumenta en 360.2 × log(2) ≈ 250 millones. Esta transformación suaviza las diferencias extremas entre viviendas grandes y pequeñas, y capta mejor la relación no lineal entre tamaño y precio.

mod6=lm(log(precio_millon)~(Area_contruida),data = Datos_Vivienda)
summary (mod6)
## 
## Call:
## lm(formula = log(precio_millon) ~ (Area_contruida), data = Datos_Vivienda)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -5.2620 -0.3400 -0.0083  0.3191  1.4653 
## 
## Coefficients:
##                 Estimate Std. Error t value Pr(>|t|)    
## (Intercept)    5.287e+00  8.571e-03  616.91   <2e-16 ***
## Area_contruida 3.161e-03  3.794e-05   83.32   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.4947 on 8317 degrees of freedom
## Multiple R-squared:  0.4549, Adjusted R-squared:  0.4549 
## F-statistic:  6942 on 1 and 8317 DF,  p-value: < 2.2e-16

Intrepretación modelo 6

se utilizó el logaritmo natural del precio como variable dependiente y el área construida en su forma original. Esta transformación permite interpretar el coeficiente de forma porcentual, lo que facilita su aplicación en contextos económicos. El coeficiente estimado para el área construida fue de 0.0316, lo que implica que por cada metro cuadrado adicional, el precio de la vivienda aumenta en promedio un 3.16%. Este resultado es estadísticamente significativo (p < 0.001) y confirma una relación positiva y directa entre el tamaño del inmueble y su valor de mercado.

En cuanto a la capacidad explicativa del modelo, el R-cuadrado ajustado fue de 0.4549, lo que indica que aproximadamente el 45.5% de la variación en el logaritmo del precio puede ser explicada solo por el área construida. Aunque el intercepto del modelo (5.287) no tiene una interpretación práctica, ya que implicaría un área construida de cero, el modelo en general demuestra que el tamaño del inmueble tiene una influencia relevante en su precio. Lo que quiere decir que, dentro del contexto analizado, el área construida es un determinante más fuerte del valor de la vivienda que otras variables como la ubicación.