Tujuan Perkuliahan:
Mahasiswa mampu membangun sintaks untuk Uji Asumsi Model regresi linier dengan
menggunakan sintaks buatan sendiri.
y 0 1 x1 2 x2 ... p x p
Jika diambil sebanyak n pengamatan, maka model untuk pengamatan ke- i adalah:
p
yi 0 k xik i (1)
k 1
dengan i = 1, 2, ... , n ; 0 , 1 ,..., p adalah parameter model dan 1 , 2 ,..., n adalah error
yang diasumsikan identik, independen, dan berdistribusi Normal dengan mean nol dan
varians konstan 2 atau ( i ~ IIDN 0, 2 ). Pada model ini, hubungan antara variabel
y Xβ ε
dengan:
y1 1 x11 x12 x1 p 0 1
y 1 x21 x22 x2 p 1
y ,X
2
, β , ε 2 .
yn 1 xn1 xn 2 xnp p n
Untuk menguji asumsi normal dari error digunakan uji Kolmogorof-Smirnov dengan hipotesis
sebagai berikut :
D max F0 xi Sn xi , i 1, 2, , n.
dengan F0 xi merupakan fungsi distribusi frekuensi kumulatif relatif dari distribusi teoritis
2. Uji Autokorelasi
Salah satu uji yang digunakan untuk menguji independensi adalah uji Durbin-Watson (Draper
dan Smith, 1992). Hipotesis dalam pengujian ini adalah:
(e i ei 1 ) 2
d i 2
n
e
2
i
i 1
Jika diberikan tingkat signifikansi sebesar α, maka keputusan yang diambil adalah
dengan membandingkan antara nilai d pengujian dengan nilai dU (nilai batas atas dari tabel
Durbin-Watson) dan dL (nilai batas bawah dari tabel Durbin-Watson). Selanjutnya aturan
keputusannya adalah sebagai berikut:
dw < dL : H0 ditolak
3. Uji Heteroskedastisitas
Uji heteroskedastisitas dilakukan untuk mengetahui apakah dalam sebuah model regresi terjadi
ketidaksamaan varian dari error satu pengamatan ke pengamatan lain. Salah satu uji yang
digunakan adalah uji Glejser (Gujarati, 1992) dengan hipotesis sebagai berikut:
H1 : Terjadi heteroskedastistitas
Uji ini dilakukan dengan meregresikan nilai absolute error dari model yang dibuat
dengan semua variabel prediktor x yang ada. Jika variabel prediktornya ternyata signifikan
maka disimpulkan terjadi heteroskedastisitas, sebaliknya jika variabel prediktornya tidak
signifikan maka terjadi homoskedastisitas.
4. Uji Multikolinieritas
Salah satu syarat yang harus dipenuhi dalam regresi dengan beberapa variabel prediktor adalah
tidak adanya korelasi antara satu variabel prediktor dengan variabel prediktor yang lain.
Adanya korelasi dalam model regresi menyebabkan taksiran parameter regresi yang dihasilkan
akan memiliki error yang sangat besar. Pendeteksian adanya kasus kolinieritas menurut
Hocking (1996) dapat dilihat melalui koefisien korelasi Pearson (r ij). Jika koefisien korelasi
Pearson (rij) antar variabel > 0,95 maka terdapat korelasi antar variabel tersebut. Untuk
mendeteksi adanya kolinieritas juga dapat menggunakan Variance Inflation Factors (VIF)
yang dinyatakan sebagai berikut :
1
VIFj
1 R 2j
dengan R 2j adalah koefisien determinasi antara xj dengan variabel prediktor lainnya. VIFj yang
lebih besar dari 10 menunjukan adanya kolinieritas antar variabel prediktor. Solusi untuk
mengatasi adanya kasus tersebut adalah dengan mengeluarkan variabel prediktor yang tidak
signifikan dan meregresikan kembali variabel-variabel prediktor yang signifikan.
Sintaks R:
Uji Normalitas
cat("--------------------------------------------\n")
cat("Uji K-S: Cek Normalitas Residual\n")
cat("--------------------------------------------\n")
cat("Nilai Uji K-S =",D,"\n")
cat("--------------------------------------------\n")
}
Uji Glejser
#Uji Glejser
glejser=function(X,error)
{
n = length(error)
p = ncol(X)
bo= rep(1,n)
X = cbind(bo,X)
X = as.matrix(X)
y = abs(error)
cat("--------------------------------------------\n")
cat(" Uji Glejser: Cek Homogenitas Residual \n")
cat("--------------------------------------------\n")
cat("nilai RSquare =",Rsquare,"\n")
#Uji Multikolinieritas
VIF=function(Prediktor)
{
n = nrow(Prediktor)
p = ncol(Prediktor)
vif=rep(0,p)
for (i in 1:p){
y = Prediktor[,i] # Definisikan prediktor ke-i sebagai respon
X = Prediktor[,-i] # prediktor yang lain
bo= rep(1,n)
X = cbind(bo,X)
X = as.matrix(X)
beta=solve(t(X)%*%X)%*%t(X)%*%y
H = X%*%solve(t(X)%*%X)%*%t(X)
I = diag(rep(1,n))
SSE = t(y)%*%(I-H)%*%y
J = matrix(1,n,n)
SST = t(y)%*%(I-(1/n)*J)%*%y
Rsquare=1-(SSE/SST)
vif[i]=1/(1-Rsquare)
}
cat("--------------------------------------------\n")
cat("Uji VIF: Cek Multikolinieritas Prediktor\n")
cat("--------------------------------------------\n")
vif = as.matrix(vif)
colnames(vif)="VIF"
rownames(vif)=colnames(Prediktor)
print(vif)
cat("--------------------------------------------\n")
}
Contoh:
Berikut adalah contoh data Regresi Linier dengan Penjualan sebagai Variabel Respon
Data:
#Sintaks Gabungan
dataku=read.delim('data regresi.txt')
X = dataku[,c(2,3)]# misal prediktor ada di kolom 2 dan 3
y = dataku[,1]# misal respon di kolom 1
#Estimasi Parameter
model = regresi(X,y)
#Uji Asumsi
error = model$Residual
uji.ks.normal(error) #Normalitas Residual
durbin_watson(error) #Uji Autokorelasi (DW)
glejser(X,error) #Uji Homogenitas
VIF(X) #Uji Multikolinieritas
Output:
Mahasiswa diharapkan mampu menginterpretasikan uji asumsi model regresi tersebut sesuai
dengan pengetahuan yang sudah diperoleh pada mata kuliah Analisis Regresi.
Praktik Mahasiswa:
2. Bandingkan hasilnya dengan fungsi model regresi bawaan dari R, dengan sintaks
berikut:
#Sintaks Package R
#Input Data
dataku=read.delim('data regresi.txt')
#Uji Asumsi
# Uji Normalitas Error
error=residuals(Model_Regresi)
ks.test(error,'pnorm',mean(error),sd(error))
# Uji Autokorelasi
library(lmtest)
dwtest(Model_Regresi, alternative = "two.sided")
dwtest(Model_Regresi, alternative = "greater")
dwtest(Model_Regresi, alternative = "less")
#Uji Multikolinieritas
library(car)
vif(Model_Regresi)
3. Interpretasikan hasilnya
4. Upload hasil pekerjaan di Kulon pada Topic 14