1. Considerando la información suministrada en la base de datos de vivienda y filtrando por barrio El ingenio, se muestran los siguientes resultados:

## # A tibble: 202 x 12
##    Zona     piso  Estrato precio_millon Area_contruida parqueaderos Banos
##    <chr>    <chr>   <dbl>         <dbl>          <dbl> <chr>        <dbl>
##  1 Zona Sur 4           5          1450           1200 2                6
##  2 Zona Sur 3           5           290            100 1                3
##  3 Zona Sur 4           5           360             99 1                3
##  4 Zona Sur NA          4           550            197 2                4
##  5 Zona Sur 2           5           410            136 2                4
##  6 Zona Sur 4           5           390            198 1                4
##  7 Zona Sur NA          5           300            147 2                3
##  8 Zona Sur 3           5           250             97 2                2
##  9 Zona Sur 6           5           370            104 2                3
## 10 Zona Sur 3           6          1200            616 7                8
## # ... with 192 more rows, and 5 more variables: Habitaciones <dbl>, Tipo <chr>,
## #   Barrio <chr>, cordenada_longitud <dbl>, Cordenada_latitud <dbl>

2. Modelo de regresión simple

Se presenta la estimación de un modelo de regresión simple cuya variable dependiente será el precio de la vivienda (millón) y la variable independiente área construida (\(m^2\)) para el barrio El Ingenio.

## 
## Call:
## lm(formula = precio_millon ~ Area_contruida, data = basedatos)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -282.09  -61.15   -8.32   45.89  477.33 
## 
## Coefficients:
##                 Estimate Std. Error t value Pr(>|t|)    
## (Intercept)    195.71496   11.63854   16.82   <2e-16 ***
## Area_contruida   1.21159    0.04632   26.16   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 105.2 on 200 degrees of freedom
## Multiple R-squared:  0.7738, Adjusted R-squared:  0.7727 
## F-statistic: 684.2 on 1 and 200 DF,  p-value: < 2.2e-16

El intercepto estimado será solo una constante útil para el ajuste del modelo, dado que no es razonable pensar que el área construida de una vivienda tome el valor de 0.

Por otro lado la estimación de \(\hat\beta_1\)=1.21159 indica que cuando el área de la vivienda tiene un cambio de 1\(m^2\), hay un cambio de 1.21159 millones en el precio de la vivienda.

Podemos observar en el resumen del modelo que el valor p asociado a la prueba de signficancia es igual 0, por lo tanto concluimos que la variable independiente (área construida) es significativa para el modelo. Además tenemos un \(R^2\)=0.7738, es decir, que el modelo explica el 77,38% de la variabilidad de los precios de las viviendas del barrio El Ingenio.

Validación de supuestos

Supuesto de linealidad

Para verificar si hay relación lineal entre las variables, usaremos el diagrama de dispersión y el coeficiente de correlación de Pearson.

## 
##  Pearson's product-moment correlation
## 
## data:  basedatos$precio_millon and basedatos$Area_contruida
## t = 26.157, df = 200, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.8441191 0.9075068
## sample estimates:
##       cor 
## 0.8796618

En la figura anterior notamos que cuando al área construida es menor a 400\(m^2\), los datos parecen tener una tendencia creciente (a medida que aumenta el área aumenta el precio de la vivienda). Además el coeficiente de correlación es igual 0.8796618, que indica que hay una correlación positiva fuerte entre estas dos variables.

Supuesto de independencia

Para verificar este supuesto usaremos la prueba de Durbin-Watson. Donde el estadístico es de 1.923672 con un valor p asociado de 0.6. Por lo tanto, no hay evidencia suficiente para rechazar la hipótesis nula y por lo tanto los residuos son independientes.

## Loading required package: carData
## 
## Attaching package: 'car'
## The following object is masked from 'package:dplyr':
## 
##     recode
##  lag Autocorrelation D-W Statistic p-value
##    1      0.02916275      1.923672   0.558
##  Alternative hypothesis: rho != 0

Supuesto de varianza constante

El gráfico para comprobar la homocedasticidad es el ya conocido de Residuos frente a Valores ajustados.

## 
## Attaching package: 'MASS'
## The following object is masked from 'package:dplyr':
## 
##     select

