Tutorial R
Model regresi yang banyak digunakan adalah regresi linear berganda (multiple regression), di mana terdapat satu variabel tak bebas dan beberapa variabel bebas.
Model regresi biasanya mencakup lebih dari satu variabel bebas. Model regresi yang digunakan untuk memodelkan hubungan antara satu variabel tak bebas dengan beberapa variabel bebas disebut model regresi berganda (multiple regression).
Pada artikel ini kita akan membahas analisis regresi berganda dalam pemrograman R. Sebagai contoh, kita akan gunakan dataset marketing
yang terdapat dalam package datarium
. Data ini berisi jumlah uang yang dikeluarkan untuk iklan pada tiga media pengiklan (youtube, facebook, dan surat kabar) serta penjualan.
Pertama, kita install package datarium terlebih dahulu menggunakan sintaks berikut.
## instal package datarium
install.packages("datarium")
library(datarium)
Setelah terinstal kita akan coba menampilkan 6 pengamatan pertama pada dataset marketing yang terdapat dalam package datarium. Perhatikan sintaks berikut.
## menampilkan 6 pengamatan pertama
data("marketing", package = "datarium")
head(marketing)
Output:
youtube facebook newspaper sales
1 276.12 45.36 83.04 26.52
2 53.40 47.16 54.12 12.48
3 20.64 55.08 83.16 11.16
4 181.80 49.56 70.20 22.20
5 216.96 12.96 70.08 15.48
6 10.44 58.68 90.00 8.64
Selanjutnya, kita akan mencari model yang dapat menjelaskan bagaimana jumlah uang yang dikeluarkan untuk iklan pada tiga media pengiklan berpengaruh terhadap penjualan (sales). Kita gunakan sintaks R berikut ini.
## model regresi berganda ##
model <- lm(sales ~ youtube + facebook + newspaper, data = marketing)
model
Output:
Call:
lm(formula = sales ~ youtube + facebook + newspaper, data = marketing)
Coefficients:
(Intercept) youtube facebook newspaper
3.526667 0.045765 0.188530 -0.001037
Untuk menampilkan output yang lebih rinci, kita dapat gunakan sintaks summary(model)
.
## model regresi berganda ##
summary(model)
Output:
Call:
lm(formula = sales ~ youtube + facebook + newspaper, data = marketing)
Residuals:
Min 1Q Median 3Q Max
-10.5932 -1.0690 0.2902 1.4272 3.3951
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 3.526667 0.374290 9.422 <2e-16 ***
youtube 0.045765 0.001395 32.809 <2e-16 ***
facebook 0.188530 0.008611 21.893 <2e-16 ***
newspaper -0.001037 0.005871 -0.177 0.86
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 2.023 on 196 degrees of freedom
Multiple R-squared: 0.8972, Adjusted R-squared: 0.8956
F-statistic: 570.3 on 3 and 196 DF, p-value: < 2.2e-16
Langkah pertama dalam interpretasi analisis regresi berganda yaitu melihat Statistik-F dan nilai p-value nya. Dari output di atas, diperoleh nilai F-statistic = 570.3 dengan p-value < 2.2e-16, yang mana sangat signifikan. Ini artinya, setidaknya terdapat satu variabel bebas yang signifikan memengaruhi variabel tak bebas (sales). Selain itu, juga diperoleh nilai R square yang cukup tinggi yang menandakan model yang diperoleh cukup baik.
Selanjutnya, untuk melihat variabel tak bebas mana yang signifikan, kita bisa mengkaji dari tabel coefficients, yang menunjukkan estimasi koefisien regresi berganda, statistik-t dan nilai p-value nya. Dari output tersebut, terlihat bahwa iklan pada youtube dan facebook secara signifikan memengaruhi penjualan. Ini tergambarkan melalui nilai p-value yang sangat kecil atau kurang dari tingkat signifikansi yang digunakan (misalkan, tingkat signifikan yang digunakan adalah 5%).
Sementara itu, iklan pada surat kabar (newspaper) tampak tidak signifikan memengaruhi penjualan. Ini terlihat dari nilai p-value yang lebih besar dari tingkat signifikan 5%. Karena iklan pada surat kabar tidak signifikan memengaruhi penjualan, kita akan mengeluarkan variabel ini dalam model. Sekarang kita peroleh berikut.
## model regresi berganda ##
model <- lm(sales ~ youtube + facebook, data = marketing)
summary(model)
Output:
Call:
lm(formula = sales ~ youtube + facebook, data = marketing)
Residuals:
Min 1Q Median 3Q Max
-10.5572 -1.0502 0.2906 1.4049 3.3994
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 3.50532 0.35339 9.919 <2e-16 ***
youtube 0.04575 0.00139 32.909 <2e-16 ***
facebook 0.18799 0.00804 23.382 <2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 2.018 on 197 degrees of freedom
Multiple R-squared: 0.8972, Adjusted R-squared: 0.8962
F-statistic: 859.6 on 2 and 197 DF, p-value: < 2.2e-16
Dengan demikian, model regresi berganda yang diperoleh dapat dituliskan sebagai berikut:
\[ \text{Sales} = 3.5053 + 0.0457 \ \text{youtube} + 0.1879 \ \text{facebook} \]
Adapun selang kepercayaan (confidence interval) untuk koefisien regresi dapat diperoleh dengan sintaks berikut:
## Selang kepercayaan ##
confint(model)
Output:
2.5 % 97.5 %
(Intercept) 2.80841159 4.20222820
youtube 0.04301292 0.04849671
facebook 0.17213877 0.20384969
Kita telah berhasil membangun model regresi berganda menggunakan pemrograman R seperti dijelaskan di atas, tetapi tugas kita belum selesai. Untuk dapat menggunakan model tersebut, kita perlu memastikan bahwa model itu telah memenuhi semua asumsi yang mendasarinya. Dengan kata lain, kita perlu mengecek beberapa asumsi dalam regresi linear berganda, yakni: asumsi normalitas, homoskedastis, heteroskedastis dan autokorelasi.
Kita akan jelaskan ini dalam kesempatan berikutnya.
Anda hidup hanya sekali, tetapi jika Anda melakukannya dengan benar, sekali itu cukup.
Mae West