Regresi linear (linear regression) adalah metode yang digunakan untuk memperoleh model hubungan antara variabel dependen dengan variabel independen (Walpole, 2012). Terdapat 2 jenis regresi linear yaitu, regresi linear sederhana (simple linear regression) dan regresi linear ganda (multiple linear regression). Perbedaan terdapat pada banyaknya variabel independen. Regresi linear sederhana adalah metode yang digunakan untuk memperoleh model hubungan antara satu variabel dependen dengan satu variabel independen sedangkan regresi linear ganda metode yang digunakan untuk memperoleh model hubungan antara satu variabel dependen dengan lebih dari satu variabel independen (Walpole, 2012).
Pada contoh ini akan melihat hubungan gaji dengan lama pengalaman bekerja
dataset = read.csv('Salary_Data.csv')
head(dataset)
## YearsExperience Salary
## 1 1.1 39343
## 2 1.3 46205
## 3 1.5 37731
## 4 2.0 43525
## 5 2.2 39891
## 6 2.9 56642
Fungsi summary() adalah untuk melihat nilai statistik deskriptif dari data pada masing-masing variabel. Karena data yang digunakan memiliki variabel numerik maka statistik deskriptif yang ditampilkan adalah nilai minimum (Min.), quantil pertama (1st Qu.), median (Median), rata-rata (Mean), quantil ketiga (3rd Qu.), maksimum (Max.) dan banyaknya missing value (NA’s) (jika terdapat missing value pada data).
summary(dataset)
## YearsExperience Salary
## Min. : 1.100 Min. : 37731
## 1st Qu.: 3.200 1st Qu.: 56721
## Median : 4.700 Median : 65237
## Mean : 5.313 Mean : 76003
## 3rd Qu.: 7.700 3rd Qu.:100545
## Max. :10.500 Max. :122391
Pada bagian ini, kita akan membagi dataset menjadi data latih dan data uji. Rasio pembagian data dapat ditentukan oleh peneliti. Kita dapat menggunakan package caTools untuk membagi dataset. Pertama-tama kita harus mengunduh package caTools, yaitu install.packages(‘caTools’)
library(caTools)
## Warning: package 'caTools' was built under R version 3.6.3
set.seed(123)
split = sample.split(dataset$Salary, SplitRatio = 0.8)
training_set = subset(dataset, split == TRUE)
test_set = subset(dataset, split == FALSE)
regressor = lm(formula = Salary ~ YearsExperience,
data = training_set)
y_pred = predict(regressor, newdata = test_set)
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 3.6.3
ggplot() +
geom_point(aes(x = training_set$YearsExperience, y = training_set$Salary),
colour = 'red') +
geom_line(aes(x = training_set$YearsExperience, y = predict(regressor, newdata = training_set)),
colour = 'blue') +
ggtitle('Gaji vs Pengalaman (Data Latih)') +
xlab('Lama Pengalaman Bekerja') +
ylab('Gaji')
ggplot() +
geom_point(aes(x = test_set$YearsExperience, y = test_set$Salary),
colour = 'red') +
geom_line(aes(x = training_set$YearsExperience, y = predict(regressor, newdata = training_set)),
colour = 'blue') +
ggtitle('Gaji vs Pengalaman (Data Uji)') +
xlab('Lama Pengalaman Bekerja') +
ylab('Gaji')
Sekian tulisan kali ini. Next kita akan membahas contoh kasus regresi linear ganda.