Analisis exploratorio e Introduccion a Regresión lineal

En este trabajo se presenta una introducción al procesamiento y modelado de datos en R, haciendo uso principalmente del parquete tidyverse. Para ello se cuenta con datos provistos por Properati, que contiene informacón sobre publiciones de propiedades ofrecidas en su sitio web, en Argentina y Uruguay, tanto como para ventas como para alquileres. Inicialmente se realiza un análisis exploratorio sobre los datos, con el fin de encontrar posibles problemas y lograr un entendimiento de los mismos. Luego de este se realiza una introducción a la regresión lineal, a traves de la implementación de dos modelos de regresión simple.

Preparación de los datos

A continuación se cargan la librerías requeridas para este trabajo a nuestro ambiente.

library(tidyverse)
library(dplyr)
library(tidyr)
library(ggplot2)
library(lubridate)
library(knitr)
library(rmarkdown)
library(readr)
library(kableExtra)
library(ggcorrplot)
library(ggthemes)
library(GGally)
library(ggExtra)

Lectura de datos

Los datos se encuentran contenidos en un archivo delimitado por comas.

properties <- read_csv("ar_properties.csv")
paged_table(properties[1:4,])     ##Imprimir primeras filas

Al validar la estructura de los datos se encuentra que es un archivo con 24 variables y 388.891 registros. Se puede evidenciar el tipo de dato que es cada columna. Hay 6 variables que resultan de gran interés para el estudio, todas ellas númericas; entre estas el precio de la transacción y las demás describen la propiedad, como número de habitaciones, superficie total, entre otras.

glimpse(properties)
## Observations: 388,891
## Variables: 24
## $ id              <chr> "S0we3z3V2JpHUJreqQ2t/w==", "kMxcmAS8NvrynGBVb...
## $ ad_type         <chr> "Propiedad", "Propiedad", "Propiedad", "Propie...
## $ start_date      <date> 2019-04-14, 2019-04-14, 2019-04-14, 2019-04-1...
## $ end_date        <date> 2019-06-14, 2019-04-16, 9999-12-31, 9999-12-3...
## $ created_on      <date> 2019-04-14, 2019-04-14, 2019-04-14, 2019-04-1...
## $ lat             <dbl> -34.94331, -34.63181, NA, -34.65471, -34.65495...
## $ lon             <dbl> -54.92966, -58.42060, NA, -58.79089, -58.78712...
## $ l1              <chr> "Uruguay", "Argentina", "Argentina", "Argentin...
## $ l2              <chr> "Maldonado", "Capital Federal", "Bs.As. G.B.A....
## $ l3              <chr> "Punta del Este", "Boedo", NA, "Moreno", "More...
## $ l4              <chr> NA, NA, NA, "Moreno", "Moreno", NA, "Ituzaingó...
## $ l5              <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA...
## $ l6              <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA...
## $ rooms           <dbl> 2, NA, 2, 2, 2, 4, NA, 6, NA, NA, NA, NA, NA, ...
## $ bedrooms        <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA...
## $ bathrooms       <dbl> 1, NA, 1, 2, 3, 1, 3, 3, NA, NA, NA, NA, NA, N...
## $ surface_total   <dbl> 45, NA, 200, 460, 660, NA, 70, NA, 1300, 405, ...
## $ surface_covered <dbl> 40, NA, NA, 100, 148, 89, 122, NA, NA, NA, NA,...
## $ price           <dbl> 13000, 0, NA, NA, NA, NA, NA, NA, 0, NA, 0, NA...
## $ currency        <chr> "UYU", NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,...
## $ price_period    <chr> "Mensual", "Mensual", NA, "Mensual", "Mensual"...
## $ title           <chr> "Departamento - Roosevelt", "PH - Boedo", "Itu...
## $ property_type   <chr> "Departamento", "PH", "Casa", "Casa", "Casa", ...
## $ operation_type  <chr> "Alquiler", "Venta", "Alquiler", "Venta", "Ven...

Sobre estas variables númericas se presenta una vista previa, con el fin de obtener una primera impresión de sus valores. Observando entre otras cosas, el número de faltantes de cada columna, los valores medios, mínimos y máximos, así como los valores de los cuantiles. Esto permite apreciar que hay columnas con una gran cantidad de valores faltantes en algunas columnas, así como valores máximos muy por encima del promedio e incluso del tercer cuartil.

summary(properties[,14:19])
##      rooms           bedrooms        bathrooms     surface_total     
##  Min.   : 1.0     Min.   : -2.00   Min.   : 1.00   Min.   :    -3.0  
##  1st Qu.: 2.0     1st Qu.:  1.00   1st Qu.: 1.00   1st Qu.:    50.0  
##  Median : 3.0     Median :  2.00   Median : 1.00   Median :    91.0  
##  Mean   : 2.9     Mean   :  2.16   Mean   : 1.67   Mean   :   458.3  
##  3rd Qu.: 4.0     3rd Qu.:  3.00   3rd Qu.: 2.00   3rd Qu.:   266.0  
##  Max.   :40.0     Max.   :390.00   Max.   :20.00   Max.   :200000.0  
##  NA's   :144668   NA's   :230747   NA's   :94136   NA's   :74063     
##  surface_covered       price          
##  Min.   :   -139   Min.   :0.000e+00  
##  1st Qu.:     43   1st Qu.:2.000e+04  
##  Median :     70   Median :9.400e+04  
##  Mean   :    235   Mean   :2.690e+05  
##  3rd Qu.:    142   3rd Qu.:2.250e+05  
##  Max.   :4000000   Max.   :2.147e+09  
##  NA's   :97854     NA's   :21222

Como se comprobó mediante el anáisis de la estructura de los datos, el dataset cuenta con una gran cantidad de registros, pero este análisis se concentra en las siguientes condiciones:

  • Unidades pertencientes a Argentina y a Capital Federal
  • Precio tasado en dólares (USD)
  • Propiedades tipo: Departamento, Casa o PH
  • Operaciones tipo: Venta

Por otro lado, como se mencionó anteriormente uno de los objetivos de este trabajo es la implementación de un módelo de regresión simple, es por ello que se conservan columnas númericas, el identificador unico de cada propiedad, la ubicación y el tipo de propiedad.

properties_filtered <-  
  properties %>% 
    filter(                                    ## Filtrar por condiciones
            (l1 == 'Argentina' &
             l2 == 'Capital Federal'&
            currency == 'USD' &
            property_type %in% c('Casa','Departamento','PH' ) &
            operation_type == 'Venta')
          ) %>% 
    select(                                    ## Seleccionar columnas
      id, l3, rooms, bedrooms, bathrooms, surface_total, surface_covered, price , property_type)  

paged_table(properties_filtered[1:4,])

Luego de esto se cuenta con un nuevo dataset que contiene 61.905 registros de 9 variables.

Análisis exploratorio dataset original

En esta sección se aborda un análisis sobre los datos, con el fin de validar la calidad de los datos, revisando entre otras cosas, cantidad de valores únicos, valores faltantes, estadísticas descriptivas, análisis de distribución de los datos y correlación.

Valores únicos dataset original

Para la validación de la cantidad de valores únicos se omite la variable del identificador único, puesto que la cantidad de valores es igual a la cantidad de registros.

unique.values <- properties_filtered %>%
  select(-c(id)) %>%                                         ## Remover id
    tidyr::gather(key = "Variables", value = "valores") %>%  ## Transponer los datos variable-valor
    group_by(Variables) %>%                                  ## Agrupar por variable
    summarise_all(n_distinct)                                ## Total de valores unicos

kable(unique.values) %>%                                     ## Mostrar valores únicos x variable
  kable_styling(bootstrap_options = c("striped", "hover", "condensed", "responsive"))
Variables valores
bathrooms 15
bedrooms 25
l3 58
price 4095
property_type 3
rooms 24
surface_covered 573
surface_total 671

Es llamativo la cantidad de valores únicos que tienen las variables bedrooms, rooms y bathrooms, puesto que son valores enteros y no continuos como en los otros casos.

levels <-
  (unique.values  %>% 
     arrange(desc(valores)))$Variables                                      ##Ordenar por cant de valores

percentage.plot <- unique.values %>%
  ggplot() +
  geom_bar(fill = "steelblue", aes(x = reorder(Variables, desc(valores)),   ## Gráfico de barras
               y = valores),                  
           stat = 'identity', alpha=0.8) +         
 coord_flip() +                                                             ## Barras horizontales
  labs(title = "Valores únicos", x =
         'Variable', y = "# valores")                                       ## Nombres ejes

percentage.plot

Valores faltantes dataset original

Ahora se procede a validar la cantidad de valores faltantes presentes en cada variable

missing.values <- properties_filtered %>%
  gather(key = "Variables", value = "valores") %>%  ##Transponer los datos variable-valor
  mutate(isna = is.na(valores)) %>%                 ##Añadir nueva columna, indica si el valor es na
  group_by(Variables) %>%                           ##Agrupar por variable
  mutate(total = n()) %>%                           ##Añadir total de registros 
  group_by(Variables, total, isna) %>%              ##Agrupar por variable, nulos y no nulos
  summarise(num.isna = n()) %>%                     ##Total de nulos y no nulos por variable
  mutate( pct = round(num.isna / total * 100,1))              ##Calcular porcentaje de nulos y no nulos


kable(missing.values) %>%
  kable_styling(bootstrap_options = c("striped", "hover", "condensed", "responsive"))
