1 of 14

��

Hendra Perdana, S.Si., M.Sc

Program Studi Statistika Universitas Tanjungpura

hendra.perdana@math.untan.ac.id

0852-6984-2424

REGRESI LINEAR BERGANDA DAN

UJI ASUMSI KLASIK DENGAN SOFTWARE R

2 of 14

Analisis Regresi Linear Berganda (1)

Definisi

Analisis Regresi Linear berganda merupakan suatu alat statistik yang digunakan untuk mengetahui hubungan secara linear antara dua variabel atau lebih, sehingga salah satu variabel (variable dependent/respon) dapat diduga dari variabel lainnya (variable independent/Predictor).

Tujuan

  • Mempelajari sesuatu tentang sistem dimana data tersebut diambil
  • Mempelajari variabel independen mana yang benar-benar berperan penting terhadap variabel dependen
  • Memprediksi/ menaksir nilai suatu variabel dalam hal ini variabel dependen
  • Berdasarkan hubungan yang ditunjukkan oleh persamaan regresi.

3 of 14

Analisis Regresi Linear Berganda (2)

Tahapan

  • Menentukan variabel dependen dan independen
  • Menentukan metode pembuatan model regresi ( enter, stepwise, forward, backward)
  • Melihat ada atau tidaknya data yang outlier
  • Menguji asumsi-asumsi regresi (normalitas, autokorelasi, heteroskedastisitas, multikolinieritas)
  • Menguji signifikansi (uji t, uji f dsb)
  • Interpretasi model regresi berganda

Kriteria Perbandingan Model

  • Koefisien determinasi (R square) ↑(Model Terbaik adalah yang terbesar)
  • Standard Error of Variance
  • Adjusted R square
  • Statistik PRESS (Predicted Residual Sum of Squares)
  • AIC (Akaike Information Criterion)
  • BIC (Bayesian Information Criterion)

4 of 14

Kebutuhan Package

if (!require("readxl")) {install.packages("readxl")}; library("readxl")

if (!require("MASS")) {install.packages("MASS")}; library("MASS")

if (!require("tseries")) {install.packages("tseries")}; library("tseries")

if (!require("lmtest")) {install.packages("lmtest")}; library("lmtest")

if (!require("car")) {install.packages("car")}; library("car")

if (!require("nortest")) {install.packages("nortest")}; library("nortest")

Library MASS: Untuk fungsi dropterm, dan data birthwt

Library readxl: Untuk fungsi read_excel

Library lmtest: Untuk fungsi bptest, dwtest

Library tseries: Untuk fungsi jarque.bera.test

Library nortest: Untuk fungsi lillie.test

Library car: Untuk fungsi qqPlot

Contoh Penjelasan perintah diatas

Jika tidak ada package readxl pada perangkat laptop/PC Anda, maka instal package readxl, bila ada aktifkan package readxl.

(Pastikan koneksi Internet menyala)

5 of 14

Data��

Ingin diketahui variabel apa saja yang mempengaruhi Birth Weight in Grams (BWT).

Data tersebut berada pada library MASS dengan nama ‘birthwt’

Cara mengaktifkannya

library(MASS)

data() #untuk melihat data apa saja yang ada di library aktif

data(birthwt) #mengaktifkan datanya

birthwt #melihat data

?birthwt #Melihat informasi data

6 of 14

Import Data file *.xlsx

Cara I: Pakai fungsi read_excel

# Setting direktori folder data berada

setwd("C:/Users/Hendra Perdana/Downloads")

setwd("C:\\Users\\Hendra Perdana\\Downloads")

# Import data dengan objek bernama ‘mydata’

mydata=read_excel("data.xlsx") #nama file yaitu data.xlsx

Cara II: dengan clipboard

# open file excel, block data pada excel dan copy

# Kemudian ketik pada R Console

mydata <- read.delim("clipboard", header=T)

Melihat data yang sudah di import , ketik pada console

mydata

Catatan:

