Belajar R – Visualisasi Model Regresi dengan package visreg

By | July 30, 2024
1,605 Views

Model regresi digunakan untuk memisahkan/mengisolasi diantara sebuah keluaran/output dan variabel inputnya, untuk memudahkan visualisasi mengenai hasil regresi, kalian perlu menggunakan package visreg. Package ini juga mendukung model seperti linear model, generalized additive model. Melalui package visreg akan terlihat beberapan informasi seperti

  1. Residual
  2. Fitting

Dataset yang digunakan yaitu https://softscients.com/2020/03/26/buku-belajar-machine-learning-dengan-matlab-regresi-linear/ yaitu antara suhu dan jumlah cacat. Bisa kalian lihat melalui plot berikut yang mempunyai hubungan linear positif.

Dengan variabel dependen yaitu jumlah cacat dan suhu sebagai variabel independen, untuk menghitung regresi linear pada R menggunakan rumus https://softscients.com/2020/04/18/buku-belajar-dasar-dasar-statistika-dengan-r-regresi-linear-berganda-r-squared/

Menghasilkan persamaan regresi linear sebagai berikut

Call:
lm(formula = jumlah_cacat ~ suhu, data = produk)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.51523 -0.72716 -0.01523  0.79705  2.58512 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept) -24.38093    1.98402  -12.29 8.49e-13 ***
suhu          1.44983    0.08463   17.13 2.26e-16 ***
---
Signif. codes:  
0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.198 on 28 degrees of freedom
Multiple R-squared:  0.9129,	Adjusted R-squared:  0.9098 
F-statistic: 293.5 on 1 and 28 DF,  p-value: 2.255e-16

Didalam link tersebut juga dibahas mengenai residual yang sering disebut dengan error antara target dan prediksi. Nah dengan menggunakan package visreg maka, kita bisa melihat langsung ploting dalam 1 figure yaitu

  1. the expected value (blue line) atau garis fitting yang merupakan hasil prediksi
  2. a confidence interval for the expected value (gray band) atau interval kepercayaan untuk nilai yang diharapkan
  3. partial residuals (dark gray dots) atau nilai rentang residual

Berikut kode yang bisa kalian gunakan, lebih lengkapnya bisa kalian pelajari di https://pbreheny.github.io/visreg/index.html

library(openxlsx)
library(ggplot2)
library(visreg)


produk = read.xlsx('data.xlsx')
produk

ggplot(produk, aes(x = suhu, y = jumlah_cacat)) +
  geom_point(size=5) +
  labs(title='suhu dan jumlah cacat')

model = lm (formula = jumlah_cacat ~ suhu, data = produk)
print(model)
summary(model)
visreg(model, "suhu")