Variables total isna num.isna pct
bathrooms 61905 FALSE 58709 94.8
bathrooms 61905 TRUE 3196 5.2
bedrooms 61905 FALSE 36607 59.1
bedrooms 61905 TRUE 25298 40.9
id 61905 FALSE 61905 100.0
l3 61905 FALSE 61550 99.4
l3 61905 TRUE 355 0.6
price 61905 FALSE 61905 100.0
property_type 61905 FALSE 61905 100.0
rooms 61905 FALSE 56591 91.4
rooms 61905 TRUE 5314 8.6
surface_covered 61905 FALSE 58930 95.2
surface_covered 61905 TRUE 2975 4.8
surface_total 61905 FALSE 58234 94.1
surface_total 61905 TRUE 3671 5.9
  • La variable bedrooms trae cerca del 40% de sus registros nulos.
  • El resto de variables si bien presentan valores nulos, su porcentaje es inferior al 10%.
levels <-
  (missing.values  %>% 
     filter(isna == T) %>%                          ##Conservar solo los % de nulos
     arrange(desc(pct)))$Variables                  ##Ordenar por % nulos

percentage.plot <- missing.values %>%
  ggplot() +
  geom_bar(aes(x = reorder(Variables, desc(pct)),   ##Gráfico de barras
               y = pct, fill=isna),                 ##Sombreado con la cantidad de
           stat = 'identity', alpha=0.8) +          ##valores faltantes de cada variable
  scale_x_discrete(limits = levels) +        
  scale_fill_manual(name = "", 
                    values = c('steelblue', 'tomato3'), labels = c("Completos", "Nulos")) +
  coord_flip() +                                    ##Barras horizontales
  labs(title = "Porción de valores nulos", x =
         'Variable', y = "% nulos")

percentage.plot

Análisis de correlación dataset original

Llega el momento de validar que tan correlacionadas se encuentran las variables númericas en el dataset.

corr = round(cor(properties_filtered[,3:8], use="complete.obs", method="pearson"),1)  ## Omitir nulos
mcor = corr 
mcor[upper.tri(mcor)]<-''                                                             ## Borrar parte superior
mcor<-as.data.frame(mcor)                                                             ## Gurdar como df 

kable(mcor) %>%
  kable_styling(bootstrap_options = c("striped", "hover", "condensed", "responsive"))
rooms bedrooms bathrooms surface_total surface_covered price
rooms 1
bedrooms 0.9 1
bathrooms 0.6 0.6 1
surface_total 0.1 0.1 0.1 1
surface_covered 0.1 0.1 0.1 0.7 1
price 0.5 0.4 0.6 0.1 0.1 1
  • El precio presenta una correlación lineal moderada de 0.6/1 con la cantidad de baños de la propiedad, mientras que con la cantidad de habitaciones y dormitorios presenta una coreelación lineal débil; finalmente no presente correlación lineal con la superficie de las propiedades.
  • Se evidencia una correlación lineal fuerte positiva de 0.9/1 entre bedrooms y rooms; algo que es de esperarse puesto que el número de dormitorios y el número de ambientes están asociados.
  • Se evidencia una correlación lineal positiva de 0.7/1 entre surface_total y surface_covered; en este caso la correlación es fuert. De igual modo resulta lógico que la superficie total y la superficie cubierta estén asociadas.
ggcorrplot(corr, 
           hc.order = TRUE,                         ## Ordenar matriz de correlación
           type = "lower",                          ## Conservar triangulo inferior de la matriz 
           lab = TRUE,                              ## Incluir valor de correlación
           method = 'circle',                       ## Circulos
           colors = c("tomato2", "white", "springgreen3"), 
           title="Correlación variables dataset", 
           ggtheme=theme_bw)                        ## Tema a usar de ggplot

Tratamiento de datos

Como se evidenció anteriormente hay dos variables fuertemente correlacionadas, por ende con tener una sola bastará, además una de estas variables tiene cerca del 40% de sus registros nulos.

Por otro lado, se toma la decisión de omitir todos aquellos registros que presentan algún valor faltante dentro de las diferentes columnas.

properties_filtered <-
  properties_filtered  %>% 
                        select (-c(bedrooms))   %>%        ## Omitir variable
                         drop_na()                         ## Omitir registros con nulos

glimpse(properties_filtered)                               ## Propiedades dataset filtrado
## Observations: 51,210
## Variables: 8
## $ id              <chr> "HdjpKrqdwYfH9YU1DKjltg==", "AfdcsqUSelai1ofCA...
## $ l3              <chr> "Boedo", "Velez Sarsfield", "Nuñez", "Almagro"...
## $ rooms           <dbl> 6, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1...
## $ bathrooms       <dbl> 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1...
## $ surface_total   <dbl> 178, 95, 44, 40, 49, 40, 40, 40, 49, 40, 23, 4...
## $ surface_covered <dbl> 240, 69, 38, 37, 44, 37, 37, 37, 44, 37, 23, 3...
## $ price           <dbl> 500000, 199900, 147000, 92294, 115000, 77000, ...
## $ property_type   <chr> "Casa", "Casa", "Departamento", "Departamento"...

El dataset resultante cuenta con un total de 51.210 registros y 8 variables.

Análisis descriptivo dataset original

Medidas de posición del precio

A continuación se presentan medidas de posición sobre el precio de las propiedades, lo que permite resumir la posición de la distribución de datos.

summary_price = summarise(
                          properties_filtered, 
                          mean =mean(price),
                          max = max(price),
                          min = min(price),
                          q1 = quantile(price,0.25), 
                          q2 = quantile(price,0.5),
                          q3 = quantile(price,0.75))


kable(summary_price) %>%
  kable_styling(bootstrap_options = c("striped", "hover", "condensed", "responsive"))
mean max min q1 q2 q3
251577.2 6e+06 6000 119000 170000 270000

Como se evidencia existe una gran diferencia entre el valor máximo y la media de los datos, e incluso del tercer cuartil. Esto genera una alerta sobre valores extremos en el dataset, puesto que hay valores muy lejanos del centro de la distribución, tanto para el extremo derecho como para el izquierdo.

Para observar con más detalle la distribución de los precios se procede a obtener un histográma. Donde se evidencia una asimetría positiva, lo que indica que la mayoría de precios son valores bajos y unos pocos valores son muy altos en comparación al resto, algo que ratifica lo evidenciado anteriormente.

ggplot(properties_filtered, aes(price)) +                        ## Hist. precio
  geom_histogram(color="black", fill="tomato", bins = 40)  +     ## 40 bins 
  labs(y="Cant. propiedades", 
       x="Precio USD", 
       title="Distribución de precios")

Medidas de posición del precio por tipo de propiedad

Para generar una mayor claridad sobre el análisis de precio de las propiedades se repiten las medidas de posición por tipos de propiedad.

En todos los tipos de propiedad se evidencia una gran diferencia entre los valores extremos y la media, esto nos permite ratificar que lo observado anteriormente no recae en un tipo de propiedad específica, si no que es un comportamiento de todo el dataset.

summary_price_g = summarise(
                    group_by(properties_filtered, property_type), 
                      mean =mean(price),
                      max = max(price),
                      min = min(price),
                      q1 = quantile(price,0.25), 
                      q2 = quantile(price,0.5),
                      q3 = quantile(price,0.75))

kable(summary_price_g) %>%
  kable_styling(bootstrap_options = c("striped", "hover", "condensed", "responsive"))
property_type mean max min q1 q2 q3
Casa 434188.8 5000000 20000 235000 335000 490000
Departamento 246855.7 6000000 6000 115000 164000 260000
PH 218747.4 1500000 32000 137000 190000 270000

Por otro lado, se valida la distribución del precio por propiedad a través de un boxplot. Donde se corrobora la asimetría positiva en todos los tipos de propiedad. Evidenciando así unos puntos muy alejados de la distribución, con valores demasiado altos. Sin embargo, también se observan valores muy inferiores al centro.

ggplot(properties_filtered, aes(x = property_type, y = price)) +
  geom_boxplot() + geom_boxplot(aes(color = property_type)) +
  coord_flip() +
    labs(x="Precio USD", 
       y="Tipo de propiedad", 
       title="Boxplot por tipo de propiedad ")

Ahora se procede a obtener correlagrama con el fin de observar distribución de cada variable, distribución de a pares de variables, correlación de a pares de variables, y un box plot de cada variable.

Resulta llamativo ver algunos puntos muy lejanos de la distribución en variables como rooms y surface para propiedades tipo PH.

properties_filtered %>%
  select(-id,-l3) %>%                                   ## Omitir variables
  mutate(property_type = factor(property_type)) %>%     ## Tipo de prpiedad como factor
  ggpairs(.,                                            ## Correlalograma
          title = "Matriz de correlaciones",
          mapping = aes(colour= property_type))         ## Color por tipo

Tratamiento de outliers

Es necesario indagar un poco más sobre la posible presencia de outliers en algunas variables. Por ello se ordenan los valores de las variables, con el fin de comprobar sus valores máximos y mínimos; para ello se grafican los valores superiores al tercer cuartil y valores inferiores al primer cuartil.

Variable precio

En esta veriable se sospechan valores atípicos, con la presencia de valores muy altos y muy bajos.

Comportamiento q1

##Filtrar valores inferiores al primer cuartil
properties_outliers = properties_filtered %>% 
  filter(price >= 0 & 
         price <= summary_price$q1)

ggplot(properties_outliers, aes( x=1:length(price), y=sort(price))) +  ## Plot valores ordenados
  geom_point(stat='identity', aes(col=property_type)) +              ## Gráficar por tipo de propiedad
  labs(y="Precio USD ordenado", 
       x="Propiedades", 
       title="Precios inferiores al q1 ordenados")

Se opta por análizar los valores con una tasa inferior a 40.000 USD, ya que se presentan muy pocos valores en ese rango, adicionalmente se encuentra muy dispersos entre sí.

