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
- Residual
- 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
- the expected value (blue line) atau garis fitting yang merupakan hasil prediksi
- a confidence interval for the expected value (gray band) atau interval kepercayaan untuk nilai yang diharapkan
- 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")