## # A tibble: 26 x 2
## Area_construida precio_millon
## <dbl> <dbl>
## 1 86 250
## 2 118 385
## 3 130 395
## 4 181 419
## 5 86 240
## 6 98 320
## 7 170 480
## 8 96 268
## 9 85 240
## 10 170 450
## # ... with 16 more rows
Realice un análisis exploratorio de las variables precio de vivienda (millones de pesos COP) y area de la vivienda (metros cuadrados) - incluir graficos e indicadores apropiados interpretados.
Revisando las información para la variable Area construida se obtiene la siguiente información:
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 80.0 86.0 97.0 115.7 130.0 195.0
Revisando las información para la variable precio por millon se obtiene la siguiente información:
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 240.0 251.2 305.0 332.1 395.0 480.0
En los diagramas inferiores se puede observar el comportamiento de la variable preció por millón y área construida; en ella se puede observar en su mayoría, que los datos se encuentran altamente dispersos.
En el histograma de cada una de las variables es difícil observar algún tipo de comportamiento normal, no es fácil identificar un valor medio centrado, el diagrama de cajas y bigotes muestra claramente la asimetría de la distribución de los datos para ambas variables. Sin embargo, no se presenta datos a típicos en ninguna de las dos variables.
Por otra parte, los diagramas de normalidad, (los dos mostrados en las figuras inferiores) muestran con claridad que la distribución de los datos, no se acera ni aproxima en absoluto a una distribución normal, especialmente para la variable precio por millón tiene en sus extremos una clara discrepancia con la distribución normal. Para la variable Área construida no hay ni siquiera una región pequeña de los datos que pueda acercarse a una distribución normal.
Realice un análisis exploratorio bivariado de datos enfocado en la relación entre la variable respuesta (y=precio) en función de la variable predictora (x=area) - incluir graficos e indicadores apropiados interpretados.
Para realizar el análisis bivariado se realiza un gráfico de dispersión de puntos donde se observa una tendencia “lineal” de los datos.
Estime el modelo de regresión lineal simple entre \(precio = f(area) +e\). Interprete los coeficientes del modelo \(\beta_0\), \(\beta_1\) en caso de ser correcto.
Usando los datos del gráfico de dispersión obtenido en el punto anterior, se realiza el ajuste lineal, obteniéndose los siguientes resultados:
##
## Call:
## lm(formula = datos$precio_millon ~ datos$Area_construida)
##
## Coefficients:
## (Intercept) datos$Area_construida
## 86.234 2.124
La ecuación conseguida en el ajuste se define como:
\[precio= \beta_0 + \beta_1 (area \,\, construida) \]
\[precio= 86.234 + 2.124 \cdot (area \,\, construida)\] A continuación se puede observar el resumen del modelo de regresión; para el coeficiente \(\beta_{1}\) se puede observar que el error estándar es bastante bajo y el p de valor es bastante bueno.
##
## Call:
## lm(formula = datos$precio_millon ~ datos$Area_construida)
##
## Residuals:
## Min 1Q Median 3Q Max
## -51.673 -25.612 -6.085 24.875 67.650
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 86.234 22.479 3.836 0.000796 ***
## datos$Area_construida 2.124 0.186 11.422 3.45e-11 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 33.05 on 24 degrees of freedom
## Multiple R-squared: 0.8446, Adjusted R-squared: 0.8381
## F-statistic: 130.5 on 1 and 24 DF, p-value: 3.45e-11
De igual manera se observa un \(R^{2}=0.8381\) garantizando que un buen porcentaje de los datos se acomodan al modelo lineal construido en las secciones anteriores.
Construir un intervalo de confianza (95%) para el coeficiente \(\beta_{1}\), interpretar y concluir si el coeficiente es igual a cero o no. Compare este resultado con una prueba de hipotesis t.
Para obtener los intervalos de confianza podemos recurrir a dos mecanismos:
En este se observa que el modelo lineal es bastante acorde 83% y un 96% de los datos analizados y modelados.
##
## Pearson's product-moment correlation
##
## data: datos$Area_construida and datos$precio_millon
## t = 11.422, df = 24, p-value = 3.45e-11
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## 0.8255707 0.9634168
## sample estimates:
## cor
## 0.9190295
Mientras que por esta técnica es factible ver que en un 95% de confianza el valor de \(\beta_{1}\) se encuentra entre:
\[1.74<\beta_{1}<2.51\]
## 2.5 % 97.5 %
## datos$Area_construida 1.74017 2.507771
Calcule e interprete el indicador de bondad y ajuste \(R_{2}\).
Al calcular el indicador de ajuste solicitado se puede observar con claridad que se obtiene:
## [1] 0.8381408
Lo que indica que el 84% de los datos se ajustan satisfactoriamente al modelo lineal obtenido.
¿Cuál sería el precio promedio estimado para un apartamento de 110 metros cuadrados?
Para estimar este valor, recurrimos a la ecuación obtenida con anterioridad:
\[precio= 86.234 + 2.124 \cdot (area \,\, construida)\] y reemplazar el area cuadrada por 110 \(m^{2}\)
\[precio= 86.234 + 2.124 \cdot (110)\] Consiguiendo un resultado de:
## [1] 319.874
Millones. A continuación hay algunos otros valores predichos por el modelo.
¿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 buena oferta?
Desde luego, si nos centramos específicamente en el valor predicho por el modelo, conseguir un apartamento en ese precio sería una excelente oferta ya que el costo por metro cuadrado está en dos millones ciento veinticuatro mil pesos.
¿Qué consideraciones adicionales se deben tener? Puede ser necesario revisar el modelo por zonas, en este caso no tenemos información de la ubicación de los apartamentos en la base de datos, adicionalmente revisar algunas otras variales que aquí no se estan estudiando. Por ejemplo, estrato social, ubicación geografica, tipo de apartamento, entre otras.
Realice la validación de supuestos del modelo por medio de graficos apropiados, interpretarlos y sugerir posibles soluciones si se violan algunos de ellos.
Para realizar una validación del modelo, podemos usar la función predict() que faillita obtener los siguiente sdatos.
## fit lwr upr
## 1 268.8953 251.3090 286.4817
## 2 336.8624 323.4578 350.2670
## 3 362.3500 347.8981 376.8020
## 4 470.6725 442.2798 499.0653
## 5 268.8953 251.3090 286.4817
## 6 294.3830 279.3720 309.3939
## 7 447.3089 422.5600 472.0577
## 8 290.1350 274.7606 305.5095
## 9 266.7714 248.9334 284.6093
## 10 447.3089 422.5600 472.0577
## 11 271.0193 253.6796 288.3590
## 12 337.7545 324.3385 351.1704
## 13 268.8953 251.3090 286.4817
## 14 266.7714 248.9334 284.6093
## 15 290.1350 274.7606 305.5095
## 16 268.8953 251.3090 286.4817
## 17 268.8953 251.3090 286.4817
## 18 362.3500 347.8981 376.8020
## 19 370.8459 355.7458 385.9460
## 20 256.1515 236.9900 275.3131
## 21 362.3500 347.8981 376.8020
## 22 271.0193 253.6796 288.3590
## 23 362.3500 347.8981 376.8020
## 24 275.2672 258.4056 292.1289
## 25 500.4081 467.1793 533.6369
## 26 447.3089 422.5600 472.0577
Adicionalmente se puede revisar el comportamiento de las predicción y de los residuos.
## # A tibble: 6 x 4
## Area_construida precio_millon prediccion residuos
## <dbl> <dbl> <dbl> <dbl>
## 1 86 250 269. -18.9
## 2 118 385 337. 48.1
## 3 130 395 362. 32.6
## 4 181 419 471. -51.7
## 5 86 240 269. -28.9
## 6 98 320 294. 25.6
En este ultimo grafico de los residuos conseguidos, no se observa ningun patron, todos los datos estan totalmente dispersos. Ello muestra consecutivamente que el modelo puede ser una buena representación del comportamiento de los datos.
De ser necesario realice una transformación apropiada para mejorar el ajuste y supuestos del modelo.
De ser necesario compare el ajuste y supuestos del modelo inicial y el transformado.
Por la tendencia de los datos, se pudiese pensar que un ajuste de tipo logaritmico pudiese linealizar una poco mas los datos. O incluso un ajuste polinomial.
Realizamos aquí este par de transformaciones:
## precio log_area
## 1 250 1.934498
## 2 385 2.071882
## 3 395 2.113943
## 4 419 2.257679
## 5 240 1.934498
## 6 320 1.991226
## 7 480 2.230449
## 8 268 1.982271
## 9 240 1.929419
## 10 450 2.230449
## 11 240 1.939519
## 12 385 2.073425
## 13 290 1.934498
## 14 240 1.929419
## 15 272 1.982271
## 16 250 1.934498
## 17 250 1.934498
## 18 395 2.113943
## 19 385 2.127105
## 20 255 1.903090
## 21 430 2.113943
## 22 260 1.939519
## 23 385 2.113943
## 24 290 1.949390
## 25 450 2.290035
## 26 410 2.230449
##
## Call:
## lm(formula = datoslog$precio ~ datoslog$log_area)
##
## Coefficients:
## (Intercept) datoslog$log_area
## -948.5 626.0
De donde la ecuación de ajuste para el modelo seria:
\[precio= -948.5 + 626.0 \cdot \log[area \,\, construida]\] Con lo cual se puede determinar una predicción de los resultados junto con los datos:
## datos.precio_millon datos.Area_construida prediccion1
## 1 250 86.00 1839.921
## 2 385 118.00 2037.949
## 3 395 130.00 2098.577
## 4 419 181.00 2305.759
## 5 240 86.00 1839.921
## 6 320 98.00 1921.690
## 7 480 170.00 2266.510
## 8 268 96.00 1908.782
## 9 240 85.00 1832.600
## 10 450 170.00 2266.510
## 11 240 87.00 1847.158
## 12 385 118.42 2040.173
## 13 290 86.00 1839.921
## 14 240 85.00 1832.600
## 15 272 96.00 1908.782
## 16 250 86.00 1839.921
## 17 250 86.00 1839.921
## 18 395 130.00 2098.577
## 19 385 134.00 2117.548
## 20 255 80.00 1794.649
## 21 430 130.00 2098.577
## 22 260 87.00 1847.158
## 23 385 130.00 2098.577
## 24 290 89.00 1861.386
## 25 450 195.00 2352.398
## 26 410 170.00 2266.510
## log_precio log_area
## 1 2.397940 1.934498
## 2 2.585461 2.071882
## 3 2.596597 2.113943
## 4 2.622214 2.257679
## 5 2.380211 1.934498
## 6 2.505150 1.991226
## 7 2.681241 2.230449
## 8 2.428135 1.982271
## 9 2.380211 1.929419
## 10 2.653213 2.230449
## 11 2.380211 1.939519
## 12 2.585461 2.073425
## 13 2.462398 1.934498
## 14 2.380211 1.929419
## 15 2.434569 1.982271
## 16 2.397940 1.934498
## 17 2.397940 1.934498
## 18 2.596597 2.113943
## 19 2.585461 2.127105
## 20 2.406540 1.903090
## 21 2.633468 2.113943
## 22 2.414973 1.939519
## 23 2.585461 2.113943
## 24 2.462398 1.949390
## 25 2.653213 2.290035
## 26 2.612784 2.230449
##
## Call:
## lm(formula = datosloglog$log_precio ~ datosloglog$log_area)
##
## Coefficients:
## (Intercept) datosloglog$log_area
## 0.8530 0.8093
De donde la ecuación de ajuste para el modelo seria:
\[precio= 10^{0.8530}\cdot[area \,\, construida]^{0.8093}\] \[precio= 7.1285\cdot[area \,\, construida]^{0.8093}\]
## datos.precio_millon datos.Area_construida prediccion2
## 1 250 86.00 262.1729
## 2 385 118.00 338.6665
## 3 395 130.00 366.2794
## 4 419 181.00 478.7816
## 5 240 86.00 262.1729
## 6 320 98.00 291.4053
## 7 480 170.00 455.0933
## 8 268 96.00 286.5829
## 9 240 85.00 259.7030
## 10 450 170.00 455.0933
## 11 240 87.00 264.6373
## 12 385 118.42 339.6417
## 13 290 86.00 262.1729
## 14 240 85.00 259.7030
## 15 272 96.00 286.5829
## 16 250 86.00 262.1729
## 17 250 86.00 262.1729
## 18 395 130.00 366.2794
## 19 385 134.00 375.3739
## 20 255 80.00 247.2685
## 21 430 130.00 366.2794
## 22 260 87.00 264.6373
## 23 385 130.00 366.2794
## 24 290 89.00 269.5501
## 25 450 195.00 508.5377
## 26 410 170.00 455.0933
En ninguna de las dos transformaciones anteriores considen los valores predecidos por el modelo con los valores de los datos originales. Es evidente que el mejor ajuste conseguido es el obtenido en el modelo lineal.