##Filtrar valores inferiores al primer cuartil
properties_outliers = properties_filtered %>% 
  filter(price >= 0 & 
         price <= 40000) %>%                          
     arrange(desc(surface_total))                  ##Ordenar por superficie


kable(properties_outliers) %>%
  kable_styling(bootstrap_options = c("striped", "hover", "condensed", "responsive"))
id l3 rooms bathrooms surface_total surface_covered price property_type
sV8ao8iIhQosOBgT/61mDg== Villa Soldati 5 1 395 395 30000 Departamento
o6Qf+lmGU97f1vzy5vRXBw== Recoleta 3 2 340 200 6000 Departamento
uZe6sBzCpmenEZSplqFB0Q== Palermo 5 4 340 320 6000 Departamento
MEQMMCb41FDh+T4LMkWTJQ== Puerto Madero 3 3 275 220 6000 Departamento
TexDuWu7W8W4/ZX08NLgpQ== Palermo 1 1 160 110 38000 Departamento
6PVNKJ4zkfyhGaHcKyamRQ== Villa Crespo 4 1 100 100 20000 Casa
E/fKmqFLQb7OXJlYKYu8fQ== Coghlan 4 1 75 75 22500 Departamento
kcSLbs8UnzIJisNrCGADDQ== Villa Soldati 5 1 62 58 40000 Departamento
AvNQryhf6zdj5HY4qQXo6Q== Villa Soldati 3 1 60 60 39000 Departamento
5kMiciAqmJBJpXFGooK2zg== Pompeya 2 1 60 47 32000 PH
T1vj/FC3xUWw1FgyOLLmsQ== Villa Lugano 3 1 50 44 39500 Departamento
VPtxxZatMYXagyQwRkMVaQ== Villa Soldati 3 1 50 45 35000 Departamento
EvlN+Z79tMKXqPlKQdEZ8g== Villa Soldati 3 1 50 50 35000 Departamento
31n5DaPNIAePfF+rIaeMRQ== Villa Lugano 3 1 50 44 39500 Departamento
rBn/HhFKjCeTCG46TkEIAw== Villa Soldati 3 1 50 50 25000 Departamento
FkTkTG0YPynjCqZTcuwJOA== Villa Soldati 3 1 50 50 33500 Departamento
73lOkdwvOQA811uhoehkaA== Villa Soldati 3 1 49 43 37500 Departamento
TQLilM+3xCv/0pWnX9aFng== Villa Soldati 3 1 49 43 37500 Departamento
BE++tM0dr+MWghP/DfPmwQ== Villa Soldati 3 1 47 41 39500 Departamento
g4UbwrG9fq69b6F8sIidZA== Colegiales 1 1 44 40 14000 Departamento
ATZQiOtaR653U+nBeCe5dg== Villa Lugano 1 1 40 40 29000 Departamento
IKhejazHaiFl+TZD1YsMow== Flores 1 1 38 38 28000 Departamento
AoXLG50X9kGMGh/gHhefqw== Flores 1 1 38 38 38000 Departamento
zmseEMX8uxbzqO1IH+a5Ug== Palermo 1 1 34 30 11803 Departamento
F5rixJgFbElX5vcHjJhBbA== Mataderos 1 1 33 33 38000 Departamento
+JnIqgAaF9+sKd4ZVJwglg== Parque Chacabuco 1 1 31 31 7500 Departamento
MTOELtW/AjJ+WzKDtZU5fA== Mataderos 1 1 30 30 32000 Departamento
eGQLSwMYgo41EA5DpN0xrQ== Mataderos 1 1 30 30 32000 Departamento
8BAJqHcGszfLp1pSYM/iSA== Flores 2 1 29 29 39000 Departamento
5a+n8tikj17kGVO+qntd4g== Flores 2 1 29 29 39000 Departamento
nyKh6585TFCuf8VGqR5SOQ== Flores 2 1 27 27 37000 Departamento
J8GqTZmAsWovIegwKhOnEw== Flores 2 1 27 27 30000 Departamento
JEK2OjU7v5SAIeWW/BeLFQ== Flores 2 1 26 26 37000 Departamento
fgJ0/UD2v30JiezGfBR7pA== Flores 2 1 26 26 37000 Departamento
n1WrdWNiM6p+bYzoLSmw6g== Constitución 1 1 24 24 35000 Departamento
ifdTiSlNNoYyXvbwT4qUfg== Parque Chacabuco 1 1 20 20 40000 Departamento
C4flDvJilVPRumxrb8mLSQ== Paternal 1 1 20 20 34000 Departamento
YAb6GK7+XFwh6pp/hlDCwg== Once 1 1 19 19 32000 Departamento
1zkWVvhFuGHKYaT18SNPlw== Balvanera 1 1 19 19 32000 Departamento
xUSNFOOL9/zYDZMleEbhAA== Once 1 1 19 19 32000 Departamento
khmS8u0mBDrcBskHQM60Zw== Balvanera 1 1 19 19 32000 Departamento
Rf94hjASy+u7xFmT4OdsNQ== Balvanera 1 1 19 19 40000 Departamento
+cu5QEjAumcSfj3ahHk+Rw== Once 1 1 19 19 35000 Departamento
eOBzwYzKTyP4xLHK7aZweQ== Balvanera 1 1 19 19 35000 Departamento
k7tclBop2PwnzKKXQ0rvcA== Once 1 1 19 19 35000 Departamento
wN09V3dcHOp5UxzucD6nxw== Balvanera 1 1 19 19 35000 Departamento
7FlXCRWI2Zx8Wf/gCRDZYQ== Once 1 1 19 19 32000 Departamento
Gz9kTgzqnwBTdZSrf6sQRQ== Balvanera 1 1 19 19 32000 Departamento
E1oSuZKD1Gbk9gJC1nd/WQ== Once 1 1 19 19 32000 Departamento
lbXz3R11g49xEWydKhgV5w== Balvanera 1 1 19 19 32000 Departamento
uGHJdqon48uCZ6HEFDksqQ== Once 1 1 19 19 32000 Departamento
D+iAPAsFea3AaWIrZVt3hA== Balvanera 1 1 19 19 32000 Departamento
5NfaWbhOl/gB1EYj0RBqBQ== Once 1 1 19 19 35000 Departamento
gKoDGXzHrB4OI+AJQJ61wQ== Balvanera 1 1 19 19 35000 Departamento
SFp5pER8hlTvCwMhVQlTGw== Caballito 1 1 18 18 12500 Departamento
/QpBa+OKz4OEl5FaWPIA7Q== Caballito 1 1 18 18 12500 Departamento
JaokBBjtNtCQ1GbbnXE9Ug== Constitución 1 1 17 17 37000 Departamento
t10cu4fL1H2f+PW9eQjYcw== Liniers 1 1 17 17 34900 Departamento
SRIxKfnNKamkrtZOXCYNGA== Balvanera 1 1 16 16 39000 Departamento
Yuv0jhwkAnotWccYw/SaRQ== Boedo 1 1 16 14 31500 Departamento
/zyg3LGYOtUo1fKj3NgrTw== Pompeya 1 1 16 14 31500 Departamento
AVdHybHBOZADr/3t1g3kgQ== Parque Patricios 1 1 16 14 31500 Departamento
lege1z88jplgUFfan8JoWA== Pompeya 1 1 16 15 31500 Departamento
nnqz9lPkxxG51iohI14tCg== Constitución 1 1 15 15 35000 Departamento
lpwl2J/6RDyVXptn4z7iIA== Balvanera 1 1 15 15 40000 Departamento
H03+mOkbDogEMxpjA7oozg== Constitución 1 1 15 15 32000 Departamento
3K6i3NhnpZekKN5b+F4DJw== Abasto 1 1 15 15 40000 Departamento
yHe4zl8+wi89wcwKSRj0/Q== Pompeya 1 1 14 14 27900 Departamento
axJE3yltPPBZ4wPJRkoQKw== Parque Patricios 1 1 14 14 27900 Departamento
9eugytXBXx03jVfiT9Ke4w== Pompeya 1 1 14 14 27900 Departamento
DdOGFE6FEVm4L5GxxmgpSw== Liniers 1 1 13 13 12000 Departamento
bnckwRLq/VR1/2V4+KLMuA== Liniers 1 1 13 13 12000 Departamento
vbdlMntYmRMeHZ83TbpFeA== Liniers 1 1 13 13 12000 Departamento
gxcqfW0yap0ZAoLgguSkLw== Liniers 1 1 13 13 12000 Departamento
d1y3hN3exTsn4lW/ZCdLyQ== Liniers 1 1 13 13 12000 Departamento
ZlOoDDa3VpJXQEP3QksHPg== Villa Luro 4 2 12 12 24000 Departamento

Existen propiedades con precios muy bajos y con una gran superficie, estos casos probablemente son errores, por ende se omiten aquellas propiedades con un precio inferior a 40.000 y con una superficie mayor a 18m2

##Filtrar valores inferiores al primer cuartil
properties_filtered = properties_filtered %>% 
  filter( 
          !(surface_total >= 18 & price <= 40000)
          ) %>%                          
     arrange(desc(surface_total))                  ##Ordenar por superficie

Comportamiento q3

##Filtrar valores superiores al tercer cuartil
properties_outliers = properties_filtered %>% 
  filter(price >= summary_price$q3 & 
         price <= summary_price$max)


ggplot(properties_outliers, aes( x=1:length(price), y=sort(price))) +  ## Plot valores ordenados
  geom_point(stat='identity', aes(col=property_type))   +              ## Gráficar por tipo de propiedad
  labs(y="Precio USD ordenado", 
       x="Propiedades", 
       title="Precios superiores al q3 ordenados")