En el gráfico de los residuos estudentizados contra los valores ajustados, los residuos parecen tener una tendencia decreciente, por lo que se podría considerar que los errores no tienen varianza constante. Para verificar lo anterior, usaremos la prueba de Breusch-Pagan, donde el valor p obtenido es aproximadamente 0, que es menor al nivel de significa = 0.05, por lo tanto hay evidencia suficiente para decir que no se cumple la homocedasticidad en los errores.

## Loading required package: zoo
## 
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
## 
##     as.Date, as.Date.numeric
## 
##  studentized Breusch-Pagan test
## 
## data:  mr
## BP = 46.496, df = 1, p-value = 9.183e-12

Supuesto de normalidad

Para comprobar este supuesto, usaremos la prueba de Kolmogorov-Smirnov, donde se obtiene un estadistico de prueba 0.10619 y un valor p asociado de 0.02101, por lo tanto se rechaza la hipótesis nula y se concluye que los datos no siguen un distribución normal.

## [1]  75 125
## 
##  One-sample Kolmogorov-Smirnov test
## 
## data:  mr$residuals
## D = 0.10619, p-value = 0.02101
## alternative hypothesis: two-sided

Transformación del modelo

Dado que no se cumple el suspuesto de homocedasticidad y normalidad, es necesario realizar una transformacion al modelo. Para esto usaremos el metódo de Box-Cox

l<-boxcox.rm$x[boxcox.rm$y ==max(boxcox.rm$y)]
l
## [1] 0.2012012

Estos resultados arrojan que \(\lambda\)=0.2012012, por lo tanto podemos realizar la siguiente transformacion al modelo:

rm2<-lm(precio_millon^l~Area_contruida, data= basedatos)
summary(rm2)
## 
## Call:
## lm(formula = precio_millon^l ~ Area_contruida, data = basedatos)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.57302 -0.10417 -0.00491  0.09291  0.42248 
## 
## Coefficients:
##                 Estimate Std. Error t value Pr(>|t|)    
## (Intercept)    3.032e+00  1.759e-02  172.31   <2e-16 ***
## Area_contruida 1.556e-03  7.002e-05   22.22   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.1591 on 200 degrees of freedom
## Multiple R-squared:  0.7118, Adjusted R-squared:  0.7103 
## F-statistic: 493.9 on 1 and 200 DF,  p-value: < 2.2e-16

Ahora procedemos a hacer el análisis de los residuos del modelo transformado:

## [1]  1 20
## 
##  One-sample Kolmogorov-Smirnov test
## 
## data:  rm2$residuals
## D = 0.042428, p-value = 0.8603
## alternative hypothesis: two-sided
## 
##  studentized Breusch-Pagan test
## 
## data:  rm2
## BP = 35.776, df = 1, p-value = 2.214e-09

Podemos observar que pese a realizar la transformación de box cox en el modelo, no se corrigió la heterocedasticidad, por el contrario a través de la prueba de normalidad de Kolmogorov-Smirnov, pudimos encontrar que la normalidad se corrigió, ya que el valor p asociado a dicha prueba es mayor al nivel de significancia 0.05, por lo tanto no se rechaza la hipótesis nula. A pesar de la transformación propuesta uno de los supuestos no se cumple, por lo tanto las estimaciones de precio de vivienda que se realicen con este modelo no serian confiables.

Modelo de regresión categórica

Se presenta la estimación de un modelo de regresión multiple cuya variable dependiente será el precio de la vivienda (millón) y las variables independiente serán área construida y tipo de vivienda (\(m^2\)).

Teniendo como base tipo Casa, la variable Tipo de vivienda se define como sigue:

