Regresi Linier Berganda dan Sederhana dengan R

Halo semua, tutorial kali ini adalah bagaimana melakukan regresi linier sederhana dan regresi linier berganda dengan pemrograman R kita sertai dengan contohnya.

Contoh #1

Data untuk video di atas dapat didownload di link ini.

Contoh #2

Contoh #2 ini kita akan menggunakan data yang berasal dari penelitian kami yang di terbitkan di Jurnal Manajemen dan Kewirausahaan, silahkan download data tabel12reg.xlsx. Seperti biasa kita akan melakukan import data ke dalam RStudio terlebih dahulu sebelum memulai pengaolahan data. Model regresi kita adalah seperti pada gambar di bawah ini,

Langkah pertama adalah dapat kita lakukan perintah operasi regresi linier sederhana dan berganda dari data kita dan model gambar di atas sebagai berikut,

Menyusun model Regresi Linier Sederhana

Misal persamaan regresi linier sederhana kita adalah:
SMP = a + b.KM + e
di mana a adalah konstanta dan b koefisien regresi, nama variabel yang akan kita gunakan dalam perintah R harus sesuai dengan nama kolom dalam tabel12reg kita, maka perintah nya seperti di bawah ini,

> regModelku <- lm(SMP~KM, data = table12reg)

Menyusun model Regresi Linier Berganda

Misal persamaan regresi linier berganda kita adalah:
SMP = a +b1.KM + b2.CI + e
di mana a adalah konstanta, b1 dan b2 adalah koefisien regresinya, nama variabel yang akan kita gunakan dalam perintah R harus sesuai dengan nama kolom dalam tabel12reg kita, maka perintah nya seperti di bawah ini,

> regModelku <- lm(SMP~KM+CI, data = table12reg) 

Uji Asumsi Regresi Linier

Sebelum membahas hasil uji regresi linier berganda kita perlu melakukan uji asumsi regresi linier untuk menguji normalitas, multikolinieritas, heterokedastisitas, autokorelasi dan linieritas dari model regresi kita.

Uji asumsi Normalitas

Pengujian residual dari model regresi apakah berdistribusi normal maka dilakukan uji Normalitas, dengan perintah di bawah ini,

> par(mfrow=c(2,2))
> plot(regModelku) 

maka di windows Plot akan muncul grafik seperti di bawah ini,

Kita lihat pada grafik Normal Q-Q (pojok kanan atas) menunjukkan point-point data berada disekitar garis lurus, maka dapat dikatakan terdistribusi normal, sehingga dapat dikatakan model regresi memenuhi asumsi Normalitas.

Uji asumsi Multikolinieritas

Pengujian korelasi antar variabel independent untuk melihat tidak adanya korelasi erat antar variabel independent dapat dilakukan melihat nilai VIF dengan perintah vif() dalam package car (anda mungkin perlu menginstal terlebih dahulu package ini), seperti di bawah ini,

> library(car)
> vif(regModelku) 

     KM       CI
 1.529073 1.529073

kita lihat bahwa nilai VIF untuk KM dan CI berada di bawah 2, maka dapat dikatakan tidak terjadi Multikolinieritas dan model kita memenuhi asumsi Multikolinieritas.

Uji asumsi Heteroskedastisitas

Mengukur apakah terjadi ketidaksamaan varians residual (Heteroskedastisitas) dari data-data pengukuran dapat kita lakukan dengan melihat sebaran pada grafik Residuals vs Vitted dengan perintah yang sama pada uji Normalitas.

> par(mfrow=c(2,2))
> plot(regModelku) 

maka di windows Plot akan muncul grafik seperti di bawah ini,

kita lihat pada grafik Residuals vs Fitted (pojok kiri atas) bahwa data-data tersebar dan tidak membentuk satu pola tertentu, sehingga dapat dikatakan tidak terjadi perbedaan varians residual dan model kita memenuhi uji asumsi Heteroskedastisitas.

Uji asumsi Autokorelasi

Uji autokorelasi dilakukan untuk menguji apakah ada pengaruh dari data terdahulu kepada data yang baru, uji ini dilakukan untuk data time series, dengan menggunakan perintah dwtest() dalam package lmtest (anda mungkin perlu menginstal terlebih dahulu package ini) dengan perintah di bawah ini,