Se opta por análizar los valores con una tasa superior a 2M USD, ya que se presentan muy pocos valores en ese rango, adicionalmente se encuentra muy dispersos entre sí; estos casos no se concentran en un solo tipo de propiedad, por el contrario se presentan en los tres tipos.

##Filtrar valores inferiores al primer cuartil
properties_outliers = properties_filtered %>% 
  filter(price >= 2000000 & 
         price <= 10000000) %>%                          
     arrange(desc(surface_total))                  ##Ordenar por superficie


kable(properties_outliers) %>%
  kable_styling(bootstrap_options = c("striped", "hover", "condensed", "responsive"))
id l3 rooms bathrooms surface_total surface_covered price property_type
2iFRv302I2Rrq0wBa8EiKA== Villa del Parque 10 4 2000 1400 5000000 Casa
Tv3srPsBjS8eir91O+pSzg== Villa del Parque 10 6 1500 1400 2200000 Casa
uNwBTY6ONd76me4LJCvrsw== Recoleta 8 3 1216 946 2490000 Casa
JitBT9pTTCDKD+38nZOggg== Belgrano 9 5 1150 850 4000000 Casa
z71POS0zfEzP6bkt9ytFLA== Belgrano 10 5 1015 1013 2200000 Casa
VVkm+T3kUzvJoZ3oHDlQHw== Recoleta 10 3 978 489 5700000 Departamento
YOaXpbbcZq2eVS4v1lDGYQ== Belgrano 5 4 880 880 4000000 Casa
E/X+N3XDirDIv9EAGdtRbQ== Retiro 6 5 726 475 2975000 Departamento
4DnG62QSlcO0vtAshbqZNQ== Palermo 6 6 700 700 3000000 Casa
wwvGc12ZMPuw2gm01B30tw== Belgrano 6 6 700 700 3000000 Casa
vEo6MqddfEnD6cBLAKCIQA== Belgrano 6 5 700 700 3000000 Casa
sP/JA/rCDDPxhKKgFXE/vA== Recoleta 8 5 677 568 5800000 Departamento
lX+GhUexFsOLzbNZwGjRUg== Belgrano 6 3 656 656 2500000 Departamento
y+gEASeIMxG9o5st5uSJJA== Belgrano 8 5 655 500 2499000 Departamento
AWyXE0/TKHvzR6jo25+L8w== Recoleta 5 3 628 335 2200000 Departamento
2SmJFo2aNX5WOXBLlUirjw== Villa Urquiza 8 6 628 530 2299000 Casa
xvp8cI+RFAMzQGUPmGXYRA== Palermo 6 5 602 424 4580000 Departamento
Z0NEN8qMZRsj1pg5vXo4dA== Recoleta 6 3 600 600 6000000 Departamento
gRZzCtXitwzDjUwXqizD/w== Recoleta 6 3 600 600 6000000 Departamento
h6gp41erIMtIuEajDj9lgQ== Recoleta 6 3 600 600 6000000 Departamento
zJGjm8BuauKvp2+p7sPQdQ== Belgrano 9 7 600 550 2950000 Casa
X659cIOAbGTKxEDGVQ+Ugw== Palermo 7 5 600 600 2900000 Casa
23FKka2vVA15VcIeAVJ88A== Belgrano 7 5 600 600 2900000 Departamento
ZxjGr9/R/FLZkBx3nxIHtw== Belgrano 7 5 600 600 2900000 Casa
Rcjwz5fMmcvkIGkOrSo8LQ== Belgrano 7 6 590 490 2000000 Departamento
PszLz6Hsw+D5S2xTDw4giQ== Belgrano 7 6 590 490 2000000 Departamento
jXO6WwUMKKoDmmMnWi7dog== Belgrano 7 6 590 490 2000000 Departamento
CTNCf8dsRs2jXq44nsAUkQ== Palermo 6 4 580 380 3089000 Casa
G+xvMBeZF/bdJrBAVF5vow== Palermo 5 6 580 380 2800000 Casa
RyI0tQRVg6KyolhuFRk/nw== Puerto Madero 5 6 568 438 3200000 Departamento
UZl4l3IUYy02pv3Ru2TMeg== Belgrano 10 4 567 567 2000000 Departamento
0k7Fo4X9EaBvK7suAhaPyA== Belgrano 10 4 567 567 2000000 Departamento
hsFk7KubFB96tjhPUTpd5w== Belgrano 10 4 567 567 2000000 Departamento
YQNb4mXO9ytgobH9x7IYAQ== Palermo 5 6 562 310 3500000 Casa
vUTB0sjNJ5y/2eYif/CT8A== Belgrano 5 6 562 310 3500000 Casa
UIlAW0E3giFJsUcDRCNuQw== Belgrano 5 6 562 310 3500000 Departamento
Q7RoFb8xXNFD+AlHB6rLjA== Belgrano 5 6 562 310 3500000 Departamento
uctVPnFGrC0eh0U05lvQSw== Palermo 6 6 562 310 3500000 Casa
Uh035Bjzh0SfExNTzQYvJg== Belgrano 6 6 562 310 3500000 Casa
rmv51vpJ/QehdlvyjubJzg== Palermo 6 6 562 310 3500000 Departamento
g5YKjiul+Dx6nsBXXEeQ1w== Belgrano 6 6 562 310 3500000 Departamento
ZqwDZp99REZHXUHwtImaZg== Belgrano 6 6 562 310 3500000 Casa
DnxQJlEgE1bPDfMmcYBTPw== Belgrano 6 6 562 310 3500000 Departamento
tH2x957dFX+Gk2CQYqv+Iw== Belgrano 5 4 562 320 3500000 Departamento
y13l/h442QwOYztTWCEgDg== Palermo 8 4 548 473 2380000 Departamento
MLe/LkarQ43frrPC8jnKpg== Recoleta 6 5 545 440 2490000 Departamento
kBbg25sYJtQQCgOjETWnFA== Palermo 5 4 545 470 3100000 Departamento
Ku5hsD6qiTTlXEaCclVKSQ== Puerto Madero 5 3 540 540 3300000 Departamento
/xwVo7oRfxiPZBHnzv/n1g== Palermo 5 3 535 220 3200000 Departamento
tCGV5WlMWVmlvq6egfuCcg== Palermo 5 3 535 220 2800000 Departamento
/jtfOxCXXsvXe1OfFbblwg== Palermo 5 3 535 220 2800000 Departamento
GvFxC1vagXbNWs8cpBxR1w== Belgrano 4 4 530 424 2900000 Casa
bQ2M4yClAppiuaWuiH5miw== Recoleta 5 4 508 492 2100000 Departamento
u5Z+CphltmKhg9QGLbwm3w== Belgrano 6 4 500 400 2400000 Casa
h/lnLVCCom1yyNcxhPdjlA== Recoleta 7 4 498 495 2300000 Departamento
QPSs4zvMDS7b1CNHL9cIhQ== Palermo 8 3 486 450 2900000 Departamento
r67PmRlrBFVqIoyDjtNr/g== Palermo 5 3 486 321 2700000 Departamento
9wPg0gPhBUUhuUYC6QKWFQ== Recoleta 6 2 483 483 2500000 Departamento
RnAai6cyog5DZRf8vGuv8A== Recoleta 6 2 483 483 2500000 Departamento
TqWTgGbiZbvOiA7P1Gx4Tg== Recoleta 6 2 483 483 2500000 Departamento
jHUTFFyXQ05ZV4gRzFhlEg== Palermo 4 3 481 321 2700000 Departamento
5GfB/DywqngQzEjB0cREEw== Palermo 7 5 480 321 2300000 Departamento
RtLw6JYZADQdW/h2vAVCzQ== Recoleta 6 2 478 478 2250000 Departamento
eUWw3fC9wl6T2feQ02aAmA== Puerto Madero 4 4 475 414 2500000 Departamento
WAW7NlUnVrcpI0+9o6FFXQ== Recoleta 16 5 459 353 2697389 Casa
eGaTlxJBJnSxVKfzZu9Zug== Palermo 8 7 455 324 2500000 Departamento
VfaGYHKSltCAygUe4EkrjQ== Recoleta 7 5 455 435 2300000 Departamento
L3llqn4CzeA5FwXhjuHpqA== Recoleta 7 5 455 435 2300000 Departamento
zOk4X5H/OKBodIm3j7ZMPA== Barrio Norte 7 5 455 435 2300000 Departamento
TtJkrnEArj8u42R/YqlP9w== Nuñez 5 5 455 435 3200000 Departamento
JPIdzSjfdQAxfjmzEep6BQ== Recoleta 5 4 453 414 2400000 Departamento
/X1Ow/yN4Ck9LdK/cbTdSg== Recoleta 5 4 453 414 2400000 Departamento
S0qjWYRATStUp6NUoIGi4Q== Recoleta 5 4 453 414 2500000 Departamento
/oZ/XH2N+yY6h89bgPX5/Q== Recoleta 5 4 453 414 2400000 Departamento
YmkIkUha/pOeKQopVEEiUQ== Palermo 8 4 450 450 2600000 Departamento
iMB9l2asP/IWFZqWDei9Dg== Palermo 8 4 450 450 2600000 Departamento
o34QRDPJl3axm5QgHsSp/g== Palermo 8 4 450 450 2600000 Departamento
vN1Zdm13HaWh5TwbGlxAFw== Palermo 8 4 450 450 2600000 Departamento
TPoyrsDALQbZGDEXFN9u8Q== Nuñez 6 6 450 420 3000000 Departamento
AyUH9pVDFPYl49X/HgrZzA== Nuñez 4 6 450 420 3000000 Departamento
Q8HiHHx4rfnJDJ0jP7S81w== Belgrano 6 6 450 420 3000000 Departamento
zIsp0Ewzei/wWMWorszBrQ== Belgrano 5 6 450 420 3000000 Departamento
mBoQ3BcA2tfgbLg+wz8Ysw== Belgrano 4 6 450 420 3000000 Departamento
KJoYJzDiieYxaerz9LBznw== Nuñez 5 5 450 450 3000000 Departamento
HBDvpVjKgwy5h+FzqNUPrg== Puerto Madero 7 4 448 448 3000000 Departamento
K4QzqMJyRj8X9vC+0gR/5Q== Puerto Madero 7 4 448 448 2800000 Departamento
YgIUDf/ctbSG3gu0yqENJA== Palermo 5 4 447 436 3250000 Departamento
8yq75YvXIlkiG+9LjuoKiQ== Palermo 6 4 444 404 2500000 Departamento
En+IZeAAAzd5f9bMxYczSg== Belgrano 7 5 434 434 2400000 Casa
56uhB1O4Z8YCczKDkGPJ9A== Nuñez 5 3 431 291 2300000 Departamento
FLtwdE1ouNs3TOZoPf6VrQ== Nuñez 5 3 431 291 2300000 Departamento
wVCv4Yr7eII/TJ9IemBjQw== Nuñez 5 3 431 291 2300000 Departamento
bJIzBl24AcU3shGTuherHg== Nuñez 5 3 431 291 2150000 Departamento
W7acVNFeYnd5uKGWmRANUw== Nuñez 5 3 431 291 2300000 Departamento
zqqNVonfn8qZnO4rGq9HIw== Retiro 6 5 430 420 2200000 Departamento
Vcwpn4rwcvmR4Bd3Xewm6Q== Puerto Madero 4 4 427 427 2500000 Departamento
MRkA8z9Co8yzNo90jzetFg== Puerto Madero 4 4 427 427 2500000 Departamento
lDPPq5P+DhSM0WEG62atEw== Puerto Madero 6 5 426 426 2500000 Departamento
/dq/eSyAl0iHfrbwjyMJTA== Puerto Madero 5 6 426 426 2700000 Departamento
9vLP+ZUB5lIXeMhMqqBazQ== Puerto Madero 6 5 426 426 2500000 Departamento
WPw2L2vfcDwk3rap1bnfPw== Puerto Madero 5 6 426 426 2600000 Departamento
jN+nx/18kJOTg0crzs7y1Q== Puerto Madero 6 5 426 426 2500000 Departamento
bv2NgWQCh80HJbt7BIOwDQ== Belgrano 9 3 420 420 2500000 Departamento
8q7Cgblk+QNJnxtJWu6KfQ== Belgrano 6 4 413 413 2500000 Departamento
9eovPo8Kv6B7NNpmlW9DEQ== Belgrano 6 4 413 413 2300000 Departamento
FSQ+9XqKN4tJnU6/d7A7WA== Belgrano 6 4 413 413 2500000 Departamento
ooofCfHBaikkf1YaHznPLg== Palermo 5 4 410 394 4900000 Departamento
f1BiaCZ0f9aAPWrUmuCZug== Recoleta 7 4 409 409 4500000 Departamento
OzkE/DdCcWRh6wVUzfAukg== Palermo 4 4 404 404 5100000 Departamento
e2Wfai8AWtv5dZaCxyPedA== Palermo 4 4 404 404 5100000 Departamento
RM0PAlPpfDrFT1MXlFp/GA== Palermo 4 4 404 404 3100000 Departamento
wdRYTf9hk+njKzncEvnI6A== Puerto Madero 6 4 402 302 2000000 Departamento
0ZeGyEi9jDd0+Jqxm/OmZA== Palermo 5 6 400 380 3400000 Departamento
b+dhFeJywyjkF8gEKdQWKw== Recoleta 5 4 400 400 2200000 Departamento
CmHHTWoUcucZR4Epn8gnoQ== Puerto Madero 6 6 400 390 3700000 Departamento
WrY2lJzeBaTOhiRb+i+NOA== Recoleta 5 5 400 380 4000000 Departamento
JDaQSeq634M/fKZ/1IcKrQ== Recoleta 5 5 400 380 4000000 Departamento
2ETcwSEfrqm9ohMTIzb9IA== Palermo 4 4 397 380 2800000 Departamento
7j4i7L+m0A0Lb0YM/t9aFg== Palermo 7 3 394 394 2550000 Departamento
iU5Yk6f1ROKDKE5VazUk/A== Recoleta 1 1 394 390 2169696 Departamento
KyCGhT+EabJrMeldWwyt8A== Palermo 6 4 390 390 3100000 Departamento
H/wgh2GvONGnyP4oJx448w== Palermo 4 4 390 390 2500000 Departamento
n2HRnbi1SWq9/CAINjLoYg== Belgrano 5 6 390 320 2700000 Departamento
o3Sn3Q+eqscIlu2l7F1O7g== Belgrano 5 6 390 320 2600000 Departamento
JmBc+oMJalCkWdfU0P5dvQ== Belgrano 5 6 390 320 2700000 Departamento
zHegDPFr9rVHvZGnFpvkWQ== Las Cañitas 4 6 390 320 2700000 Departamento
sTEFSGk64bm8PcAj63oCdg== Las Cañitas 5 6 390 320 2600000 Departamento
yNsWtP4xBcrJQWsaLpOHMg== Las Cañitas 5 6 390 320 2700000 Departamento
nmaI4U7HVAAfs3wg2xbyhw== Palermo 4 4 389 377 3250000 Departamento
caeC8noIMC9C37ZTosmzpg== Palermo 5 4 389 377 3250000 Departamento
QFxIeBSWXzFchTwTU9a2vA== Palermo 4 3 387 270 2690000 Departamento
zPS7kMqJSbdE7D8IWonHUg== Recoleta 10 3 386 357 2000000 Departamento
uk0PiAS6iZD7J4xWKHwt9w== Palermo 5 3 386 269 2700000 Departamento
CWJtjaD9xYt8Wim1ZVho8w== Recoleta 6 3 380 360 2500000 Departamento
P9V3n+aGjG60YC/bzI5hNA== Palermo 5 6 380 380 3000000 Casa
is0u/Do98zDw5uHWpTXKmQ== Palermo 8 3 380 380 2850000 Casa
LOHQDKuvTGpCTNbdifYrMA== Belgrano 7 6 377 338 2750000 Departamento
y7SngfemDIIX4C9xWOtoOw== Belgrano 6 4 375 345 2490000 Departamento
YYKPSb8zKAOBuMMq0yHqIw== Las Cañitas 5 6 374 330 3500000 Departamento
2G+0lodjl0wDhARWgGN7eg== Palermo 6 5 370 330 2300000 Departamento
9d69MKuUKxTOZo7Dlwf63A== Belgrano 5 4 370 250 4000000 Departamento
aqid5E8CW9PZvpPR1Ro9eg== Belgrano 5 4 370 250 4000000 Departamento
L4DTp6Tp+qUIHuGXe1U84w== Puerto Madero 5 3 361 308 2650000 Departamento
xqCDtYfnu30NIQK73120Gw== Palermo 8 3 360 322 2550000 Departamento
w9sDR17XF8CwiDvRu6tBUw== Palermo 4 4 360 360 2400000 Departamento
+9NOPldiqhJZGnfJR68L9A== Palermo 5 5 360 300 3000000 Departamento
KXroYHfaGITOpTfr2LJGOQ== Palermo 5 5 360 300 3000000 Departamento
Tv6YEBZjsY47kib98xfhsA== Belgrano 5 4 357 328 3500000 Departamento
LiNNm5ySMHWuhOQDxVCaZw== Palermo 4 3 354 322 2550000 Departamento
CEKekNjhAJ1Z7JCJ1VCbVA== Barrio Norte 5 4 350 260 2300000 Departamento
uuoWgDFhfTK+1A0lUd1A6w== Palermo 6 4 350 260 2300000 Departamento
FELJrZlNtrKKrguYTLNRZg== Nuñez 6 4 350 350 3500000 Departamento
Is24vixQLM9EGPPrYRarCg== Puerto Madero 4 4 345 345 3000000 Departamento
C7p5HBCr1G6tya9blj00XA== Nuñez 5 4 340 340 2340000 Departamento
7vHAACH1v9747TFFLVLPew== Nuñez 5 4 340 340 2340000 Departamento
iPttThWRWa1AmimiPpmdRQ== Nuñez 5 4 340 340 2340000 Departamento
xBshEQf3xWHnDFfGVGxjQQ== Puerto Madero 5 6 335 335 3000000 Departamento
c6vFIjojPbXFEma+S8dX+Q== Recoleta 5 3 335 335 2200000 Departamento
SybqkjR4dxRDNLSbOpkCrw== Belgrano 8 4 335 335 2950000 Departamento
A0Aj+vBZ9QjWP4NILSk9jg== Puerto Madero 5 4 334 334 2500000 Departamento
Tk97zD/E0jSLEx8iw9VnLw== Puerto Madero 4 5 334 334 2500000 Departamento
JXrdeHSd5qYXQzOI47a0+w== Puerto Madero 4 5 334 334 2500000 Departamento
oPgSrCqJ4vngJvE2ntUkxA== Puerto Madero 4 6 334 334 2900000 Departamento
ZOr+ZTm0LD/vnBnK1LyySQ== Puerto Madero 5 6 332 332 3000000 Departamento
pRbuOopRMgvCrwPEB2z4LA== Puerto Madero 4 3 331 331 2900000 Departamento
CX8X6DdNYzV6anDKj/Hi/w== Puerto Madero 4 3 331 331 2900000 Departamento
vHhWopbJeL6K3LEmjq1a2w== Recoleta 5 5 331 306 2200000 Departamento
QSh5e+c9ZXPrCHZfkSHBTA== Palermo 5 4 330 309 2400000 Departamento
BbljTeu5ZOmAL85D+grVAw== Belgrano 6 6 330 300 2700000 Departamento
khXA3QwrW4HuY/lgAiw3nw== Puerto Madero 5 5 326 282 2727110 Departamento
+pg5SZnYUIWPmoC/QdSAsw== Palermo 5 4 326 326 4500000 Departamento
xy23FrLnOdNvy1tPPNwQyA== Palermo 6 6 326 326 2740000 Departamento
qWYrj2vKYHRI7vibYhdsww== Palermo 6 3 325 325 2200000 Departamento
z1ele3nPbRxXz8cdWCbVcA== Palermo 6 3 325 325 2200000 Departamento
6AWCQ0aKwll+grHeXWQHzg== Belgrano 4 4 325 300 2600000 Departamento
MQsLbAOruz81ibPZAWScUg== Palermo 5 2 325 317 2150000 Departamento
hzHeR3SxUslaHfeqc+vtxw== Palermo 6 3 325 325 2200000 Departamento
kHlM4e7Dsy418SvO9FCzjA== Palermo 6 3 325 325 2200000 Departamento
+bZ6GjpVQ3o6+vX8HuwTEA== Palermo 6 3 320 311 3100000 Departamento
AZfl3YlwlrqvtyEWsKaD3Q== Palermo 4 3 320 320 2400000 Departamento
isMQY5djHFbsbVPYmNTb9w== Palermo 8 3 315 315 2400000 Departamento
pGj+5z6BeePx+kdbP4KivA== Palermo 4 2 314 296 4300000 Departamento
Y1N7SELsGmc2ysGhB0Bacg== Palermo 4 3 311 290 4000000 Departamento
hHIupRAlRsFybLR8wB5Pig== Palermo 5 3 311 290 4000000 Departamento
E9qZ+Cc94vJgWj5nM5gDew== Palermo 5 5 311 311 4600000 Departamento
Kl/10vMEzcQoyrziSL/bQQ== Puerto Madero 5 6 310 310 2800000 Departamento
rgL1QTrojLZ7UP4Dk44yAA== Palermo 4 3 310 295 2800000 Departamento
ZpHgGDfArDre0e6oONvmog== Palermo 5 3 310 290 4900000 Departamento
wmX+BxLmS3MsEYHIC3RFvg== Belgrano 5 4 309 290 2400000 Departamento
Pu9zP57REbSDY9ki7IRprw== Puerto Madero 5 3 308 220 2550000 Departamento
FzPAAOoJgiNNcdiinCGCAw== Palermo 5 3 307 307 2300000 Departamento
Sf03yCHcGDI9RuyjMVOJqg== Palermo 5 5 306 306 2300000 Departamento
Q4F8ggWPHIy70A/WULI//w== Palermo 5 3 306 300 2395000 Departamento
vFwcAEVQ9EcjfrhvcQgfwg== Palermo 5 3 306 300 2150000 Departamento
HAKKkcIiuyxt2/LP/F5u9A== Belgrano 5 3 306 300 2150000 Departamento
snxoHzfomlpUv2cJKF7clg== Belgrano 5 3 306 300 2150000 Departamento
RDci3qae1Qm8dC0Lx4IwSg== Belgrano 5 3 306 300 2150000 Departamento
ydSm3CfhkaGECaacc3EL3g== Belgrano 5 3 306 300 2150000 Departamento
pZUdZNIGaztumEYVLLKZiw== Palermo 5 5 306 306 2300000 Departamento
DnpSGXYFNvKPFdGmumBE2A== Puerto Madero 5 6 303 303 2750000 Departamento
EBd2NWmWo/ROquYuG/EdZA== Puerto Madero 5 6 303 303 2600000 Departamento
mKCc9VBC+Ddy+ed1AipNlw== Palermo 7 3 300 300 2900000 Departamento
PembNVfBK2vcnox0xPz1xA== Palermo 6 5 300 300 2250000 Departamento
bAptb+5qONbjdknJf57Byg== Palermo 6 5 300 300 2250000 Departamento
7jOZdJbTGAnFJH5Yonjxmw== Nuñez 6 3 300 300 3100000 Departamento
2fO9fNRYDBgbO8VT41xj1g== Puerto Madero 5 5 296 258 2502468 Departamento
vbCWdL7mglsb636vMPf3+Q== Palermo 6 3 292 292 2850000 Departamento
AdAKGfhPBZu3yhK4jYrKuQ== Puerto Madero 4 4 292 292 2500000 Departamento
/HZyeR4d+kglSIvpUIJrDw== Puerto Madero 4 4 292 292 2500000 Departamento
Q2XHHqFd0xdYHbtJ7oJfFg== Nuñez 5 4 286 286 2300000 Departamento
T2sefgaFLQH3WbnqjCDmjg== Palermo 4 5 280 280 3500000 Departamento
VDuDccLoxPlWfYPgOfRIlg== Palermo 4 5 280 280 3500000 Departamento
/dCExDJiH2gmg9DXUWsuEw== Palermo 4 3 276 255 4000000 Departamento
UYnJvuJpRjzNWYziUNAWXg== Palermo 4 4 275 275 3450000 Departamento
5k4s9pU+td15F/UibpWqYg== Palermo 5 4 271 271 3500000 Departamento
AQ4iK3ko2EgWHILyxVykzg== Palermo 6 3 270 270 3700000 Departamento
xONCQezUwqCKNroRFVnfpw== Palermo 6 3 270 270 3450000 Departamento
1vhP8pYXcJrbzgnCEDu1xQ== Palermo 4 3 270 250 3800000 Departamento
nmT+GS4/l4t8ujR29SnYgQ== Palermo 4 3 270 250 4200000 Departamento
isEUD5B95sbsSsmvmQHNiA== Palermo 4 3 270 250 3800000 Departamento
rIEm/9nh0CjhM3LrIxYOqw== Palermo 5 3 267 254 2950000 Departamento
Ir7xhlqbzE0E+TEQIuTQ1Q== Palermo 7 4 266 266 2500000 Departamento
OSRuaG19M8uyIo2n4m1E3Q== Belgrano 4 3 261 230 2350000 Departamento
KzBVxeygGhwpsPIEyOqOYg== Belgrano 5 3 261 227 2300000 Departamento
i9yF0CcX1AR+CwjTa2fKag== Palermo 4 3 260 250 3500000 Departamento
2RMDppz17083+kPi3wT9ww== Belgrano 4 3 257 230 2550000 Departamento
OrhIWJq+hHQGRgMuApOLVg== Puerto Madero 4 5 255 188 2200000 Departamento
uoWhDuriTliC5xYmd0UBag== Puerto Madero 4 5 253 188 2200000 Departamento
vpePOdVI6PWjEFaoulbJJQ== Puerto Madero 4 5 253 188 2200000 Departamento
6R5cg4ItdIvvCQtUh7WvkA== Puerto Madero 4 5 253 188 2200000 Departamento
GNwxU5/yZNWsliehpwUO9w== Puerto Madero 5 3 253 187 2000000 Departamento
6sIaEKyzK1WsQZe0P8HBNg== Puerto Madero 4 5 253 188 2000000 Departamento
Hs1sls3W8GgaRHlBm2p0nA== Palermo 4 3 250 250 3450000 Departamento
kYyhHgh/PVrGxmrxqJd2YQ== Palermo 4 3 250 250 3450000 Departamento
Ti029oZ5PpU4n7KZHE/CTg== Palermo 4 3 250 250 3500000 Departamento
na50yrnfgczFsEVOMWo1/w== Palermo 4 3 250 250 3450000 Departamento
vf7rjiK7176YlMFn8Ym7Zg== Palermo 4 3 250 250 3500000 Departamento
afvbmSyC6NipsR98XENWfw== Palermo 5 2 250 250 2400000 Casa
AopP3HAKzSGkyUZE2XFIWA== Puerto Madero 3 3 248 182 2000000 Departamento
Xy5tJbNnUqrQbCcHBU3rGw== Puerto Madero 4 3 248 182 2000000 Departamento
Idt6M7xgmsLKqOKquNCu7A== Puerto Madero 4 5 248 182 2000000 Departamento
nRlKf2n6NLsTlp6C4X5RsQ== Almagro 3 5 234 1223 3333332 Casa
SqxVgMk2/yXZSgpJF4ue9Q== Puerto Madero 4 5 222 222 2300000 Departamento
olVixjKilboR9q+BcxSDcQ== Palermo 6 4 222 210 2100000 Departamento
6NsJeg4NfL+SGAgldSap0w== Puerto Madero 4 4 214 205 2500000 Departamento
HWNtBJXSh4Wj42hAco8T2w== San Nicolás 3 1 60 56 5000345 Departamento
e+pXYxhvxd0snbhYvdXQXQ== Puerto Madero 2 1 54 54 3150000 Departamento
Jz4acv7Dz6pRjsnqQUXrOQ== Caballito 1 1 41 37 5112000 Departamento
1R9Q7qVR1u9hrcCqoZQEsg== Caballito 1 1 41 37 5112000 Departamento
6DhCrrgGNPdb+OS/4D3aEA== Caballito 1 1 41 37 5112000 Departamento