Jadi, kita bisa pakai objek ‘mydata’ atau ‘birthwt’ untuk pemodelannya nanti. Slide selanjutnya saya pakai mydata.

7 of 14

Pemodelan Regresi Linear Berganda (1)

Analisis Regresi pada R menggunakan fungsi ‘lm’,

  • Variabel Independen Numerik: AGE, LWT, PTL, FTV
  • Variabel Independen Kategorik: RACE, SMOKE, HT, UI

Biasanya kalau dengan SPSS, kita melakukan dummy variable terlebih dahulu. Bila menggunakan R, hal itu tidak diperlukan karena bisa memanfaatkan fungsi ‘factor’

# Model 1

model1 <- lm(BWT ~ AGE + LWT + factor(RACE) + factor(SMOKE) +

PTL + factor(HT) + factor(UI) + FTV, data=mydata)

# Melihat ringkasan model1

summary(model1)

# Melihat signifikansi secara keseluruhan pada variabel kategorik

dropterm(model1, test='F’)

Catatan:

Birthwt nama variabel data menggunakan Huruf Kecil

mydata nama variabel data menggunakan Huruf Besar

8 of 14

Pemodelan Regresi Linear Berganda (2)

# Model2 (Remove Variabel FTV)

model2 <- lm(BWT ~ AGE + LWT + factor(RACE) + factor(SMOKE) +

PTL + factor(HT) + factor(UI), data=mydata) summary(model2)

dropterm(model2, test='F')

# model3 (Remove Variabel AGE)

model13 <- lm(BWT ~ LWT + factor(RACE) + factor(SMOKE) +

PTL + factor(HT) + factor(UI), data=mydata) summary(model3)

dropterm(model3, test='F')

# model4 (Remove Variabel PTL)

model4 <- lm(BWT ~ LWT + factor(RACE) + factor(SMOKE) +

factor(HT) + factor(UI), data=mydata)

summary(model4)

dropterm(model4, test='F')

9 of 14

Kriteria Pemilihan Model

# Kriteria Pemilihan Model

AIC <- c(AIC(model1), AIC(model2), AIC(model3), AIC(model4))

BIC <- c(BIC(model1), BIC(model2), BIC(model3), BIC(model4))

AdjustedRsquared <- c(summary(model1)[[9]], summary(model2)[[9]], summary(model3)[[9]], summary(model4)[[9]])

ResidualStandardError <- c(summary(model1)[[6]], summary(model2)[[6]],

summary(model3)[[6]], summary(model4)[[6]])

Model <- c('Model 1', 'Model 2', 'Model 3', 'Model 4’)

kriteria <- data.frame(Model, AdjustedRsquared, ResidualStandardError,

AIC, BIC)

10 of 14

Stepwise

Cara lain pemilihan model regresi terbaik menggunakan Stepwise

model <- lm(BWT ~ AGE + LWT + factor(RACE) + factor(SMOKE) +

PTL + factor(HT) + factor(UI) + FTV, data=mydata)

model.fit <- stepAIC(model) #pakai library MASS, atau

model.fit <- step(model) #pakai library stats

summary(model.fit)

11 of 14

ASUMSI KLASIK (1)

Terlebih dahulu, aktifkan data residual model regresi terbaik, kemudian simpan dengan nama objek residual

residual <- resid(model4) #menampilkan residual dari model4 atau

residual <- resid(model.fit) #menampilkan residual dari model.fit

12 of 14

ASUMSI KLASIK (2)

13 of 14

ASUMSI KLASIK (3)

Diagnostic Checking Plot

plot(model4) #atau

Agar tampilan plot menjadi satu gambar

par(mfrow = c(2, 2), oma = c(0, 0, 2, 0))

plot(model4)

Prediksi

Misal diambil data baris 1 s.d 10 sebagai data yang akan diprediksi

newdata <- mydata[1:10,]

predict(model4, newdata, se.fit = TRUE)

pred.w.clim <- predict(model4, mydata, interval = "confidence")

14 of 14

Terima Kasih�Sampai jumpa lagi nanti di Webinar R �