> library(lmtest)
> dwtest(regModelku) 

Durbin-Watson test
data:  regModelku
DW = 1.9522, p-value = 0.3891
alternative hypothesis: true autocorrelation is greater than 0

dari hasil uji di atas, dengan nilai Durbin-Watson test p-value lebih dari 0.05 maka dapat dikatakan bahwa tidak terjadi pengaruh antar data sebelum dan terbaru, dapat dikatakan asumsi tidak ada Autokorelasi antar data model regresi terpenuhi.

Uji asumsi Linieritas

Pengujian hubungan linier antara variabel dependent dan independent dilakukan untuk memenuhi asumsi adanya hubungan linier antar variabel tersebut, dengan perintah crPlots() dari package conf (anda mungkin perlu menginstal terlebih dahulu package ini) di bawah ini,

> library(conf)
> crPlots(regModelku) 

maka di windows Plot akan muncul grafik seperti di bawah ini,

dari grafik di atas tampak bahwa posisi 2 (dua) garis warna berbeda (garis putus-putus dan garis sambung) berada pada posisi yang hampir berdempet, artinya variabel independent memiliki linieritas dengan variabel dependent, dapat dikatakan asumsi Lineritas model regresi terpenuhi.

Membaca hasil Regresi Linier Berganda

Tahap akhir dari proses regresi linier berganda adalah intepretasi hasil nya dapat dilakukan dengan perintah di bawah ini,

> summary(regModelku) 
 
Call:
lm(formula = SMP ~ KM + CI, data = table12reg)

Residuals:
    Min      1Q  Median      3Q     Max 
-6.8578 -0.9147  0.0728  1.0631  5.1673 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)  1.35207    0.82306   1.643  0.10265    
KM           0.10416    0.03865   2.695  0.00789 ** 
CI           0.74446    0.07008  10.622  < 2e-16 ***

Signif. codes:  
0 '***' 0.001 '**' 0.01 '*' 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 2.005 on 142 degrees of freedom
Multiple R-squared:  0.6235,    Adjusted R-squared:  0.6182 
F-statistic: 117.6 on 2 and 142 DF,  p-value: < 2.2e-16

dari tabel hasil uji di atas didapat persamaan regresi linier berganda kita adalah

SMP = 1.35207 + 0.10416KM + 0.74446CI + e

Kita dapat menyatakan hasil pengujian model regresi linier berganda di atas bahwa pengaruh KM dan CI ke SMP adalah signifikan dengan nilai p-value pada kolom Pr(>|t|) lebih kecil dari 0.05, setiap peningkatan satu satuan KM akan memberikan peningkatan sebesar 0.104 pada SMP, dan setiap peningkatan satu satuan pada CI akan memberikan peningkatan sebesar 0.744 pada SMP. Model kita memiliki nilai Adj. R2 sebesar 0.6182 atau variabel KM dan CI mampu menjelaskan 61.82% dari faktor-faktor yang mempengaruhi SMP. Pada uji F-statistic didapat p-value < 2.2e-16 jauh lebih kecil dari 0.05 menunjukkan model regresi sangat baik.

2 thoughts on “Regresi Linier Berganda dan Sederhana dengan R

  1. Samgat menarik pak, namun saya ada pertanyaan. Apabila saya punya data A dan B, kedua data tersebut memiliki hubungan korelasi dan bisa saya plotkan utk memdapatkan persamaan empirisnya, namun hubungan korelasi A dan B juga pernah dibuat peneliti sebelumnya, bisakah saya gabung hasil plot penelitian2 sebelumnya menjadi satu plot dgn hasil penelitian saya di R?

    1. Menurut saya bisa, tentu dengan beberapa ketentuan yang mungkin perlu dipenuhi ya Bapak, mulai dari ijin penggunaan data oleh pemilik asli, kesesuain karakter masing-masing data lama dan baru yang akan dikombinasikan, dan mungkin banyak hal teknis lain dipenuhi sehingga secara empiris data bisa dikombinasikan dalam satu penelitian, saya pikir sudah banyak juga penelitian melakukan cara seperti ini.

Leave a Reply

Your email address will not be published. Required fields are marked *