Search This Blog

Monday, February 10, 2020

Regresi Linier Berganda dan Sederhana dengan Pemrograman R

Halo semua, tutorial kali ini adalah bagaimana melakukan regresi linier sederhana dan regresi linier berganda dengan pemrograman R kita sertai dengan contohnya. 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,

Model Regresi Linier KM, CI dan SMP

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 nomalitas, 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,

Graph for normality check

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, seperti di bawah ini,

> library(car) #anda mungkin perlu menginstal terlebih dahulu package 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,

Uji Heteroskedastisitas

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 dengan perintah di bawah ini,

> library(lmtest) #anda mungkin perlu menginstal terlebih dahulu package 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 di bawah ini,

> library(conf) #anda mungkin perlu menginstal terlebih dahulu package conf
> crPlots(regModelku)

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

Grafik uji Linieritas antar variabel

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:
EstimateStd. Errort valuePr(>|t|)
(Intercept)1.352070.823061.6430.10265
KM0.104160.038652.6950.00789 **
CI0.744460.0700810.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 ke SMP adalah signifikan dengan nilai p-value pada kolom Pr(>|t|) lebih kecil dari 0.05, model kita memiliki nilai R2 0.6235 atau variabel KM dan CI mampu menjelaskan 62.35% 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.

No comments:

Post a Comment