Existen propiedades con precios muy altos y con una superficie baja, estos casos probablemente son errores, por ende se omiten aquellas propiedades con un precio superior a 2M y con una superficie menor o igual a 60m2.

##Filtrar valores inferiores al primer cuartil
properties_filtered = properties_filtered %>% 
  filter( 
          !(surface_total <= 60 & price >= 2000000)
          ) %>%                          
     arrange(desc(surface_total))                  ##Ordenar por superficie

Variable superficie

En este caso se observaron valores muy altos, a continuación se indagan mas a detalle.

Comportamiento q3

##Filtrar valores superiores al tercer cuartil
properties_outliers = properties_filtered %>% 
  filter(surface_total >= quantile(surface_total, 0.75) & 
         surface_total <= max(surface_total))


ggplot(properties_outliers, aes( x=1:length(surface_total), y=sort(surface_total))) +  ## Plot valores ordenados
  geom_point(stat='identity', aes(col=property_type))   +              ## Gráficar por tipo de propiedad
  labs(y="Superficie total m2 ordenado", 
       x="Propiedades", 
       title="Superficie total m2 superiores al q3 ordenados")

Se opta por análizar los valores con una superficie superior a 1000 m2.

##Filtrar valores inferiores al primer cuartil
properties_outliers = properties_filtered %>% 
  filter(surface_total >= 1000 & 
         surface_total <= max(surface_total)) %>%                          
     arrange((price))                  ##Ordenar por % nulos


