Anda di halaman 1dari 12

TUGAS KELOMPOK

MATA KULIAH ANALISIS REGRESI

Oleh:

Irvan Saeful Hamzah (140720210001)


Maryanto Rompon (140720210007)
Tilas Notapiri (140720210009)

PROGRAM STUDI MAGISTER STATISTIKA TERAPAN


FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS PADJADJARAN
2021
PENGUJIAN HETEROSKEDASTISITAS
Berikut adalah data pengeluaran rumah tangga untuk makanan dan disposible income
rumah tangga. Pengeluaran rumah tangga didefinisikan sebagai variabel dependent(Y) dan
pendapatan rumah tangga sebagai variabel independent (X).

No Food Expenditure (Y) Disposible Income (X)


1 9.46 25.83
2 10.56 34.31
3 14.81 42.50
4 21.71 46.75
5 22.79 48.29
6 18.19 48.77
7 22.00 49.65
8 18.12 51.94
9 23.13 54.33
10 19.00 54.87
11 19.46 56.46
12 17.83 58.83
13 32.81 59.13
14 22.13 60.73
15 23.46 61.12
16 16.81 63.10
17 21.35 65.96
18 14.87 66.40
19 33.00 70.42
20 25.19 70.48
21 17.77 71.98
22 22.44 72.00
23 22.87 72.23
24 26.52 72.23
25 21.00 73.44
26 37.52 74.25
27 21.69 74.77
28 27.40 76.33
29 30.69 81.02
30 19.56 81.85
31 30.58 82.56
32 41.12 83.33
33 15.38 83.40
34 17.87 91.81
35 25.54 91.81
36 39.00 92.96
37 20.44 95.17
38 30.10 101.40
39 20.90 114.13
40 48.71 115.46
Sebelum dilakukan analisis lebih lanjut, perlu dilakukan pemeriksaan asumsi. Salah
satu asumsi yang perlu diperiksa adalah homoskedastisitas atau residualnya memiliki varian
yang konstan. Pemeriksaan asumsi dilakukan menggunakan empat jenis pengujian yaitu:
 F-test for two-variance equality
 Levene test for several-variance equality
 F-test or Chi-square-test for multiplicative heteroskedasticity
 White test

Langkah pertama sebelum pengujian asumsi adalah melakukan plot residual dengan X.
Dari grafik scatter plot terlihat bahwa ketika nilai X meningkat residual juga semakin besar.
Hasil ini menunjukkan kemungkinan adanya heteroskedastik atau residual memiliki varians
yang tidak konstan.
1. F-test for two-variance equality
Hipotesis: H0: σ 2A= σ 2B vs. H1: σ 2A ≠ σ 2B
2 2
H1: σ A > σB
2 2
H1: σ A < σB
Asumsikan:
2
sj 2
( N j−K ) 2
χ N −K , j = A, B
σ j
j

Dimana s2A dan s2B saling bebas.


Prosedur:
 Urutkan nilai pengamatan xi dari nilai terkecil.
 Bagi pengamatan menjadi dua kelompok sebanyak n A dan n B pengamatan.
 Hitung RSS untuk setiap kelompok.
 Hitung statistik uji λ.
RSS B
df
λ= ~ F [nA – K, nB – K]
RSS A
df
2 2
 Untuk H1: σ A ≠ σ B, tolak H0 jika λ < Flower [α/2,nA – K,nB – K] atau
λ > Fupper [1-α/2,nA– K,nB – K]
Untuk H1: σ 2A > σ 2B, tolak H0 jika λ > F [1 – α, nA – K, nB – K]
Untuk H1: σ 2A < σ 2B, tolak H0 jika λ < F [1 – α, nA – K, nB – K]

Syntax dan Output pada R :

#F-test for two variances-------------------------------------------

#Taraf signifikansi
alpha <- 0.05

#Membentuk vektor y
y_a <- as.matrix(data[1:20,1])
y_b <- as.matrix(data[21:40,1])

#Menentukan n untuk grup a dan grup b


