Wyjaśnianie ceny domu przez rok i rozmiar

Modelowanie danych w Tidyverse

Albert Y. Kim

Assistant Professor of Statistical and Data Sciences

Przypomnienie: ceny domów w Seattle

library(dplyr)
library(moderndive)

# Preview only certain variables:
house_prices %>% 
  select(price, sqft_living, condition, waterfront) %>% 
  glimpse()
Observations: 21,613
Variables: 4
$ price       <dbl> 221900, 538000, 180000, 604000...
$ sqft_living <int> 1180, 2570, 770, 1960, 1680, 5420...
$ condition   <fct> 3, 3, 3, 5, 3, 3, 3, 3, 3, 3, 3...
Modelowanie danych w Tidyverse

Przypomnienie: zmienne ceny i rozmiaru

Modelowanie danych w Tidyverse

Przypomnienie: transformacja log10

Modelowanie danych w Tidyverse

Przypomnienie: transformacja danych

# log10() transform price and size
house_prices <- house_prices %>%
  mutate(
    log10_price = log10(price),
    log10_size = log10(sqft_living)
  )
Modelowanie danych w Tidyverse

Model ceny domu

  • Zmienna zależna $y$ – cena domu (USD): price
  • Dwie numeryczne zmienne objaśniające:
    • $x_1$ – rozmiar domu: log10_size
    • $x_2$ – rok budowy: yr_built
Modelowanie danych w Tidyverse

Eksploracyjna wizualizacja ceny, rozmiaru i roku budowy

Wykres 3D log10_price, log10_size i yr_built

Modelowanie danych w Tidyverse

Płaszczyzna regresji

Wykres 3D z płaszczyzną regresji (link do wersji interaktywnej).

Modelowanie danych w Tidyverse

Tabela regresji

# Fit regression model using formula of form: y ~ x1 + x2
model_price_1 <- lm(log10_price ~ log10_size + yr_built, 
                    data = house_prices)

# Output regression table get_regression_table(model_price_1)
# A tibble: 3 x 7
  term       estimate std_error statistic p_value...
  <chr>         <dbl>     <dbl>     <dbl>   <dbl>...
1 intercept   5.38      0.0754       71.4       0...
2 log10_size  0.913     0.00647     141.        0...
3 yr_built   -0.00138   0.00004     -33.8       0...
Modelowanie danych w Tidyverse

Czas na ćwiczenia!

Modelowanie danych w Tidyverse

Preparing Video For Download...