kable(properties_outliers) %>%
  kable_styling(bootstrap_options = c("striped", "hover", "condensed", "responsive"))
id l3 rooms bathrooms surface_total surface_covered price property_type
Smvr2mnWqN5lF54Jg1hyiQ== Balvanera 1 1 2171 2171 45000 Departamento
VYXOpOmpaJnJAff2n6jpvw== Floresta 1 1 2075 2075 49900 Departamento
FoYur2oBYZBJldoOCJo0rA== Villa Crespo 2 1 3530 3530 60000 Departamento
48KETQKP0tIXWS6AKIGS8Q== Balvanera 1 1 3350 2982 69000 Departamento
/WIre6hVI+Jx7RclLk5z7Q== Balvanera 2 1 3950 3950 69500 Departamento
Y7n81JrVMjTot31EqwN8Tw== Balvanera 1 1 3244 2949 70000 Departamento
935m+LkMGWXvHEImEPrUeA== Flores 1 1 2773 2773 75000 Departamento
UvBAlp5XM85WREEhUd55qg== Congreso 1 1 2948 2948 80000 Departamento
PC1kecAw4btHhQsrvOalKw== Villa Lugano 3 1 9324 60 85000 Departamento
BcuAyyVFFW9s0M9kVSjh4g== Monserrat 2 1 3935 3935 87000 Departamento
gEVfFJ02J/dOB1sI/IjrcA== Monserrat 2 1 3935 3935 87000 Departamento
CeK16CXUUr5maVxbX+jtwg== Monserrat 2 1 3935 3935 87000 Departamento
qutf0DmbLz8SbSy3pube+Q== Villa Ortuzar 2 1 3840 37 88000 PH
rQ/CmKaZK7HwXhyWHF/Z3Q== Boedo 3 1 4421 44 89000 PH
6xfxPcVGo+3k///EJNchDA== Villa Urquiza 1 1 3851 3711 95000 Departamento
rSpPrh1PRcoRfgtJiM1vxA== Liniers 3 1 4780 44 97500 Departamento
g7xoMc8yZVfcLPzMYlSEZQ== Centro / Microcentro 2 1 4415 38 105000 Departamento
U4u1yusCfDtNeJFDsdc/Xw== Belgrano 2 1 3608 34 110000 Departamento
iVon8X7T1m1If/uuVX4UKQ== Villa Luro 3 1 6085 58 117000 Departamento
0owg+zQr0qS5FFC/XvP2DQ== Parque Chacabuco 1 1 5821 5821 119260 Departamento
1HT86/PEFzsao+r9BUNHTQ== Floresta 5 2 6600 200 120000 Casa
FCGLm8FQyPu1vHkUn3gWWg== Villa Luro 3 2 6085 58 120000 Departamento
rsPfbHLtdUkClhOs/g4ZhA== Paternal 3 1 5821 53 120000 PH
qGN99EaGKqI/Il7NzL9GrA== Almagro 2 1 4150 37 120000 Departamento
x+zxnDaPURXh+Wi78XUsTA== Boca 3 1 5737 5737 131000 Departamento
nlFlo8JdFybD4qGBpkYHjg== Belgrano 1 1 4500 42 134000 Departamento
okIcPtWitqzdEg9x6ZMfrw== Coghlan 1 1 3910 3612 135000 Departamento
ZyxERj0cszayeN3xxKUPNw== Parque Chas 2 1 9530 47 139000 Departamento
XCPrUEikH8KkuL6qENiz1Q== Flores 2 1 6905 62 139900 Departamento
B87EinonWGl5r1F3SRTGdw== Flores 2 1 5343 5343 142000 Departamento
qD91qqmGEKDIdW66qHdyqg== Palermo 3 1 4534 42 145000 Departamento
U5YKxoJoiWwsxuJQojS7Cg== Nuñez 1 1 5647 49 158116 Departamento
WB+3pcFRe9zYpw8zLhgtbA== Caballito 2 1 5616 5616 160000 Departamento
UyBBT4AmCu2J5i211P/sqQ== Paternal 3 1 9053 8050 165000 Departamento
5sUR9WCvTvF4BE+U/Pc97A== Nuñez 2 2 5116 5116 165000 Departamento
kr2RCFqA7SYdNk1qxNtZ3A== Caballito 2 1 5616 5616 180000 Departamento
1ZFSp3wo8hD0xxCiW+emsA== San Cristobal 3 1 10145 10145 189900 PH
V3pVDoPfhoUe+ULhhyPG9A== San Telmo 2 1 4268 40 195000 Departamento
bNcHCG3vIv3vDMiSWfC7XQ== Palermo 4 1 6845 5930 210000 Departamento
6FE6HdydwPh+iYwV5yvkvQ== Caballito 5 3 126062 126062 215000 PH
cIGewazzkncAlQaE92/gIw== Nuñez 3 1 5592 49 225000 Departamento
Uu5AyztfMvxuqd0sTZiK0w== Parque Centenario 4 1 11250 8830 229000 Departamento
Zg4ZSJ8153FqtFFd0affcA== Once 3 2 10228 98 230000 Departamento
+jo2/C3cpEQSW0ZWXuHKOQ== Caballito 5 3 126062 126 240000 PH
7IS1CGC1Cb/MyzTE8p5zzQ== Retiro 4 3 1024 200 240000 Casa
XP/us//1gMZYL76CsAbItQ== Saavedra 2 1 3200 3200 250000 Departamento
rDo1POn/F1aTMMbwOOSG7A== Caballito 4 1 1077 1077 250000 PH
69CbpswzYeazLKqHpLNQgA== Caballito 4 1 1077 1077 250000 PH
ANxpFuZUFwqntJniDv5uMQ== Caballito 4 1 1077 1077 250000 PH
UP+OsOBam+O7Zwyb+2j1XQ== Villa General Mitre 3 2 10370 86 255000 Departamento
ku2e/pqYgFR7DX5iw1rwIw== Villa Urquiza 4 2 16725 88 300000 Casa
8mmwJjyPqLZpWlDEQLiEbw== Liniers 3 3 11100 110 360000 Departamento
EiEdO6wsR9l0A1vUnosKwA== Villa Luro 5 2 1054 248 598000 Casa
+yOu+3+nSqbcMM1LxDaumQ== Villa Lugano 6 3 1087 398 610000 Casa
+MYffTHRRyIXvtf4fh1CIQ== Villa Devoto 7 5 2000 400 750000 Casa
s2ruXF7fVG8g4/eE/1MGAg== Villa Devoto 7 5 2000 400 750000 Departamento
7x/zGaza+j1AqRpu0xVXGg== Villa Devoto 7 5 2000 400 750000 Casa
wB7s2asw3VOhGhJbnNlpDA== Parque Chacabuco 6 7 1400 750 750000 Casa
eXQFFFVsn5wH9EMnJiexXA== Parque Chacabuco 6 7 1400 750 800000 Casa
OdC1XxxSPHxjHXA9ZVvgvA== Caballito 12 6 1300 1100 1000000 Casa
VFEkYMIbaLYjYCKe82rjQw== Parque Chacabuco 7 7 1529 1276 1200000 Casa
HoevWJvdA7Z5SHXoXSwKkA== San Cristobal 8 5 1000 700 1490000 Casa
hUAzcvBcszvDe/NWd7zBBA== Palermo 12 2 1000 500 1500000 PH
Tv3srPsBjS8eir91O+pSzg== Villa del Parque 10 6 1500 1400 2200000 Casa
z71POS0zfEzP6bkt9ytFLA== Belgrano 10 5 1015 1013 2200000 Casa
uNwBTY6ONd76me4LJCvrsw== Recoleta 8 3 1216 946 2490000 Casa
JitBT9pTTCDKD+38nZOggg== Belgrano 9 5 1150 850 4000000 Casa
2iFRv302I2Rrq0wBa8EiKA== Villa del Parque 10 4 2000 1400 5000000 Casa