na <- nrow(y_a)
nb <- nrow(y_b)
#Membentuk matriks X
X_a <- cbind(matrix(1,na,1),data[1:20,2:k])
X_b <- cbind(matrix(1,nb,1),data[21:40,2:k])

# OLS for weight matrix


## Hitung residual untuk a
I_a <- diag(1,na,na)
#Identity matrix
H_a <- X_a %*% solve(t(X_a) %*% X_a) %*% t(X_a) #Hat matrix
e_a <- (I_a - H_a) %*% y_a
#Residual

yh_a <- e_a^2


eh_a <- (I_a - H_a) %*% yh_a
RSS_a <- t(eh_a) %*% eh_a

## Hitung residual untuk b


I_b <- diag(1, nb, nb)
#Identity matrix
H_b <- X_b %*% solve(t(X_b) %*% X_b) %*% t(X_b) #Hat matrix
e_b <- (I_b - H_b) %*% y_b
#Residual

yh_b <- e_b^2


eh_b <- (I_b - H_b) %*% yh_b
RSS_b <- t(eh_b) %*% eh_b

#Statistik uji
lamda <- (RSS_b/(nb - k))/(RSS_a/(na - k))

#P-value
P_Value <- 1 – pf (lamda, q, n – q – 1)

#Kesimpulan
print(P_Value)
[,1]
[1,] 0.03987652
ifelse(P_Value < alpha, "Tolak H0: Ada Heteroskedastisitas",
"Terima H0: Tidak ada Heteroskedastisitas")
[,1]
[1,] "Tolak H0: Ada Heteroskedastisitas

