Due variabili esplicative numeriche

Regressione intermedia in R

Richie Cotton

Data Evangelist at DataCamp

Visualizzare 3 variabili numeriche

  • Scatter plot 3D
  • Scatter plot 2D con risposta come colore
Regressione intermedia in R

Un'altra colonna per il dataset dei pesci

species mass_g length_cm height_cm
Bream 1000 33.5 18.96
Bream 925 36.2 18.75
Roach 290 24.0 8.88
Roach 390 29.5 9.48
Perch 1100 39.0 12.80
Perch 1000 40.2 12.60
Pike 1250 52.0 10.69
Pike 1650 59.0 10.81
Regressione intermedia in R

Scatter plot 3D

library(plot3D)

scatter3D(fish$length_cm, fish$height_cm, fish$mass_g)
library(plot3D)
library(magrittr)

fish %$%
  scatter3D(length_cm, height_cm, mass_g)
Regressione intermedia in R

Scatter plot 3D

library(plot3D)
library(magrittr)

fish %$%
  scatter3D(length_cm, height_cm, mass_g)

Grafico a dispersione 3D: lunghezza, altezza e massa dei pesci

Regressione intermedia in R

Scatter plot 2D, colore per la risposta

ggplot(
  fish, 
  aes(length_cm, height_cm, color = mass_g)
) +
  geom_point()

Grafico a dispersione 2D con colore: lunghezza, altezza e massa dei pesci

Regressione intermedia in R

Scale di colore Viridis

ggplot(
  fish, 
  aes(length_cm, height_cm, color = mass_g)
) +
  geom_point() +
  scale_color_viridis_c(option = "inferno")

Scale di colore Viridis (opzione inferno) applicate allo scatter plot

Regressione intermedia in R

Modellare con 2 variabili esplicative numeriche

mdl_mass_vs_both <- lm(mass_g ~ length_cm + height_cm, data = fish)
Call:
lm(formula = mass_g ~ length_cm + height_cm, data = fish)

Coefficients:
(Intercept)    length_cm    height_cm  
    -622.16        28.97        26.34
Regressione intermedia in R

Il flusso di previsione

explanatory_data <- expand_grid(
  length_cm = seq(5, 60, 5),
  height_cm = seq(2, 20, 2)
)

prediction_data <- explanatory_data %>% 
  mutate(
    mass_g = predict(mdl_mass_vs_both, explanatory_data)
  )
Regressione intermedia in R

Rappresentare le previsioni

ggplot(
  fish, 
  aes(length_cm, height_cm, color = mass_g)
) +
  geom_point() +
  scale_color_viridis_c(option = "inferno") +
  geom_point(
    data = prediction_data, shape = 15, size = 3
  )

Punti di previsione sovrapposti allo scatter plot colorato

Regressione intermedia in R

Includere un'interazione

mdl_mass_vs_both_inter <- lm(mass_g ~ length_cm * height_cm, data = fish)
Call:
lm(formula = mass_g ~ length_cm * height_cm, data = fish)

Coefficients:
        (Intercept)            length_cm            height_cm  length_cm:height_cm  
           159.1144               0.3001             -78.1234               3.5455
Regressione intermedia in R

Di nuovo il flusso di previsione

explanatory_data <- expand_grid(
  length_cm = seq(5, 60, 5),
  height_cm = seq(2, 20, 2)
)

prediction_data <- explanatory_data %>% 
  mutate(
    mass_g = predict(mdl_mass_vs_both_inter, explanatory_data)
  )
Regressione intermedia in R

Rappresentare le previsioni

ggplot(
  fish, 
  aes(length_cm, height_cm, color = mass_g)
) +
  geom_point() +
  scale_color_viridis_c(option = "inferno") +
  geom_point(
    data = prediction_data, shape = 15, size = 3
  )

Previsioni con interazione sovrapposte allo scatter plot colorato

Regressione intermedia in R

Esercitiamoci!

Regressione intermedia in R

Preparing Video For Download...