Se evidencian propiedas con superficies muy lejanas de la distribución, adicionalmente no presentan un precio muy elevado o una gran cantidad de habitaciones, por ende se toma la decisión de omitir estos casos.

##Filtrar valores inferiores al primer cuartil
properties_filtered = properties_filtered %>% 
  filter( 
          !(surface_total >=1000 & price <=1000000)
          ) 

Análisis descriptivo dataset tratado

A continuación se repite el análisis sobre el nuevo dataset.

Si bien aun se siguen observando valores muy altos, no existe suficiente evidencia para asumir que son errores, ya que estos valores muy altos corresponden a propiedades de gran tamaño. Como se mencionó anteriormente se omitieron aquellas propiedades donde el precio de la transacción no era proporcional al tamaño de la propiedad, tanto para valores superiores como inferiores.

La asimetría positiva se mantiene, lo que indica que aun la mayoría de precios son valores bajos y unos pocos valores son muy altos en comparación al resto.

Por otro lado en la variable superficie también se omitieron aquellas propiedades donde el tamaño de la propiedad no era coherente con el precio.

El precio presenta un coeficiente de correlación de 0.68 con la superficie total de la propiedad, mientras que con las habitaciones es de 0.50, esto genera una primera impresión de la relación lineal de esta variable con sus pares. ### Medidas de posición del precio

