Berikut ini beberapa packages yang diperlukan dalam melakukan pengujian asumsi regresi klasik :
install.packages("readxl")
install.packages("lmtest")
install.packages("tseries")
install.packages("car")
install.packages("strucchange")
Packages readxl berguna untuk menjalankan perintah pemanggilan data dengan format excell. packages lmtest selain digunakan untuk menjalankan perintah regresi ols juga digunakan untuk menjalankan perintah pengujian autokorelasi. kemudian packages tseries diperlukan untuk menjalankan perintah pengujian normalitas. sedangkan packages car digunakan untuk menjalankan perintah pengujian heterokedastisitas dan multikolinieritas. untuk packages strucchange diperlukan untuk menjalankan perintah pengujian stabilitas dengan menggunakan pendekatan CUSUM.
Jika packages tersebut diatas sudah terinstall pada RStudio kita, maka perlu dilakukan perintah pemanggilan packages tersebut seperti ditunjukkan pada bagian berikut :
library(readxl)
library(lmtest)
## Loading required package: zoo
##
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
##
## as.Date, as.Date.numeric
library(tseries)
## Registered S3 method overwritten by 'quantmod':
## method from
## as.zoo.data.frame zoo
library(car)
## Loading required package: carData
library(strucchange)
## Loading required package: sandwich
Pada kasus ini kita akan menguji apakah data dari variabel inflasi “inf” kemudian variabel pengangguran “un” dan variabel pertumbuhan ekonomi “gwrt” terbebas dari gejala asumsi regresi klasik. untuk itu kita perlu memanggil data tersebut dengan memanfaatkan perintah read_excel kemudian menampilkan data secara keseluruhan dengan menggunakan perintah View atau bisa juga hanya menampilkan 6 baris pertama dari data tersebut dengan menggunakan perintah head.
ujiasumsi <- read_excel("G:/My Drive/Data RStudio/data input.xlsx")
View(ujiasumsi)
head(ujiasumsi)
## # A tibble: 6 × 4
## year inf un gwrt
## <dbl> <dbl> <dbl> <dbl>
## 1 1991 9.42 2.59 5.07
## 2 1992 7.53 2.80 4.71
## 3 1993 9.69 4.24 4.76
## 4 1994 8.52 7.97 5.84
## 5 1995 9.43 3.62 6.56
## 6 1996 7.97 4.40 6.22
Kemudian data tersebut kita regresi OLS kan dengan menggunakan perintah lm dan juga menampilkan hasil regresi OLS nya dengan menggunakan perintah summary
regujiasumsi <- lm(gwrt ~ inf + un, data = ujiasumsi)
summary(regujiasumsi)
##
## Call:
## lm(formula = gwrt ~ inf + un, data = ujiasumsi)
##
## Residuals:
## Min 1Q Median 3Q Max
## -2.1226 -1.0062 -0.2966 1.1775 2.7743
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 7.30082 0.93897 7.775 6.97e-08 ***
## inf -0.34542 0.02715 -12.725 6.80e-12 ***
## un -0.06973 0.12364 -0.564 0.578
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.423 on 23 degrees of freedom
## Multiple R-squared: 0.8757, Adjusted R-squared: 0.8648
## F-statistic: 80.99 on 2 and 23 DF, p-value: 3.873e-11
Pengujian normalitas pada modul ini menggunakan pendekatan Jarque-Bera dengan pemenuhan asumsi hipotesis sebagai berikut :
H0 : residual terdistribusi normal
H1 : residual tidak terdistribusi normal
Pengambilan keputusan : kita tolak H0 ketika nilai p-value < 0,05.
jarque.bera.test(residuals(regujiasumsi))
##
## Jarque Bera Test
##
## data: residuals(regujiasumsi)
## X-squared = 1.3925, df = 2, p-value = 0.4985
Dari hasil uji normalitas metode Jarque-Bera diperoleh nilai p-value sebesar 0,4985 yang lebih besar dari 0,05 sehingga kita tidak tolak H0 yang berarti residual terdistribusi normal.
Pengujian heterokedastisitas pada modul ini menggunakan pendekatan Breusch-Pagan dengan pemenuhan asumsi hipotesis sebagai berikut :
H0 : Homoskedastik
H1 : Heterokedastik
Pengambilan keputusan : kita tolak H0 ketika nilai p-value < 0,05.
lmtest::bptest(regujiasumsi)
##
## studentized Breusch-Pagan test
##
## data: regujiasumsi
## BP = 1.019, df = 2, p-value = 0.6008
Dari hasil uji heterokedastisitas metode Breusch-Pagan diperoleh nilai p-value sebesar 0,6008 yang lebih besar dari 0,05 sehingga kita tidak tolak H0 yang berarti data bersifat homoeskedastik yang menunjukkan telah terbebas atau tidak terdapat gejala heterokedastisitas.
Pengujian autokorelasi pada modul ini menggunakan pendekatan Breusch-Godfrey dengan pemenuhan asumsi hipotesis sebagai berikut :
H0 : Tidak ada serial korelasi (autokorelasi)
H1 : Terdapat serial korelasi (autokorelasi)
Pengambilan keputusan : kita tolak H0 ketika nilai p-value < 0,05.
lmtest::bgtest(regujiasumsi, order=2)
##
## Breusch-Godfrey test for serial correlation of order up to 2
##
## data: regujiasumsi
## LM test = 5.8826, df = 2, p-value = 0.0528
Dari hasil uji autokorelasi metode Breusch-Godfrey diperoleh nilai p-value sebesar 0,0528 yang lebih besar dari 0,05 sehingga kita tidak tolak H0 yang berarti tidak ada serial korelasi yang menunjukkan telah terbebas atau tidak terdapat gejala autokorelasi.
Pengujian multikolinieritas pada modul ini menggunakan pendekatan nilai VIF dengan pemenuhan asumsi ketika nilai VIF setiap variabel < 10 maka tidak ada gejala multikolinieritas.
car::vif(regujiasumsi)
## inf un
## 1.004082 1.004082
Berdasarkan nilai VIF dari variabel inf (inflasi) sebesar 1,004082 dan variabel un(pengangguran) sebesar 1,004082 yang keduanya lebih kecil dari 10, kita bisa menyatakan tidak ada masalah multikolinieritas.
Pengujian stabilitas pada modul ini menggunakan pendekatan pengujian CUSUM dengan pemenuhan asumsi grafik Recursive CUSUM berada diantara 2 garis uji maka data dikatakan stabil.
model1 = efp(gwrt ~ inf + un, data = ujiasumsi)
plot(model1)
Dari grafik diatas terlihat bahwa garis Recursive CUSUM (berwarna hitam) berada diantara 2 garis uji (berwarna merah) sehingga kita bisa menyatakan data telah stabil.