Duas variáveis explanatórias numéricas

Regressão intermediária no R

Richie Cotton

Data Evangelist at DataCamp

Visualizando 3 variáveis numéricas

  • Dispersão 3D
  • Dispersão 2D com resposta como cor
Regressão intermediária no R

Outra coluna para o conjunto de dados de peixes

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
Regressão intermediária no R

Gráfico de dispersão 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)
Regressão intermediária no R

Gráfico de dispersão 3D

library(plot3D)
library(magrittr)

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

gráfico de dispersão 3D: comprimento, altura e massa dos peixes

Regressão intermediária no R

Dispersão 2D, cor para a resposta

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

dispersão 2D colorida por massa

Regressão intermediária no R

Escalas de cor Viridis

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

dispersão 2D com escala Viridis "inferno"

Regressão intermediária no R

Modelagem com 2 variáveis explanatórias numéricas

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
Regressão intermediária no R

O fluxo de previsão

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)
  )
Regressão intermediária no R

Plotando as previsões

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
  )

previsões sobrepostas no gráfico

Regressão intermediária no R

Incluindo uma interação

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
Regressão intermediária no R

De novo, o fluxo de previsão

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)
  )
Regressão intermediária no R

Plotando as previsões

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
  )

previsões com interação sobrepostas

Regressão intermediária no R

Vamos praticar!

Regressão intermediária no R

Preparing Video For Download...