2. Levene test
Uji Levene (Levene's test) digunakan untuk menguji apakah k sampel berasal dari
populasi dengan varians yang sama. Dengan kata lain, uji ini untuk mengetahui
kehomogenan/kesamaan varians dari beberapa populasi. Uji Levene merupakan
alternatif dari Uji Bartlett. Uji Bartlett digunakan jika data berdistribusi normal,
sedangkan Uji Levene tidak membutuhkan syarat kenormalan data, tetapi data harus
kontinu dan sampel dari populasi yang diobservasi adalah independen. Jika ada bukti
kuat bahwa data berdistribusi normal atau mendekati normal, maka Uji Bartlett lebih
baik digunakan.
Formula statistik Uji Levene diberikan oleh :

Dimana :
n = jumlah observasi
k = banyaknya kelompok
Zij =|Y ij −Y i .|
Y i . = rata- rata kelompok ke-i
Zi . = rata- rata kelompok dari Zi
Zi .. = rata –rata keseluruhan (overall mean) dari Zij

Langkah – langkah pengujian :


 Periksalah apakah data berdistribusi normal atau mendekati normal. Jika data
berdistribusi normal, lebih baik gunakan Uji Bartlett.
 Tentukan hipotesis nol (H0) dan hipotesis alternative (H1), yakni
2 2 2
H 0 :σ 1=σ 2=…=σ k .
H 1 : paling sedikit ada satu σ 2i yang tidak sama.

 Tentukan tingkat signifikansi (α)


 Hitung statistic uji Levene
 Tentukan nilai kritis dan daerah penolakan.
Nilai kritisnya adalah F (α, k – 1, N – k). Bandingkan hasil nilai W dengan nilai F
(α, k – 1, N – k). Jika nilai W > F (α, k – 1, N – k), maka nilai W jatuh di daerah
penolakan sehingga tolak H0.
Note: df1 = k – 1 dan df2 = N – k
 Kesimpulan.

Syntax dan Output pada R :

#Levene Test--------------------------------------------------------

yl <- e
xl <- data[,2]
n1 <- nrow(yl)
n2 <- 40
N <- n1+n2
k <- 2

Xbar <- (mean(xl)) #rata-rata variabel X


Ybar <- (mean(yl)) #rata-rata residual

Zx <- abs(xl-Xbar)
Zy <- abs(yl-Ybar)
Zxbar <- mean(Zx)
Zybar <- mean(Zy)
Ztotalbar <- mean(c(Zxbar,Zybar))

#Statistik Uji
Lv1 <- (N-k)*sum(c(n1*((Zxbar-Ztotalbar)^2),(n2*((Zybar-
Ztotalbar)^2))))
Lv3 <- (k-1)*sum(c((Zx-Zxbar)^2,(Zy-Zybar)^2))
Ltest <- Lv1/Lv3

#P-value
P_Value <- 1 - pf(Ltest, q, n-q-1)

#Kesimpulan
print(P_Value)
[,1]
[1] 1.506684e-05
ifelse(P_Value < alpha, "Tolak H0: Ada Heteroskedastisitas",
"Terima H0: Tidak ada Heteroskedastisitas")
[1] "Tolak H0: Ada Heteroskedastisitas"
3. F-test or Chi-square-test for multiplicative heteroskedasticity
2
Asumsikan bahwa: σi = σ 2 exp{z’i α}

Hipotesis:

H0: α = 0 vs. H1: α≠0

Prosedur pengujian:

 Hipotesis dapat diuji menggunakan hasil dari least square regression:


2
log e i = log σ 2 + z’i α + vi.
2
 Hitung R-squared dari hasil regresi log e i
 Hitung statistik uji, menggunakan rumus standar uji F

Syntax dan Output pada R :

#F-test for Multiplicative Heteroskedasticity-----------------------

yh <- log(e^2)
e_h <- (I - H) %*% yh

#Hitung R-squared
R2_h <- 1 - (t(e_h) %*% e_h)/(n-1)/var(yh)
R2_h
[,1]
[1,] 0.1640426

#Statistik Uji
F_hitung <- ((n-q-1)/q)*(R2_h/(1-R2_h))

#P-value
P_Value <- 1 - pf(F_hitung, q, n-q-1)

#Kesimpulan
print(P_Value)
[,1]
[1,] 0.009527904
ifelse(P_Value < alpha, "Tolak H0: Ada Heteroskedastisitas",
"Terima H0: Tidak ada Heteroskedastisitas")
[,1]
[1,] "Tolak H0: Ada Heteroskedastisitas"
4. White test
Uji White dapat dilakukan dengan meregresikan residual kuadrat dengan variabel
independen dan variabel independen kuadrat dengan perkalian. Perhatikan persamaan
berikut :
Y i=β 0 + β 1 X 1 i+ β 2 X 2 i +…+ β p X pi + ε i
Berdasarkan model regresi diatas, uji White dapat dilakukan dengan beberapa
prosedur, yaitu:
2
 Hasil estimasi dari model regresi akan menghasilkan nilai error yaitu ε^ i
 Buat persamaan regresi:
^ 2i =α 0 + α 1 X 1 i+ a2 X 2 i+ a3 X 21 i+ α 4 X 22i + …+α p X 2pi+ ε i
U
Perhatikan model diatas, uji ini mengasumsikan bahwa varian error merupakan
fungsi yang mempunyai hubungan dengan variabel bebas, kuadrat masing-masing
variabel bebas dan interaksi antara variabel bebas.
 Formulasi hipotesis:
H0 : tidak terdapat masalah heteroskedastisitas dalam model regresi
H1 : terdapat masalah heteroskedastisitas dalam model regresi
 Sampel berukuran n dan koefisien determinasi R2 yang didapat dari regresi akan
mengikuti distribusi Chi-Square dengan derajat bebas jumlah variabel bebas atau
jumlah konferensi regresi diluar intercept. Dengan demikian formulasi uji White
adalah:
2
nR ≈ X
Jika nilai perhitungan melebihi nilai kritis dengan α yang dipilih, diputuskan bahwa
tidak terdapat heteroskedastisitas. Hal ini disebabkan α 1=α 2=α 3=α 4 =0 sehingga,
^ 2i =α 0 (konstan).
U

Syntax dan Output pada R :

#White Test---------------------------------------------------

# Membentuk vektor y
e2 <- e*e
y.white <- e2
# Membentuk matrix Z
X.white <- cbind(X,X[,2]^2)

# Menghitung R^2
H <- X.white %*% solve(t(X.white) %*% X.white)%*%t(X.white)
I <- diag(c(1),n,n)
J <- matrix(c(1),n,n)
SSE <- t(y.white)%*%(I-H)%*%y.white
SSR <- t(y.white)%*%(H-(J/n))%*%y.white
SST <- SSR+SSE
R2 <- SSR/SST

#Statistik uji
chi2.white <- n*R2

#P-value
P_Value <- 1 - pchisq(chi2.white, q)

#Kesimpulan
print(P_Value)
[,1]
[1,] 0.000134225
ifelse(P_Value < alpha, "Tolak H0: Ada Heteroskedastisitas",
"Terima H0: Tidak ada Heteroskedastisitas")
[,1]
[1,] "Tolak H0: Ada Heteroskedastisitas"
PENGUJIAN AUTOKORELASI
Setelah dilakukan pengujian asumsi heteroskedastisitas dan disimpulkan tidak adanya
heteroskedastisitas, selanjutnya adalah melakukan uji asumsi autokorelasi. Uji ini dilakukan
dengan Durbin-Watson test menggunakan R.

#Durbin Watson test

library(orcutt)
data(icecream)
head(icecream)

price cons income temp


1 0.270 0.386 78 41
2 0.282 0.374 79 56
3 0.277 0.393 81 63
4 0.280 0.425 80 68
5 0.272 0.406 76 69
6 0.262 0.344 78 65

n <- 30
p <- 3
y <- as.matrix(icecream[,2],nrow=n,ncol=1)
b0 <- matrix(1,n,1)
Z <- as.matrix(cbind(b0,icecream[,c(1,3,4)]),nrow=n,ncol=p+1)
be_h <- solve(t(Z)%*%Z)%*%t(Z)%*%y

#Residual
I <- diag(1,n,n)
H <- Z%*%solve(t(Z)%*%Z)%*%t(Z)
e <- (I-H)%*%y

#Durbin-Watson test
ei <- e[-1,]
eiminus1 <- e[-n,]

dw_a <- as.vector(t(e)%*%e);print(dw_a)

[1] 0.03527284

dw_b <-as.vector(sum((ei-eiminus1)^2));print(dw_b)

[1] 0.03601955

dw <- as.vector(dw_a/dw_b);print(dw)

[1] 1.02117

#Kesimpulan
DW table, p=3, n=30, and alpha=0.05 , dL=1.2138 and dU=1.6498
dw < dL, sehingga H0 ditolak berarti terdapat autokorelasi
Penanganan autokorelasi dengan Prais-Winsten Estimator

#Prais-Winsten estimator

#Menentukan rho
rho <- as.vector(solve(t(eiminus1)%*%eiminus1)%*%t(eiminus1)%*%ei)
rho

[1] 0.4006326

#iteration with Prais-Winsten estimator


err <-1
it <-1
while(err>1e-5){
y1 <- c(y[1,]*sqrt(1-(rho^2)),y[-1,]-rho*y[-n,])
Z1 <- rbind(sqrt(1-rho^2)*Z[1,],Z[-1,]-(Z[-n,]*rho))
be_1 <- solve(t(Z1)%*%Z1)%*%t(Z1)%*%y1
e <- y-Z%*%be_1
ei <- e[-1,]
eiminus1 <- e[-n,]
rhot <-as.vector(solve(t(eiminus1)%*%eiminus1)%*%t(eiminus1)%*
%ei)
err <-abs(rhot-rho)
rho <-rhot
it <-it+1
}

print(err);print(it);print(be_1);print(rhot)

[1] 9.016997e-06

[1] 34

[,1]
intercept 0.5869843285
price -1.0488706889
income -0.0008019877
temp 0.0029540844

[1] 0.8002062

e_gls<- y1-Z1%*%be_1

s2_gls<- as.vector((t(e_gls)%*%e_gls)/(n-2));print(s2_gls)

[1] 0.0009697996

se_be_gls<-sqrt(diag(s2_gls*(solve(t(Z1)%*%Z1))));print(se_be_gls)

intercept price income temp


0.2845295220 0.7321220567 0.0019713268 0.00068

Anda mungkin juga menyukai