Regresi linear sederhana merupakan salah satu metode statistik yang digunakan untuk menganalisis hubungan antara satu variabel prediktor dengan satu variabel respon.
Pada analisis ini digunakan dataset bawaan R, yaitu
cars. Dataset tersebut berisi data
mengenai kecepatan kendaraan (speed) dan jarak berhenti
kendaraan (dist).
Tujuan dari analisis ini adalah untuk mengetahui hubungan antara kecepatan kendaraan sebagai variabel prediktor dengan jarak berhenti kendaraan sebagai variabel respon.
Variabel yang digunakan dalam analisis adalah sebagai berikut:
| Variabel | Keterangan | Peran |
|---|---|---|
speed |
Kecepatan kendaraan | Prediktor (X) |
dist |
Jarak berhenti kendaraan | Respon (Y) |
Dataset cars terdiri dari 50 observasi
dengan dua variabel utama, yaitu speed dan
dist.
Berikut adalah sepuluh observasi pertama dari dataset
cars.
head(cars, 10) %>%
kable(
caption = "Tabel 1. Sepuluh Observasi Pertama Dataset Cars",
col.names = c(
"Kecepatan (speed)",
"Jarak Berhenti (dist)"
),
digits = 2
) %>%
kable_styling(
bootstrap_options = c(
"striped",
"hover",
"condensed"
),
full_width = FALSE,
position = "center"
)| Kecepatan (speed) | Jarak Berhenti (dist) |
|---|---|
| 4 | 2 |
| 4 | 10 |
| 7 | 4 |
| 7 | 22 |
| 8 | 16 |
| 9 | 10 |
| 10 | 18 |
| 10 | 26 |
| 10 | 34 |
| 11 | 17 |
Untuk memahami karakteristik data, dilakukan perhitungan statistik deskriptif berupa nilai minimum, maksimum, rata-rata, median, dan standar deviasi.
deskriptif <- data.frame(
Variabel = c("Speed", "Dist"),
Minimum = c(
min(cars$speed),
min(cars$dist)
),
Maksimum = c(
max(cars$speed),
max(cars$dist)
),
Rata_rata = c(
mean(cars$speed),
mean(cars$dist)
),
Median = c(
median(cars$speed),
median(cars$dist)
),
Standar_Deviasi = c(
sd(cars$speed),
sd(cars$dist)
)
)
deskriptif %>%
mutate(
across(
where(is.numeric),
~ round(.x, digits = 2)
)
) %>%
kable(
caption = "Tabel 2. Statistik Deskriptif Dataset Cars",
col.names = c(
"Variabel",
"Minimum",
"Maksimum",
"Rata-rata",
"Median",
"Standar Deviasi"
)
) %>%
kable_styling(
bootstrap_options = c(
"striped",
"hover",
"condensed"
),
full_width = FALSE,
position = "center"
)| Variabel | Minimum | Maksimum | Rata-rata | Median | Standar Deviasi |
|---|---|---|---|---|---|
| Speed | 4 | 25 | 15.40 | 15 | 5.29 |
| Dist | 2 | 120 | 42.98 | 36 | 25.77 |
Berdasarkan statistik deskriptif tersebut, dapat diperoleh gambaran umum mengenai karakteristik dan sebaran data kecepatan kendaraan serta jarak berhenti kendaraan.
Scatter plot digunakan untuk melihat pola hubungan antara variabel
prediktor speed dengan variabel respon
dist.
ggplot(
cars,
aes(
x = speed,
y = dist
)
) +
geom_point(
size = 3,
alpha = 0.75
) +
geom_smooth(
method = "lm",
se = TRUE,
linewidth = 1
) +
labs(
title = "Hubungan Kecepatan Kendaraan dan Jarak Berhenti",
subtitle = "Scatter plot dengan garis regresi linear",
x = "Kecepatan Kendaraan (speed)",
y = "Jarak Berhenti (dist)",
caption = "Sumber: Dataset bawaan R - cars"
) +
theme_minimal(
base_size = 13
) +
theme(
plot.title = element_text(
face = "bold"
),
plot.subtitle = element_text(
size = 11
),
plot.caption = element_text(
hjust = 0
)
)Berdasarkan scatter plot, terlihat adanya kecenderungan hubungan positif antara kecepatan kendaraan dan jarak berhenti kendaraan. Secara umum, semakin tinggi kecepatan kendaraan, maka jarak berhenti kendaraan juga cenderung meningkat.
Model regresi linear sederhana secara umum dapat dituliskan sebagai:
\[ Y_i = \beta_0 + \beta_1X_i + \varepsilon_i \]
Pada analisis ini, variabel respon adalah dist dan
variabel prediktor adalah speed, sehingga model dapat
dituliskan sebagai:
\[ dist_i = \beta_0 + \beta_1(speed_i) + \varepsilon_i \]
dengan:
Model regresi linear sederhana dibentuk menggunakan fungsi
lm() sebagai berikut.
Berikut merupakan hasil estimasi parameter dari model regresi linear sederhana.
hasil_model <- summary(model)
tabel_koef <- as.data.frame(
hasil_model$coefficients
)
tabel_koef$Variabel <- rownames(tabel_koef)
rownames(tabel_koef) <- NULL
tabel_koef <- tabel_koef %>%
select(
Variabel,
Estimate,
`Std. Error`,
`t value`,
`Pr(>|t|)`
) %>%
mutate(
across(
where(is.numeric),
~ round(.x, digits = 4)
)
)
tabel_koef %>%
kable(
caption = "Tabel 3. Hasil Estimasi Koefisien Regresi",
col.names = c(
"Variabel",
"Estimasi",
"Standard Error",
"t-value",
"p-value"
)
) %>%
kable_styling(
bootstrap_options = c(
"striped",
"hover",
"condensed"
),
full_width = FALSE,
position = "center"
)| Variabel | Estimasi | Standard Error | t-value | p-value |
|---|---|---|---|---|
| (Intercept) | -17.5791 | 6.7584 | -2.6011 | 0.0123 |
| speed | 3.9324 | 0.4155 | 9.4640 | 0.0000 |
Nilai koefisien determinasi digunakan untuk mengetahui seberapa besar variasi pada variabel respon dapat dijelaskan oleh variabel prediktor.
r_squared <- hasil_model$r.squared
adj_r_squared <- hasil_model$adj.r.squared
residual_se <- hasil_model$sigma
jumlah_observasi <- nrow(cars)
tabel_kebaikan_model <- data.frame(
Indikator = c(
"R-squared",
"Adjusted R-squared",
"Residual Standard Error",
"Jumlah Observasi"
),
Nilai = c(
round(r_squared, 4),
round(adj_r_squared, 4),
round(residual_se, 4),
jumlah_observasi
)
)
tabel_kebaikan_model %>%
kable(
caption = "Tabel 4. Ringkasan Kebaikan Model"
) %>%
kable_styling(
bootstrap_options = c(
"striped",
"hover",
"condensed"
),
full_width = FALSE,
position = "center"
)| Indikator | Nilai |
|---|---|
| R-squared | 0.6511 |
| Adjusted R-squared | 0.6438 |
| Residual Standard Error | 15.3796 |
| Jumlah Observasi | 50.0000 |
Berdasarkan hasil estimasi regresi linear sederhana, diperoleh nilai parameter sebagai berikut.
\[\hat{dist} = -17.5791 + 3.9324(speed)\]
Dengan demikian, persamaan regresi linear sederhana yang diperoleh dapat digunakan untuk memprediksi nilai jarak berhenti kendaraan berdasarkan kecepatan kendaraan.
Nilai intercept yang diperoleh dari model regresi adalah sebesar -17.5791.
Secara matematis, nilai tersebut menunjukkan perkiraan jarak berhenti
kendaraan ketika nilai kecepatan kendaraan (speed) sama
dengan 0.
Namun, interpretasi intercept perlu dilakukan secara hati-hati karena kondisi kecepatan kendaraan sebesar 0 belum tentu berada dalam konteks utama pengamatan yang digunakan pada dataset.
Nilai koefisien regresi untuk variabel speed adalah
sebesar 3.9324.
Artinya, setiap kenaikan 1 satuan kecepatan kendaraan diperkirakan akan meningkatkan rata-rata jarak berhenti kendaraan sebesar 3.9324 satuan.
Karena nilai koefisien regresi bernilai positif, maka hubungan antara kecepatan kendaraan dan jarak berhenti kendaraan bersifat positif.
Dengan demikian, semakin tinggi kecepatan kendaraan, maka jarak berhenti kendaraan cenderung semakin besar.
Nilai R-squared yang diperoleh adalah sebesar 0.6511 atau sekitar 65.11%.
Artinya, sekitar 65.11% variasi pada jarak berhenti
kendaraan (dist) dapat dijelaskan oleh variabel kecepatan
kendaraan (speed).
Sementara itu, sekitar 34.89% variasi lainnya dijelaskan oleh faktor lain yang tidak dimasukkan ke dalam model regresi.
Nilai p-value untuk variabel speed adalah sebesar
1.49e-12.
Karena nilai p-value lebih kecil dari 0,05, maka variabel speed memiliki pengaruh yang signifikan secara statistik terhadap dist pada tingkat signifikansi 5%.
Berdasarkan hasil analisis regresi linear sederhana menggunakan
dataset cars, dapat disimpulkan bahwa:
Terdapat hubungan antara kecepatan kendaraan
(speed) dengan jarak berhenti kendaraan
(dist).
Model regresi linear sederhana yang diperoleh adalah:
\[ \hat{dist} = -17.5791 + 3.9324 (speed) \]
Variabel speed memiliki hubungan positif terhadap
dist. Artinya, semakin tinggi kecepatan kendaraan, maka
jarak berhenti kendaraan cenderung semakin besar.
Variabel speed mampu menjelaskan sekitar
65.11% variasi pada jarak berhenti kendaraan.
Berdasarkan hasil pengujian statistik, hubungan antara
speed dan dist dinyatakan signifikan
secara statistik pada tingkat signifikansi 5%.
Secara keseluruhan, model regresi linear sederhana menunjukkan bahwa
kecepatan kendaraan memiliki hubungan yang signifikan dalam menjelaskan
perubahan jarak berhenti kendaraan pada dataset cars.