summary_price = summarise(
                          properties_filtered, 
                          mean =mean(price),
                          max = max(price),
                          min = min(price),
                          q1 = quantile(price,0.25), 
                          q2 = quantile(price,0.5),
                          q3 = quantile(price,0.75))


kable(summary_price) %>%
  kable_styling(bootstrap_options = c("striped", "hover", "condensed", "responsive"))
mean max min q1 q2 q3
251408.6 6e+06 12000 119000 170000 271800
ggplot(properties_filtered, aes(price)) +                        ## Hist. precio
  geom_histogram(color="black", fill="tomato", bins = 40) +      ## 40 bins 
    labs(x="Precio USD ordenado", 
       y="Cant. Propiedades", 
       title="Distribución del precio")

Medidas de posición del precio por tipo de propiedad

summary_price_g = summarise(
                    group_by(properties_filtered, property_type), 
                      mean =mean(price),
                      max = max(price),
                      min = min(price),
                      q1 = quantile(price,0.25), 
                      q2 = quantile(price,0.5),
                      q3 = quantile(price,0.75))

kable(summary_price_g) %>%
  kable_styling(bootstrap_options = c("striped", "hover", "condensed", "responsive"))
property_type mean max min q1 q2 q3
Casa 433612.7 5000000 55000 235000 335000 490000
Departamento 246703.8 6000000 12000 115000 164000 260000
PH 218842.0 1500000 42000 137000 190000 272000
ggplot(properties_filtered, aes(x = property_type, y = price)) +
  geom_boxplot() + geom_boxplot(aes(color = property_type)) +
  coord_flip() +
    labs(x="Precio USD", 
       x="Tipo de Propiedades", 
       title="Boxplot precio por tipo de propiedades")

properties_filtered %>%
  select(-id,-l3) %>%                                   ## Omitir variables
  mutate(property_type = factor(property_type)) %>%     ## Tipo de prpiedad como factor
  ggpairs(.,                                            ## Correlalograma
          title = "Matriz de correlaciones",
          mapping = aes(colour= property_type))         ## Color por tipo

dim(properties_filtered)
## [1] 51089     8

Regresión

Rooms vs Price

g <- ggplot(properties_filtered, aes(x=rooms, y=price)) +     ## Plot rooms vs price
  geom_point(aes(col=property_type)) +                        ## scatter color por tipo de propiedad
  geom_smooth(method="lm")    +                               ## Añadir linea de suvizado líneal
  labs(y="Precio USD", 
       x="Cant. Habitaciones", 
       title="# Habitaciones VS Precio por tipo de propiedad")

ggMarginal(g, type = "histogram", fill="transparent")         ## Añadir hist. en cada eje, sin color

Se procede a la implementación del modelo de regresión líneal simple.

#Armamos el modelo
rl_model<-lm(price ~  rooms, data = properties_filtered)

# Imprimimos los coeficientes del modelo
print(rl_model$coefficients)
## (Intercept)       rooms 
##   -43115.42   105127.02
summary(rl_model)
## 
## Call:
## lm(formula = price ~ rooms, data = properties_filtered)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -2720949   -97393   -32266    37861  5412353 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -43115.4     2485.5  -17.35   <2e-16 ***
## rooms       105127.0      794.6  132.31   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 249900 on 51087 degrees of freedom
## Multiple R-squared:  0.2552, Adjusted R-squared:  0.2552 
## F-statistic: 1.75e+04 on 1 and 51087 DF,  p-value: < 2.2e-16

Nuestro modelo queda construído de la siguinete manera para la estimación del precion con base al número de habitaciones de la propiedad.

\[ price = -43.016 + 105.080(rooms)\] * Los residuos, la diferencia entre el valor real y el valor pronósticado por el modelo, deberían tener una distribución normal, cuyo promedio sea cero (0), en este caso el promedio de los residuos es de -32.266.

  • El intercepto, es decir el valor de origen de la recta donde se cruza con el eje vertical es de -43.016, este es el monto de partida de la recta modelada, el valor promedio de las propiedaes cuando tienen 0 habitaciones; este valor no resulta muy útil puesto que las propiedades no pueden tener 0 habitaciones.

  • Por otro lado el coeficiente de habitaciones índica que el para módelo que por cada habitación que tenga la propiedad el precio estimado por el mismo, aumentará 105.080 USD.

  • El desvio estándar de ambos coeficientes es relativamente bajo, lo cuál índica que si el mismo módelo se ejecuta varias veces la variación de los coeficientes no será muy amplía.

  • El nivel se significancia de ambos coeficientes es bastante bueno, lo que muestra que los hallazgos no fueron cuestión del azar, por lo cual el módelo es estadísticamente significativo.

  • El error estándar residual mide la calidad del ajuste del módelo, la cantidad promedio en el que la respuesta estimada del precio se desviará de la línea de regresión verdadera de los datos. En el modelo, el precio estimado puede desviarse de la línea de regresión verdadera en promedio 250.100 USD. Por otro lado este eror se calculó con 51.087 grados de libertad, para ello se tienen en cuenta los puntos que se usaron para estimar y los parámetros del modelo. En este caso se contaba con 51.089 puntos y dos parámetros (intercepto y pendiente).

  • El valor R2 índica que el modelo actual, usando como predictor rooms, es capaz de explicar un 25% de la variabilidad observada en el precio de las propiedades.

Surface_total vs Price

g <- ggplot(properties_filtered, aes(x=surface_total, y=price)) +     ## Plot rooms vs price
  geom_point(aes(col=property_type)) +                        ## scatter color por tipo de propiedad
  geom_smooth(method="lm")       +                             ## Añadir linea de suvizado líneal
  labs(y="Precio USD", 
       x="Superficie total m2", 
       title="Superficie total VS Precio por tipo de propiedad")

ggMarginal(g, type = "histogram", fill="transparent")         ## Añadir hist. en cada eje, sin color

Se procede a la implementación del modelo de regresión líneal simple.

#Armamos el modelo
rl_model<-lm(price ~  surface_total, data = properties_filtered)

# Imprimimos los coeficientes del modelo
print(rl_model$coefficients)
##   (Intercept) surface_total 
##     23333.980      2494.821
summary(rl_model)
## 
## Call:
## lm(formula = price ~ surface_total, data = properties_filtered)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -2637916   -45487   -15054    19865  4479773 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   23333.98    1420.32   16.43   <2e-16 ***
## surface_total  2494.82      11.72  212.90   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 210800 on 51087 degrees of freedom
## Multiple R-squared:  0.4701, Adjusted R-squared:  0.4701 
## F-statistic: 4.533e+04 on 1 and 51087 DF,  p-value: < 2.2e-16

Nuestro modelo queda construído de la siguinete manera para la estimación del precion con base al número de habitaciones de la propiedad.

\[ price = 23.334 + 2495(surfacetotal)\] * Los residuos, la diferencia entre el valor real y el valor pronósticado por el modelo, deberían tener una distribución normal, cuyo promedio sea cero (0), en este caso el promedio de los residuos es de -15.054

  • El intercepto, es decir el valor de origen de la recta donde se cruza con el eje vertical es de 23.334, este es el monto de partida de la recta modelada, el valor promedio de las propiedaes cuando tienen 0 m2; este valor no resulta muy útil puesto que las propiedades no pueden tener 0 m2.

  • Por otro lado el coeficiente de superficies índica que para el módelo que cada m2 que tenga la propiedad el precio estimado por el mismo, aumentará 105.080 USD.

  • El desvio estándar de ambos coeficientes es relativamente bajo, lo cuál índica que si el mismo módelo se ejecuta varias veces la variación de los coeficientes no será muy amplía.

  • El nivel se significancia de ambos coeficientes es bastante bueno, lo que muestra que los hallazgos no fueron cuestión del azar, por lo cual el módelo es estadísticamente significativo.

  • El error estándar residual mide la calidad del ajuste del módelo, la cantidad promedio en el que la respuesta estimada del precio se desviará de la línea de regresión verdadera de los datos. En el modelo, el precio estimado puede desviarse de la línea de regresión verdadera en promedio 210.800 USD. Por otro lado este eror se calculó con 51.087 grados de libertad, para ello se tienen en cuenta los puntos que se usaron para estimar y los parámetros del modelo. En este caso se contaba con 51.089 puntos y dos parámetros (intercepto y pendiente).

  • El valor R2 índica que el modelo actual, usando como predictor la superficie total, es capaz de explicar un 47% de la variabilidad observada en el precio de las propiedades.

Conclusiones

Como se comprobó durante el documento, existen datos que probablemente correspondan a errores al momento de ingresar los datos, por lo cual fue necesario removerlos. Si bien se implementaron dos modelos, ninguno de ellos logra captar ni el 50% de la variabilidad del precio, quizá al añadir mas variables los resultados mejoren. De cualquier modo la superficie total fue la varible que más logró captar la variabilidad el precio, adicionalmente el error promedio por predicción de este módelo fue menor en comparación al número de habitaciones.