{ \[\begin{array}{lcc} 1 & si & Casa \\ \\ 0 & si & Apartamento \end{array}\]

\

Tipo<-as.factor(basedatos$Tipo)
mc<-lm(precio_millon~Area_contruida + Tipo, data= basedatos)
summary(mc)
## 
## Call:
## lm(formula = precio_millon ~ Area_contruida + Tipo, data = basedatos)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -277.45  -48.20   -9.33   53.92  491.45 
## 
## Coefficients:
##                 Estimate Std. Error t value Pr(>|t|)    
## (Intercept)    196.11964   10.91567  17.967  < 2e-16 ***
## Area_contruida   1.02197    0.05616  18.196  < 2e-16 ***
## TipoCasa        99.24986   18.63125   5.327 2.69e-07 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 98.68 on 199 degrees of freedom
## Multiple R-squared:  0.802,  Adjusted R-squared:    0.8 
## F-statistic: 403.1 on 2 and 199 DF,  p-value: < 2.2e-16

Como se dijo anteriormente el intercepto se entiende unicamente como una constante útil para el ajuste del modelo cuya estimación es \(\hat\beta_0\)=196.11964.

De las pruebas individuales t, podemos concluir que área construida y tipo tienen un aporte significativo para el modelo (los valores p asociados son apróximadamente cero lo que nos lleva a rechazar la afirmación en la que se planteaba que las variables no contribuyen al modelo significativamente). Se obtuvo que el coeficiente de determinación \(R^2\)=0.802, así que puede afirmarse que el 80,2 % de la variabilidad de los precios de las viviendas es explicada por las variables área construida y tipo. Adicionalmente, podemos observar que por cada metro cuadrado construido el precio de la vivienda aumenta en 1.02197 millones. Cuando la vivienda es de tipo Casa, el precio aumenta en 99.24986 millones.

Validación de supuestos

Procedemos a hacer la verificación de los supuestos ya que el no cumplimiento de ellos repercute negativamente en la utilidad del modelo al momento de hacer estimaciones y pérdida de propiedades importantes.

Supuesto de independencia

##  lag Autocorrelation D-W Statistic p-value
##    1      0.01611636      1.965013   0.742
##  Alternative hypothesis: rho != 0

Supuesto de varianza constante

## 
##  studentized Breusch-Pagan test
## 
## data:  mc
## BP = 38.517, df = 2, p-value = 4.326e-09

Supuesto de normalidad

## [1]  75 125
## 
##  One-sample Kolmogorov-Smirnov test
## 
## data:  mc$residuals
## D = 0.085829, p-value = 0.102
## alternative hypothesis: two-sided

Con los resultados anteriores, se obtuvo que el supuesto de varianza constante no se cumple, por lo tanto las estimaciones que se hagan con el modelo de regresión categórica para el precio de la vivienda no serán sensatas.

Transformación del modelo de regresión categórica

Dado que no se cumple el suspuesto de homoscedasticidad, se realiza una transformacion al modelo el cual será el metódo de Box-Cox

l2<-boxcox.rm2$x[boxcox.rm2$y ==max(boxcox.rm2$y)]
l2
## [1] 0.05705706

Donde se tiene que \(\lambda\)=0.05705706, así que procedemos a realizar la siguiente transformacion al modelo:

mc2<-lm(precio_millon^l2~Area_contruida+Tipo, data= basedatos)
summary(mc2)
## 
## Call:
## lm(formula = precio_millon^l2 ~ Area_contruida + Tipo, data = basedatos)
## 
## Residuals:
##       Min        1Q    Median        3Q       Max 
## -0.041480 -0.009646 -0.001321  0.013033  0.049516 
## 
## Coefficients:
##                 Estimate Std. Error t value Pr(>|t|)    
## (Intercept)    1.371e+00  1.833e-03 748.262  < 2e-16 ***
## Area_contruida 1.300e-04  9.429e-06  13.789  < 2e-16 ***
## TipoCasa       2.581e-02  3.128e-03   8.253  2.1e-14 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.01657 on 199 degrees of freedom
## Multiple R-squared:  0.7717, Adjusted R-squared:  0.7694 
## F-statistic: 336.4 on 2 and 199 DF,  p-value: < 2.2e-16

Ahora procedemos a hacer el análisis de los residuos del modelo transformado:

## [1]  1 97
## 
##  One-sample Kolmogorov-Smirnov test
## 
## data:  mc2$residuals
## D = 0.051787, p-value = 0.6507
## alternative hypothesis: two-sided
## 
##  studentized Breusch-Pagan test
## 
## data:  mc2
## BP = 9.917, df = 2, p-value = 0.007023

Realizando la transformación de Box Cox, el supuesto de varianza constante no se cumple. Por lo tanto el modelo transformado no es útil para estimar el precio de las viviendas.

ANOVA para comparación de modelos.

Los resultados de la prueba t sobre la variable tipo obtenidos en el resumen del modelo categórico,nos arroja que dicha variable es significativa para el modelo (valor p<0.05). Para comprobar el resultado anterior, usaremos el ANOVA, cuya hipótesis son:

\(H_o\):\(b2=0\)

\(H_1\):\(b2\neq0\)

anova(mr,mc)
## Analysis of Variance Table
## 
## Model 1: precio_millon ~ Area_contruida
## Model 2: precio_millon ~ Area_contruida + Tipo
##   Res.Df     RSS Df Sum of Sq      F    Pr(>F)    
## 1    200 2214303                                  
## 2    199 1937949  1    276354 28.378 2.687e-07 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Donde se obtiene un estadistico de prueba de 28.378 con un valor p asociado igual a 0, por lo tanto se rechaza la hipótesis nula, es decir que la variable tipo es significativa para el modelo y no debe ser retirada.

2. Regresión cuadrática

Para llevar a cabo este modelo de regresión, realizaremos la transformación sugerida a la variable edad, obteniendo lo siguiente:

##   datos.V1 datos.V2      edad
## 1      106       43 -16.98333
## 2      106       41 -18.98333
## 3       97       47 -12.98333
## 4      113       46 -13.98333
## 5       96       45 -14.98333
## 6      119       41 -18.98333
## 
## Call:
## lm(formula = datos.V1 ~ poly(edad, 2, raw = TRUE), data = datos)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -15.086  -6.154  -1.088   6.220  20.578 
## 
## Coefficients:
##                             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)                82.935749   1.543146  53.745   <2e-16 ***
## poly(edad, 2, raw = TRUE)1 -1.183958   0.088633 -13.358   <2e-16 ***
## poly(edad, 2, raw = TRUE)2  0.014840   0.008357   1.776   0.0811 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 8.026 on 57 degrees of freedom
## Multiple R-squared:  0.7632, Adjusted R-squared:  0.7549 
## F-statistic: 91.84 on 2 and 57 DF,  p-value: < 2.2e-16

El modelo explica el 76,32% de la variabilidad de los datos de masa. Por otro lado, en el grafico de dispersión observamos que los datos no siguen una forma cuadrática, por lo que podriamos pensar que una regresión cuadratica no sería idonea.

Interpretación de los parámetros del modelo

En el modelo de regresión cuadrática, obtuvimos un \(\hat\beta_1\)=-1.183958, es decir que por una unidad (año) que aumenta en la variable edad, la masa de la persona disminuye 1.183958.

Prueba de hipótesis

Los resultados de la prueba t sobre la variable al cuadrado obtenidos en el resumen del modelo, nos indican que se acepta la hipótesis nula, es decir, que el término cuadrático no tiene un aporte signficativo en el modelo. Sin embargo este resultado no es suficiente para decidir si se elimina dicha variable dado que las pruebas t son individuales. Para determinar si el termino cuadrático se debe eliminar o no del modelo, usaremos el ANOVA, cuya hipótesis son:

\(H_o\):\(b11=0\)

\(H_1\):\(b11\neq0\)

Para esto, es necesario establecer el modelo reducido, que será el siguiente:

ms<-lm(datos.V1~edad, data = datos)
anova(ms,mca)
## Analysis of Variance Table
## 
## Model 1: datos.V1 ~ edad
## Model 2: datos.V1 ~ poly(edad, 2, raw = TRUE)
##   Res.Df    RSS Df Sum of Sq      F  Pr(>F)  
## 1     58 3874.4                              
## 2     57 3671.3  1    203.13 3.1538 0.08109 .
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

En el resultado anterior, observamos que no hay evidencia suficiente para rechazar la hipótesis nula (F=3.1538, valor p>0.05) es decir que se retira el termino cuadratico del modelo puesto que no aporta significativamente al mismo.

Multicolinealidad

## corrplot 0.84 loaded

Donde sedad es la variable edad sin transformar y sedad2 es dicha variable al cuadrado. Mientras que edad es la variable transformada y edad2 es esta variable al cuadrado.

A través de la matriz de correlación, donde tenemos las variables transformadas y sin transformar, podemos ver que las variables sedad y sedad2 presentan un correlacion perfecta (R=1), mientras que las variables edad y edad2 no presentan relación entre ellas (R=0), es decir que al aplicar la transformación sugerida se corrige la multicolinealidad.