Dua variabel penjelas numerik

Regresi Tingkat Menengah di R

Richie Cotton

Data Evangelist at DataCamp

Memvisualisasikan 3 variabel numerik

  • Plot sebar 3D
  • Plot sebar 2D dengan respons sebagai warna
Regresi Tingkat Menengah di R

Kolom lain untuk dataset ikan

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
Regresi Tingkat Menengah di R

Plot sebar 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)
Regresi Tingkat Menengah di R

Plot sebar 3D

library(plot3D)
library(magrittr)

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

sebar3d-ikan-panjang-tinggi-massa.png

Regresi Tingkat Menengah di R

Sebar 2D, warna untuk respons

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

sebar-2d-warna-ikan-panjang-tinggi-massa.png

Regresi Tingkat Menengah di R

Skala warna Viridis

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

sebar-warna-ikan-panjang-tinggi-massa-inferno.png

Regresi Tingkat Menengah di R

Pemodelan dengan 2 variabel penjelas numerik

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
Regresi Tingkat Menengah di R

Alur prediksi

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)
  )
Regresi Tingkat Menengah di R

Memplot prediksi

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
  )

sebar-warna-ikan-panjang-tinggi-massa-inferno-pred.png

Regresi Tingkat Menengah di R

Memasukkan interaksi

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
Regresi Tingkat Menengah di R

Alur prediksi lagi

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)
  )
Regresi Tingkat Menengah di R

Memplot prediksi

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
  )

sebar-warna-ikan-panjang-tinggi-massa-inferno-pred-inter.png

Regresi Tingkat Menengah di R

Ayo berlatih!

Regresi Tingkat Menengah di R

Preparing Video For Download...