library(readxl)
library(ggplot2)
library(tseries)Registered S3 method overwritten by 'quantmod':
method from
as.zoo.data.frame zoo
library(forecast)Library yang digunakan dalam analisis ini meliputi: readxl, ggplot2, tseries, forceast.
library(readxl)
library(ggplot2)
library(tseries)Registered S3 method overwritten by 'quantmod':
method from
as.zoo.data.frame zoo
library(forecast)Dalam analisis ini menggunakan Data Inflasi Indonesia dari tahun 2016 sampai dengan tahun 2020, bersumber dari Badan Pusat Statistik (BPS) Indonesia. Data yang telah di masukkan menggunakan fungsi dari read_excel dengan nama file Inflasi.xlsx.
Selanjutnya data yang digunakan kemudian di trasnformasi kedalam bentuk time series dengan menggunkan fungsi dari ts.
data <- read_excel("Inflasi.xlsx",
sheet = "Sheet2")
data.ts <- ts(data,
frequency=12,
start=c(2016,1))
print(data.ts) Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
2016 4.14 4.42 4.45 3.60 3.33 3.45 3.21 2.79 3.07 3.31 3.58 3.02
2017 3.49 3.83 3.61 4.17 4.33 4.37 3.88 3.82 3.72 3.58 3.30 3.61
2018 3.25 3.18 3.40 3.41 3.23 3.12 3.18 3.20 2.88 3.16 3.23 3.13
2019 2.82 2.57 2.48 2.83 3.32 3.28 3.32 3.49 3.39 3.13 3.00 2.72
2020 2.68 2.98 2.96 2.67 2.19 1.96 1.54 1.32 1.42 1.44 1.59 1.68
plot(data.ts, xlab = "Periode",
ylab = "Inflasi",
col="red",
main = "Inflasi")
points(data.ts,col="blue")Uji stasioner dilakukan untuk mengetahui apakah data deret waktu yang digunakan bersifat stasioner atau tidak stasioner. Sifat kestasioneran (stationary) sangat penting bagi data time series, karena jika suatu data time series tidak stasioner maka kita hanya dapat mempelajari perilakunya pada waktu tertentu, sedangkan untuk peramalan (forecasting) akan sulit untuk dilakukan. Pengujian terhadap keberadaan unit root untuk semua variabel yang dimasukkan dalam model menunjukkan bahwa seluruh variabel pada level tidak mepunyai unit root atau dapat dikatakan sema variabel stasioner. Dalam Analisis ini menggunakan unit root dengan menggunakan pendekatan uji Augmented Dickey-Fuller (ADF) dan Kwiatkowski-Phillips-Schmidt-Shin (KPSS). uji Augmented Dickey-Fuller (ADF) menggunakan fungsi adf.test dan Kwiatkowski-Phillips-Schmidt-Shin (KPSS) menggunakan fungsi kpss.test.
adf.test(data.ts)
Augmented Dickey-Fuller Test
data: data.ts
Dickey-Fuller = -2.5124, Lag order = 3, p-value = 0.3677
alternative hypothesis: stationary
kpss.test(data.ts)Warning in kpss.test(data.ts): p-value smaller than printed p-value
KPSS Test for Level Stationarity
data: data.ts
KPSS Level = 1.0417, Truncation lag parameter = 3, p-value = 0.01
Berdasarkan hasil uji Augmented Dickey-Fuller diperoleh p-value sebesar 0.3667 > 0.05 yang berarti bahwa H0 gagal ditolak atau data tidak stasioner. Karena data tidak stasioner maka selanjutnya dilakukan differencing untuk membuat data stasioner sebelum dilakukan identifikasi model tentatif.
Apabila ditemukan data yang tidak stasioner, maka harus menstasionerkan data terlebih dahulu dengan proses differencing. Proses differencing dilakukan sampai data menjadi stasioner
data.dif1<-diff(data.ts,
differences = 1)
plot(data.dif1,
main = "Data yang Telah di-Differencing")adf.test(data.dif1)
Augmented Dickey-Fuller Test
data: data.dif1
Dickey-Fuller = -3.5252, Lag order = 3, p-value = 0.0472
alternative hypothesis: stationary
Hasilnya hanya perlu 1 kali differencing untuk membuat data stasioner. Jadi model dasar ini bahwa model optimal hanya membutuhkan 1 kali differencing.
plot ACF (Autocorrelation Function) dan PACF (Partial Autocorrelation Function) dari data yang telah didifferencing. Plot ini akan membantu Anda menentukan nilai p (lag untuk model AR) dan q (lag untuk model MA). Selanjutnya Kami membuat model ARIMA menggunakan fungsi auto.arima, fungsi otomatis ini akan memberikan hasil yang optimal dari model arima.
acf(data.dif1,
main="Plot ACF Data Inflasi")pacf(data.dif1,
main="Plot PACF Data Inflasi")auto.arima(data,
trace = TRUE)
ARIMA(2,1,2) with drift : 22.14357
ARIMA(0,1,0) with drift : 21.15307
ARIMA(1,1,0) with drift : 22.9851
ARIMA(0,1,1) with drift : 22.77065
ARIMA(0,1,0) : 20.30916
ARIMA(1,1,1) with drift : 24.28718
Best model: ARIMA(0,1,0)
Series: data
ARIMA(0,1,0)
sigma^2 = 0.07976: log likelihood = -9.12
AIC=20.24 AICc=20.31 BIC=22.32
Model yang kita peroleh adalah ARIMA(0,1,0), seperti yang kita prediksi sebelum differencing optimum adalah 1, kita bisa melihatnya dari ARIMA(p,d,q) sehingga differencing berdasarkan model adalah d = 1.
Model ARIMA dengan parameter yang telah ditentukan menggunakan data tingkat inflasi sebelum Desember 2020.
data20.train <- ts(data.ts[1:59,1])
data2 <-ts(data20.train,
frequency=12,
start=c(2016,1))
print(data2) Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
2016 4.14 4.42 4.45 3.60 3.33 3.45 3.21 2.79 3.07 3.31 3.58 3.02
2017 3.49 3.83 3.61 4.17 4.33 4.37 3.88 3.82 3.72 3.58 3.30 3.61
2018 3.25 3.18 3.40 3.41 3.23 3.12 3.18 3.20 2.88 3.16 3.23 3.13
2019 2.82 2.57 2.48 2.83 3.32 3.28 3.32 3.49 3.39 3.13 3.00 2.72
2020 2.68 2.98 2.96 2.67 2.19 1.96 1.54 1.32 1.42 1.44 1.59
plot(data2,
main = "Data Sebelum Desember 2020")model_arima <- Arima(data2, order = c(0, 1, 0))
summary(model_arima)Series: data2
ARIMA(0,1,0)
sigma^2 = 0.081: log likelihood = -9.41
AIC=20.82 AICc=20.89 BIC=22.88
Training set error measures:
ME RMSE MAE MPE MAPE MASE
Training set -0.04315017 0.2821743 0.2256634 -2.068089 7.658258 0.3267461
ACF1
Training set 0.07864049
RMSE adalah akar dari rata-rata kuadrat dari selisih antara nilai aktual dan prediksi. RMSE adalah ukuran kesalahan model yang umum digunakan. Dalam konteks ini, RMSE adalah sekitar 0.2821743, yang berarti rata-rata selisih antara prediksi dan nilai aktual adalah sekitar 0.2821743.
Validasi model ARIMA dengan membandingkan prediksi tingkat inflasi pada periode Januari 2021 hingga Desember 2021 dengan data aktual 2021.
prediksi <- forecast(model_arima, h = 13)
prediksi Point Forecast Lo 80 Hi 80 Lo 95 Hi 95
Dec 2020 1.59 1.2252750 1.954725 1.03220126 2.147799
Jan 2021 1.59 1.0742010 2.105799 0.80115346 2.378847
Feb 2021 1.59 0.9582778 2.221722 0.62386425 2.556136
Mar 2021 1.59 0.8605500 2.319450 0.47440253 2.705597
Apr 2021 1.59 0.7744501 2.405550 0.34272411 2.837276
May 2021 1.59 0.6966099 2.483390 0.22367772 2.956322
Jun 2021 1.59 0.6250284 2.554972 0.11420326 3.065797
Jul 2021 1.59 0.5584019 2.621598 0.01230692 3.167693
Aug 2021 1.59 0.4958250 2.684175 -0.08339621 3.263396
Sep 2021 1.59 0.4366383 2.743362 -0.17391448 3.353914
Oct 2021 1.59 0.3803441 2.799656 -0.26000912 3.440009
Nov 2021 1.59 0.3265556 2.853444 -0.34227150 3.522272
Dec 2021 1.59 0.2749653 2.905035 -0.42117194 3.601172
plot(prediksi, main = "Prediksi Tingkat Inflasi")data2021 <- read_excel("Inflasi.xlsx", sheet = "2021")
data.aktual2021 <- ts(data2021,
frequency=12,
start=c(2021,1))
print(data.aktual2021) Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
2021 1.55 1.38 1.37 1.42 1.68 1.33 1.52 1.59 1.60 1.66 1.75 1.87
plot(prediksi, main = "Prediksi ARIMA vs Tingkat Inflasi Aktual")
lines(data.aktual2021,
col = "red")
legend("topleft",
legend = c("Prediksi", "Aktual"),
col = c("black", "blue"), lty = 1)Model ARIMA yang telah dilatih untuk membuat prediksi tingkat inflasi untuk tahun 2022 dan pebandingan prediksi dengan data aktual 2022
prediksi2 <- forecast(model_arima, h = 25)
prediksi2 Point Forecast Lo 80 Hi 80 Lo 95 Hi 95
Dec 2020 1.59 1.2252750106 1.954725 1.03220126 2.147799
Jan 2021 1.59 1.0742009734 2.105799 0.80115346 2.378847
Feb 2021 1.59 0.9582777875 2.221722 0.62386425 2.556136
Mar 2021 1.59 0.8605500211 2.319450 0.47440253 2.705597
Apr 2021 1.59 0.7744501305 2.405550 0.34272411 2.837276
May 2021 1.59 0.6966098794 2.483390 0.22367772 2.956322
Jun 2021 1.59 0.6250283810 2.554972 0.11420326 3.065797
Jul 2021 1.59 0.5584019468 2.621598 0.01230692 3.167693
Aug 2021 1.59 0.4958250317 2.684175 -0.08339621 3.263396
Sep 2021 1.59 0.4366383138 2.743362 -0.17391448 3.353914
Oct 2021 1.59 0.3803440583 2.799656 -0.26000912 3.440009
Nov 2021 1.59 0.3265555750 2.853444 -0.34227150 3.522272
Dec 2021 1.59 0.2749653491 2.905035 -0.42117194 3.601172
Jan 2022 1.59 0.2253240491 2.954676 -0.49709176 3.677092
Feb 2022 1.59 0.1774261899 3.002574 -0.57034522 3.750345
Mar 2022 1.59 0.1311000422 3.048900 -0.64119494 3.821195
Apr 2022 1.59 0.0862003442 3.093800 -0.70986311 3.889863
May 2022 1.59 0.0426029202 3.137397 -0.77653961 3.956540
Jun 2022 1.59 0.0002006288 3.179799 -0.84138832 4.021388
Jul 2022 1.59 -0.0410997390 3.221100 -0.90455178 4.084552
Aug 2022 1.59 -0.0813798720 3.261380 -0.96615493 4.146155
Sep 2022 1.59 -0.1207118385 3.300712 -1.02630798 4.206308
Oct 2022 1.59 -0.1591596017 3.339160 -1.08510876 4.265109
Nov 2022 1.59 -0.1967802412 3.376780 -1.14264457 4.322645
Dec 2022 1.59 -0.2336249472 3.413625 -1.19899368 4.378994
plot(prediksi2, main = "Prediksi Tingkat Inflasi")data2022 <- read_excel("Inflasi.xlsx", sheet = "2022")
View(data2022)
data.aktual2022 <- ts(data2022,
frequency=12,
start=c(2022))
print(data.aktual2022) Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
2022 2.18 2.06 2.64 3.47 3.55 4.35 4.94 4.69 5.95 5.71 5.42 5.51
# Plot prediksi dan data aktual
plot(prediksi2, main = "Prediksi ARIMA vs Tingkat Inflasi Aktual 2022")
lines(data.aktual2022, col = "Red")
legend("topleft", legend = c("Prediksi", "Aktual"), col = c("black", "blue"), lty = 1)Dalam analisis ini menggunakan paket “readxl” untuk membaca file Excel dan mengimpor data, paket “plm” untuk analisis data panel, paket “car” untuk analisis regresi dan uji statistik, paket “tseries” untuk analisis deret waktu, dan paket “lmtest” untuk uji statistik pada model regresi. Dengan menggunakan paket-paket ini, kami dapat melakukan berbagai analisis yang relevan dengan data yang kami miliki. data penlitian ini terdiri dari data Emisi Carbon (Co2) , GDP dan Populasi dari 5 Negara Asean selama periode 2000-2019.
library(readxl)
library(plm)
library(car)Loading required package: carData
library(tseries)
library(lmtest)Loading required package: zoo
Attaching package: 'zoo'
The following objects are masked from 'package:base':
as.Date, as.Date.numeric
library(car)library(readxl)
data <- read_excel("Book22.xlsx")
View(data)Dalam analisis ini, data ditransformasikan menjadi bentuk panel data menggunakan fungsi pdata.frame() dari paket plm dalam bahasa pemrograman R. Dalam pemodelan data panel, penting untuk mengorganisir data ke dalam bentuk yang tepat, di mana unit pengamatan yang sama diamati dalam beberapa periode waktu. Dengan melakukan transformasi ini, dapat menganalisis hubungan antara variabel dalam unit yang sama seiring waktu. Dalam kasus ini, data Anda telah diubah menjadi format panel dengan variabel “Code” dan “Year” sebagai indeks panel. Transformasi ini memungkinkan untuk melihat dan menganalisis efek individual serta efek waktu dalam data panel.
Data_panel <- pdata.frame(x = data, index = c("Code", "Year"))
Data_panel Code Year Co2 Populasi GDP
Indonesia-2000 Indonesia 2000 39.126 206.265 1.650210e+11
Indonesia-2001 Indonesia 2001 41.149 209.206 1.604469e+11
Indonesia-2002 Indonesia 2002 40.522 212.190 1.956606e+11
Indonesia-2003 Indonesia 2003 44.588 215.216 2.347725e+11
Indonesia-2004 Indonesia 2004 42.823 218.285 2.568369e+11
Indonesia-2005 Indonesia 2005 42.409 221.398 2.858686e+11
Indonesia-2006 Indonesia 2006 44.262 224.555 3.645705e+11
Indonesia-2007 Indonesia 2007 46.563 227.758 4.322167e+11
Indonesia-2008 Indonesia 2008 45.176 231.006 5.102286e+11
Indonesia-2009 Indonesia 2009 44.657 234.300 5.395801e+11
Indonesia-2010 Indonesia 2010 45.828 237.641 7.550942e+11
Indonesia-2011 Indonesia 2011 51.627 241.991 8.929691e+11
Indonesia-2012 Indonesia 2012 52.088 245.425 9.178699e+11
Indonesia-2013 Indonesia 2013 50.007 248.818 9.125241e+11
Indonesia-2014 Indonesia 2014 52.109 252.165 8.908148e+11
Indonesia-2015 Indonesia 2015 53.610 255.588 8.608542e+11
Indonesia-2016 Indonesia 2016 51.381 258.497 9.318774e+11
Indonesia-2017 Indonesia 2017 52.536 261.356 1.015619e+12
Indonesia-2018 Indonesia 2018 54.104 264.162 1.042272e+12
Indonesia-2019 Indonesia 2019 55.919 266.912 1.119100e+12
Malaysia-2000 Malaysia 2000 56.901 23.495 9.378974e+10
Malaysia-2001 Malaysia 2001 57.243 24.123 9.278395e+10
Malaysia-2002 Malaysia 2002 58.177 24.727 1.008455e+11
Malaysia-2003 Malaysia 2003 57.006 25.320 1.102024e+11
Malaysia-2004 Malaysia 2004 58.451 25.905 1.247495e+11
Malaysia-2005 Malaysia 2005 57.279 26.477 1.435344e+11
Malaysia-2006 Malaysia 2006 59.173 26.832 1.626923e+11
Malaysia-2007 Malaysia 2007 60.941 27.100 1.935495e+11
Malaysia-2008 Malaysia 2008 61.545 27.600 2.308116e+11
Malaysia-2009 Malaysia 2009 58.060 28.082 2.022575e+11
Malaysia-2010 Malaysia 2010 62.559 28.589 2.550176e+11
Malaysia-2011 Malaysia 2011 60.526 29.062 2.979517e+11
Malaysia-2012 Malaysia 2012 59.987 29.510 3.144431e+11
Malaysia-2013 Malaysia 2013 57.573 30.214 3.232763e+11
Malaysia-2014 Malaysia 2014 59.490 30.709 3.380661e+11
Malaysia-2015 Malaysia 2015 62.219 31.186 3.013548e+11
Malaysia-2016 Malaysia 2016 58.909 31.634 3.012553e+11
Malaysia-2017 Malaysia 2017 59.435 32.023 3.191091e+11
Malaysia-2018 Malaysia 2018 58.266 32.382 3.587888e+11
Malaysia-2019 Malaysia 2019 57.347 32.523 3.651777e+11
Pilhippines-2000 Pilhippines 2000 40.969 76.950 8.366979e+10
Pilhippines-2001 Pilhippines 2001 42.865 78.610 7.892123e+10
Pilhippines-2002 Pilhippines 2002 41.653 80.270 8.430735e+10
Pilhippines-2003 Pilhippines 2003 42.942 81.910 8.703909e+10
Pilhippines-2004 Pilhippines 2004 44.285 83.550 9.500200e+10
Pilhippines-2005 Pilhippines 2005 43.498 85.170 1.074200e+11
Pilhippines-2006 Pilhippines 2006 40.385 86.790 1.276529e+11
Pilhippines-2007 Pilhippines 2007 41.686 88.390 1.559804e+11
Pilhippines-2008 Pilhippines 2008 40.789 89.980 1.816246e+11
Pilhippines-2009 Pilhippines 2009 42.214 91.560 1.759748e+11
Pilhippines-2010 Pilhippines 2010 43.394 93.140 2.083689e+11
Pilhippines-2011 Pilhippines 2011 43.149 94.700 2.342167e+11
Pilhippines-2012 Pilhippines 2012 42.763 96.250 2.619205e+11
Pilhippines-2013 Pilhippines 2013 46.063 97.790 2.839028e+11
Pilhippines-2014 Pilhippines 2014 45.963 99.310 2.974836e+11
Pilhippines-2015 Pilhippines 2015 45.962 100.830 3.064459e+11
Pilhippines-2016 Pilhippines 2016 47.809 102.530 3.186270e+11
Pilhippines-2017 Pilhippines 2017 49.839 104.170 3.284807e+11
Pilhippines-2018 Pilhippines 2018 50.316 105.760 3.468419e+11
Pilhippines-2019 Pilhippines 2019 52.598 107.290 3.768234e+11
Thailand-2000 Thailand 2000 50.418 62.953 1.263922e+11
Thailand-2001 Thailand 2001 51.459 63.539 1.202965e+11
Thailand-2002 Thailand 2002 49.286 64.069 1.343009e+11
Thailand-2003 Thailand 2003 47.471 64.550 1.522806e+11
Thailand-2004 Thailand 2004 48.104 64.995 1.728957e+11
Thailand-2005 Thailand 2005 48.307 65.416 1.893184e+11
Thailand-2006 Thailand 2006 47.775 65.813 2.217583e+11
Thailand-2007 Thailand 2007 47.504 66.182 2.629426e+11
Thailand-2008 Thailand 2008 47.356 66.531 2.913830e+11
Thailand-2009 Thailand 2009 45.696 66.867 2.817106e+11
Thailand-2010 Thailand 2010 44.966 67.195 3.411048e+11
Thailand-2011 Thailand 2011 44.680 67.518 3.708187e+11
Thailand-2012 Thailand 2012 44.753 67.836 3.975583e+11
Thailand-2013 Thailand 2013 43.096 68.145 4.203337e+11
Thailand-2014 Thailand 2014 42.572 68.439 4.073390e+11
Thailand-2015 Thailand 2015 43.688 68.715 4.012962e+11
Thailand-2016 Thailand 2016 42.033 68.971 4.133663e+11
Thailand-2017 Thailand 2017 42.242 69.210 4.563568e+11
Thailand-2018 Thailand 2018 42.669 69.428 5.067542e+11
Thailand-2019 Thailand 2019 43.339 69.626 5.439767e+11
Vietnam-2000 Vietnam 2000 36.766 79.395 3.117252e+10
Vietnam-2001 Vietnam 2001 38.039 80.469 3.268520e+10
Vietnam-2002 Vietnam 2002 40.841 81.534 3.506411e+10
Vietnam-2003 Vietnam 2003 41.028 82.302 3.955251e+10
Vietnam-2004 Vietnam 2004 45.044 83.063 4.542785e+10
Vietnam-2005 Vietnam 2005 45.827 83.833 5.763326e+10
Vietnam-2006 Vietnam 2006 46.038 84.618 6.637166e+10
Vietnam-2007 Vietnam 2007 47.191 85.420 7.741443e+10
Vietnam-2008 Vietnam 2008 49.625 86.243 9.913030e+10
Vietnam-2009 Vietnam 2009 50.294 87.092 1.060147e+11
Vietnam-2010 Vietnam 2010 51.621 87.968 1.472012e+11
Vietnam-2011 Vietnam 2011 51.412 87.860 1.725950e+11
Vietnam-2012 Vietnam 2012 50.452 88.809 1.955906e+11
Vietnam-2013 Vietnam 2013 51.567 89.760 2.137088e+11
Vietnam-2014 Vietnam 2014 50.999 90.729 2.334515e+11
Vietnam-2015 Vietnam 2015 62.567 91.713 2.392583e+11
Vietnam-2016 Vietnam 2016 63.078 92.695 2.570960e+11
Vietnam-2017 Vietnam 2017 61.380 93.672 2.813536e+11
Vietnam-2018 Vietnam 2018 65.892 94.666 3.101065e+11
Vietnam-2019 Vietnam 2019 70.658 96.484 3.343653e+11
Dalam analisis ini, kami menggunakan data panel yang terdiri dari unit pengamatan yang sama diamati dalam beberapa periode waktu. Dalam analisis data panel, terdapat beberapa jenis model yang digunakan untuk mengestimasi hubungan antara variabel-variabel dalam data panel. Model-model yang umum digunakan adalah common effect, fixed effect, dan random effect.
Model common effect adalah salah satu jenis model dalam analisis data panel yang memperhitungkan efek individu yang bersifat tetap dan umum bagi semua unit pengamatan. Dalam model ini, efek individu dianggap sebagai variabel yang tidak diamati dan mempengaruhi semua unit pengamatan dalam data panel.. Model fixed effect memperhitungkan efek individual yang konsisten pada setiap unit pengamatan, dengan menambahkan variabel dummy untuk setiap unit. Model random effect memperhitungkan efek individual yang tidak tetap antara unit-unit pengamatan dengan mengasumsikan distribusi acak. Sedangkan, model common effect memperhitungkan efek individu yang umum bagi semua unit pengamatan.
common_model <- plm(log(Co2) ~ log(Populasi) + log(GDP), data = Data_panel, model = "pooling")
summary(common_model)Pooling Model
Call:
plm(formula = log(Co2) ~ log(Populasi) + log(GDP), data = Data_panel,
model = "pooling")
Balanced Panel: n = 5, T = 20, N = 100
Residuals:
Min. 1st Qu. Median 3rd Qu. Max.
-0.235525 -0.066796 0.011342 0.067689 0.351391
Coefficients:
Estimate Std. Error t-value Pr(>|t|)
(Intercept) 2.045594 0.381481 5.3622 5.569e-07 ***
log(Populasi) -0.131335 0.017893 -7.3401 6.585e-11 ***
log(GDP) 0.092743 0.015486 5.9889 3.576e-08 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Total Sum of Squares: 2.0673
Residual Sum of Squares: 1.2344
R-Squared: 0.4029
Adj. R-Squared: 0.39059
F-statistic: 32.7258 on 2 and 97 DF, p-value: 1.375e-11
fixed_model <- plm(log(Co2) ~ log(Populasi) + log(GDP), data = Data_panel, model = "within", effect = "individual")
summary(fixed_model)Oneway (individual) effect Within Model
Call:
plm(formula = log(Co2) ~ log(Populasi) + log(GDP), data = Data_panel,
effect = "individual", model = "within")
Balanced Panel: n = 5, T = 20, N = 100
Residuals:
Min. 1st Qu. Median 3rd Qu. Max.
-0.1645200 -0.0519678 -0.0061482 0.0436883 0.2163476
Coefficients:
Estimate Std. Error t-value Pr(>|t|)
log(Populasi) -0.097762 0.214171 -0.4565 0.6491
log(GDP) 0.122843 0.027424 4.4794 2.126e-05 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Total Sum of Squares: 1.0436
Residual Sum of Squares: 0.58158
R-Squared: 0.44272
Adj. R-Squared: 0.40676
F-statistic: 36.9406 on 2 and 93 DF, p-value: 1.5578e-12
random_model <- plm(log(Co2) ~ log(Populasi) + log(GDP), data = Data_panel, model = "random")
summary(random_model)Oneway (individual) effect Random Effect Model
(Swamy-Arora's transformation)
Call:
plm(formula = log(Co2) ~ log(Populasi) + log(GDP), data = Data_panel,
model = "random")
Balanced Panel: n = 5, T = 20, N = 100
Effects:
var std.dev share
idiosyncratic 0.006254 0.079079 0.323
individual 0.013104 0.114473 0.677
theta: 0.8473
Residuals:
Min. 1st Qu. Median 3rd Qu. Max.
-0.158581 -0.053837 -0.002943 0.041390 0.235559
Coefficients:
Estimate Std. Error z-value Pr(>|z|)
(Intercept) 1.200700 0.351481 3.4161 0.0006352 ***
log(Populasi) -0.136782 0.073904 -1.8508 0.0641951 .
log(GDP) 0.125968 0.015662 8.0431 8.757e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Total Sum of Squares: 1.0675
Residual Sum of Squares: 0.59852
R-Squared: 0.4393
Adj. R-Squared: 0.42774
Chisq: 75.9995 on 2 DF, p-value: < 2.22e-16
Untuk memilih model yang paling tepat terdapat beberapa pengujian yang dapat dilakukan, antara lain:
Uji Chow Chow test adalah pengujian untuk menentukan model apakah Common Effect (CE) ataukah Fixed Effect (FE) yang paling tepat digunakan dalam mengestimasi data panel. Apabila Hasil: H0: Pilih PLS (CE) H1: Pilih FE (FE)
Uji Hausman Hausman test adalah pengujian statistik untuk memilih apakah model Fixed Effect atau Random Effect yang paling tepat digunakan. Apabila Hasil: H0: Pilih RE H1: Pilih FE.
Uji Lagrange Multiplier Uji Lagrange Multiplier (LM) adalah uji untuk mengetahui apakah model Random Effect lebih baik daripada metode Common Effect (PLS) digunakan. Apabila Hasil: H0: Pilih PLS H1: Pilih RE.
# Uji Chow
chow_test <- pooltest(common_model, fixed_model)
chow_test
F statistic
data: log(Co2) ~ log(Populasi) + log(GDP)
F = 26.097, df1 = 4, df2 = 93, p-value = 1.622e-14
alternative hypothesis: unstability
# Uji Hausman
hausman_test <- phtest(fixed_model, random_model)
hausman_test
Hausman Test
data: log(Co2) ~ log(Populasi) + log(GDP)
chisq = 0.37376, df = 2, p-value = 0.8295
alternative hypothesis: one model is inconsistent
# Uji Lagrange Multiplier
lagrange_test <- plmtest(fixed_model, effect = "individual", type = "bp")
lagrange_test
Lagrange Multiplier Test - (Breusch-Pagan)
data: log(Co2) ~ log(Populasi) + log(GDP)
chisq = 207.94, df = 1, p-value < 2.2e-16
alternative hypothesis: significant effects
Dalam konteks pemilihan model yang paling sesuai, serangkaian pengujian signifikan telah dilakukan. Pertama, uji Chow digunakan untuk menentukan apakah model Common Effect (CE) atau Fixed Effect (FE) lebih sesuai dalam mengestimasi data panel. Hasil uji ini menunjukkan adanya ketidakstabilan dalam model, dengan F-statistik yang signifikan (p-value = 1.622e-14), mengindikasikan bahwa model-model tersebut berbeda secara signifikan.
Selanjutnya, uji Hausman digunakan untuk memilih antara model Fixed Effect (FE) dan Random Effect (RE). Hasil uji Hausman menunjukkan bahwa tidak ada cukup bukti statistik untuk menolak hipotesis bahwa model Fixed Effect (FE) dan Random Effect (RE) konsisten, karena p-value (0.8295) lebih besar dari tingkat signifikansi yang ditentukan.
Terakhir, uji Lagrange Multiplier (LM) digunakan untuk mengevaluasi apakah model Random Effect (RE) lebih baik daripada model Common Effect (CE/PLS). Hasil uji ini menunjukkan adanya efek signifikan dalam model yang diuji (p-value < 2.2e-16).
Dengan demikian, berdasarkan pengujian ini, model Fixed Effect (FE) lebih sesuai daripada Common Effect (CE/PLS),
# Uji Jarque-Bera
jarque_bera_test <- jarque.bera.test(residuals(fixed_model))
jarque_bera_test
Jarque Bera Test
data: residuals(fixed_model)
X-squared = 4.2818, df = 2, p-value = 0.1176
Pengujian Jarque-Bera digunakan untuk menguji normalitas dari residual model. Normalitas adalah salah satu asumsi penting dalam statistik inferensial.
Nilai statistik Jarque-Bera (X-squared) adalah sekitar 100.45 dengan derajat kebebasan (df) sebanyak 2.
P-value yang dihasilkan adalah jauh lebih kecil dari tingkat signifikansi α = 0.05, yaitu p-value < 2.2e-16.
Hasil ini menunjukkan bahwa terdapat bukti yang kuat untuk menolak hipotesis nol (H0) bahwa residual model terdistribusi secara normal. Dengan kata lain, residual model tidak mengikuti distribusi normal.
# Uji Breusch-Pagan
breusch_pagan_test <- bptest(fixed_model)
breusch_pagan_test
studentized Breusch-Pagan test
data: fixed_model
BP = 5.1613, df = 2, p-value = 0.07573
# Uji White
white_test <- bptest(fixed_model, studentize = FALSE)
white_test
Breusch-Pagan test
data: fixed_model
BP = 6.9488, df = 2, p-value = 0.03098
Dalam analisis heteroskedastisitas menggunakan uji Breusch-Pagan, hasil yang diperoleh adalah sebagai berikut:
Uji Studentized Breusch-Pagan menunjukkan bahwa BP (Breusch-Pagan) statistic adalah sekitar 5.1613 dengan df (derajat kebebasan) sebesar 2. P-value yang dihasilkan adalah sekitar 0.07573. Hasil ini menunjukkan bahwa p-value (0.07573) lebih besar dari tingkat signifikansi α = 0.05, sehingga tidak ada cukup bukti statistik untuk menolak hipotesis bahwa terdapat heteroskedastisitas dalam model. Dalam konteks ini, tidak ada bukti yang kuat untuk adanya heteroskedastisitas.
Selanjutnya, uji Breusch-Pagan tradisional juga dilakukan, dan hasilnya menunjukkan bahwa BP statistic adalah sekitar 6.9488 dengan df sebesar 2. P-value yang dihasilkan adalah sekitar 0.03098. Hasil ini menunjukkan bahwa p-value (0.03098) lebih kecil dari α = 0.05, yang mengindikasikan adanya heteroskedastisitas dalam model.
Dalam konteks ini, terdapat perbedaan antara hasil uji Studentized Breusch-Pagan dan Breusch-Pagan tradisional. Hasil dari Breusch-Pagan tradisional mengindikasikan adanya heteroskedastisitas dalam model, sementara hasil dari uji Studentized Breusch-Pagan menunjukkan sebaliknya.
residuals_fixed <- residuals(fixed_model)
residuals_fixed Indonesia-2000 Indonesia-2001 Indonesia-2002 Indonesia-2003
-0.061721333 -0.006471792 -0.044816007 0.029801803
Indonesia-2004 Indonesia-2005 Indonesia-2006 Indonesia-2007
-0.020237621 -0.041723355 -0.027447045 0.003708590
Indonesia-2008 Indonesia-2009 Indonesia-2010 Indonesia-2011
-0.045530836 -0.062572421 -0.076585429 0.023735588
Indonesia-2012 Indonesia-2013 Indonesia-2014 Indonesia-2015
0.030624323 -0.008087432 0.037351351 0.071270036
Indonesia-2016 Indonesia-2017 Indonesia-2018 Indonesia-2019
0.020170809 0.032905470 0.060176782 0.085448518
Malaysia-2000 Malaysia-2001 Malaysia-2002 Malaysia-2003
0.043714844 0.053610538 0.061978142 0.033061798
Malaysia-2004 Malaysia-2005 Malaysia-2006 Malaysia-2007
0.045095955 0.009745595 0.028188560 0.037266552
Malaysia-2008 Malaysia-2009 Malaysia-2010 Malaysia-2011
0.027287609 -0.013088859 0.034819740 -0.015727244
Malaysia-2012 Malaysia-2013 Malaysia-2014 Malaysia-2015
-0.029794598 -0.071967168 -0.043119232 0.017360965
Malaysia-2016 Malaysia-2017 Malaysia-2018 Malaysia-2019
-0.035870624 -0.032859029 -0.066030953 -0.083672590
Pilhippines-2000 Pilhippines-2001 Pilhippines-2002 Pilhippines-2003
-0.001464137 0.053039767 0.018290557 0.046827539
Pilhippines-2004 Pilhippines-2005 Pilhippines-2006 Pilhippines-2007
0.068807536 0.037662913 -0.055950370 -0.047077123
Pilhippines-2008 Pilhippines-2009 Pilhippines-2010 Pilhippines-2011
-0.085785134 -0.045861884 -0.037376626 -0.055779531
Pilhippines-2012 Pilhippines-2013 Pilhippines-2014 Pilhippines-2015
-0.076911460 -0.010922849 -0.017328321 -0.019511340
Pilhippines-2016 Pilhippines-2017 Pilhippines-2018 Pilhippines-2019
0.016733731 0.056127577 0.060452296 0.096026859
Thailand-2000 Thailand-2001 Thailand-2002 Thailand-2003
0.188311470 0.215726588 0.159865512 0.107641455
Thailand-2004 Thailand-2005 Thailand-2006 Thailand-2007
0.105962925 0.099658313 0.069747338 0.043679407
Thailand-2008 Thailand-2009 Thailand-2010 Thailand-2011
0.028456940 -0.002586407 -0.041713065 -0.057885195
Thailand-2012 Thailand-2013 Thailand-2014 Thailand-2015
-0.064346641 -0.108473840 -0.116428773 -0.088322610
Thailand-2016 Thailand-2017 Thailand-2018 Thailand-2019
-0.130217867 -0.137073856 -0.139576624 -0.132425071
Vietnam-2000 Vietnam-2001 Vietnam-2002 Vietnam-2003
-0.164519999 -0.134988910 -0.071259374 -0.080571083
Vietnam-2004 Vietnam-2005 Vietnam-2006 Vietnam-2007
-0.003299483 -0.014397118 -0.026233981 -0.019481536
Vietnam-2008 Vietnam-2009 Vietnam-2010 Vietnam-2011
0.001373112 0.007473933 -0.005824591 -0.029551780
Vietnam-2012 Vietnam-2013 Vietnam-2014 Vietnam-2015
-0.062715351 -0.050697187 -0.071577706 0.130890629
Vietnam-2016 Vietnam-2017 Vietnam-2018 Vietnam-2019
0.131232834 0.093894018 0.153905952 0.216347622
bg_test <- bgtest(fixed_model, order = 1, type = "F")
bg_test
Breusch-Godfrey test for serial correlation of order up to 1
data: fixed_model
LM test = 537.87, df1 = 1, df2 = 96, p-value < 2.2e-16
Dalam analisis autokorelasi menggunakan Breusch-Godfrey test untuk korelasi berurutan hingga orde 1, hasil yang diperoleh adalah sebagai berikut:
Hasil uji Breusch-Godfrey menunjukkan bahwa LM (Lagrange Multiplier) test statistic adalah sekitar 537.87 dengan df1 (derajat kebebasan 1) dan df2 (derajat kebebasan 2) masing-masing adalah 1 dan 96.
P-value yang dihasilkan adalah sangat kecil, yaitu < 2.2e-16, yang mengindikasikan bahwa terdapat autokorelasi berurutan hingga orde 1 dalam model.
Dalam konteks ini, hasil uji Breusch-Godfrey menunjukkan adanya autokorelasi positif dalam data panel Anda, yang perlu diperhatikan dalam analisis lebih lanjut.
Autokorelasi berurutan adalah ketika observasi dalam deret waktu atau data panel terkait dengan observasi sebelumnya dalam deret waktu tersebut. Hal ini dapat mempengaruhi hasil analisis regresi dan perlu diperbaiki atau dimodelkan dengan benar agar analisis lebih akurat.
Melakukan pendugaan parameter menggunakan First Differences generalized method of moments (FD-GMM) Arellano dan Bond (1991) melakukan prosedur pembedaan pertama (first difference) pada persamaan regresi data panel dinamis tanpa peubah penjelas untuk memperoleh instrumen first difference yang valid (berkorelasi dengan yi,t- 1-yi,t-2 dan tidak berkorelasi dengan vi,t-vi,t-1 sehingga menghilangkan pengaruh individu μi). Instrumen GMM dengan lag dari peubah respons mulai dari t-2, atau disebut FD-GMM.
gmm_model <- pgmm(formula = log(Co2) ~ lag(log(Co2)) + log(Populasi) + log(GDP) | lag(log(Co2), 2),
data = Data_panel, effect = "individual", model = "onestep",
transformation = "d")Warning in pgmm(formula = log(Co2) ~ lag(log(Co2)) + log(Populasi) + log(GDP) |
: the second-step matrix is singular, a general inverse is used
summary(gmm_model)Warning in vcovHC.pgmm(object): a general inverse is used
Oneway (individual) effect One-step model Difference GMM
Call:
pgmm(formula = log(Co2) ~ lag(log(Co2)) + log(Populasi) + log(GDP) |
lag(log(Co2), 2), data = Data_panel, effect = "individual",
model = "onestep", transformation = "d")
Balanced Panel: n = 5, T = 20, N = 100
Number of Observations Used: 90
Residuals:
Min. 1st Qu. Median Mean 3rd Qu. Max.
-0.0790833 -0.0330440 -0.0026067 0.0006721 0.0242571 0.2001016
Coefficients:
Estimate Std. Error z-value Pr(>|z|)
lag(log(Co2)) 0.297562 0.235878 1.2615 0.2071
log(Populasi) 0.775458 0.363907 2.1309 0.0331 *
log(GDP) -0.030072 0.042206 -0.7125 0.4762
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Sargan test: chisq(17) = 5 (p-value = 0.99777)
Autocorrelation test (1): normal = -1.163002 (p-value = 0.24483)
Autocorrelation test (2): normal = -1.002289 (p-value = 0.3162)
Wald test for coefficients: chisq(3) = 6.880202 (p-value = 0.075816)
Dalam analisis data panel dengan menggunakan model One-way (individual) effect, One-step model Difference GMM, hasil yang diperoleh adalah sebagai berikut:
Model regresi yang digunakan adalah:
log(Co2)=β 1 ⋅lag(log(Co2))+β 2 ⋅log(Populasi)+β 3 ⋅log(GDP)+ε
Hasil estimasi koefisien model adalah:
Koefisien β1 sekitar 0.297562 dengan standar error sekitar 0.235878. Namun, p-value untuk β1 (lag(\log(Co2))) adalah 0.2071, yang lebih besar dari tingkat signifikansi 0.05, sehingga koefisien ini tidak signifikan secara statistik.
Koefisien β2 (log(Populasi)) sekitar 0.775458 dengan standar error sekitar 0.363907. P-value untuk β2 adalah 0.0331, yang lebih kecil dari tingkat signifikansi 0.05, sehingga koefisien ini signifikan secara statistik.
Koefisien β3 (log(GDP)) sekitar -0.030072 dengan standar error sekitar 0.042206. P-value untuk β3 adalah 0.4762, yang lebih besar dari tingkat signifikansi 0.05, sehingga koefisien ini juga tidak signifikan secara statistik.
Selain itu, hasil uji-instrumental Sargan test menghasilkan p-value sekitar 0.99777, yang menunjukkan bahwa model instrumental valid. Uji-autokorelasi juga menunjukkan bahwa tidak ada autokorelasi yang signifikan dalam model ini.
Terakhir, uji Wald test untuk koefisien menghasilkan p-value sekitar 0.075816, yang lebih besar dari tingkat signifikansi 0.05, sehingga tidak ada cukup bukti statistik untuk menolak hipotesis nol bahwa semua koefisien dalam model adalah nol secara bersama-sama.
Dalam analisis data ekonometrika, metode Ordinary Least Squares (OLS) sering digunakan untuk memodelkan hubungan antara variabel dependen dan variabel independen. Namun, terkadang kita menghadapi situasi di mana ada variabel instrumental yang berkorelasi dengan variabel independen dan variabel dependen yang tidak bersifat eksogen. Dalam kasus ini, metode Two-Stage Least Squares (2SLS) dapat digunakan untuk menangani masalah endogenitas variabel.
Dalam konteks penggunaan bahasa pemrograman R, kita dapat menggunakan paket AER untuk melakukan analisis 2SLS. Setelah memuat dataset yang relevan, seperti dataset “mroz” dari paket wooldridge, kita dapat membangun model 2SLS menggunakan fungsi ivreg() yang disediakan oleh paket AER.
Dalam penelitian ini, dataset “mroz” dari paket “wooldridge” digunakan sebagai landasan dalam analisis data ekonometrika. Dengan memuat paket “AER” dan “wooldridge” dalam bahasa pemrograman R, dataset ini dapat diakses dan digunakan untuk memahami hubungan antara variabel dependen dan independen dalam konteks pendapatan dan tingkat pendidikan perempuan. Langkah awal melibatkan impor dataset dan melihat sebagian awal dari data dengan perintah “head(mroz)” untuk memverifikasi bahwa dataset telah dimuat dengan benar. Dataset ini memberikan dasar yang kuat untuk analisis ekonometrika selanjutnya, yang akan membantu dalam mendapatkan pemahaman yang lebih dalam tentang faktor-faktor yang memengaruhi pendapatan perempuan dan implikasinya dalam konteks ekonomi.
library(AER)Loading required package: sandwich
Loading required package: survival
library(wooldridge)
data(mroz)
head(mroz) inlf hours kidslt6 kidsge6 age educ wage repwage hushrs husage huseduc
1 1 1610 1 0 32 12 3.3540 2.65 2708 34 12
2 1 1656 0 2 30 12 1.3889 2.65 2310 30 9
3 1 1980 1 3 35 12 4.5455 4.04 3072 40 12
4 1 456 0 3 34 12 1.0965 3.25 1920 53 10
5 1 1568 1 2 31 14 4.5918 3.60 2000 32 12
6 1 2032 0 0 54 12 4.7421 4.70 1040 57 11
huswage faminc mtr motheduc fatheduc unem city exper nwifeinc lwage
1 4.0288 16310 0.7215 12 7 5.0 0 14 10.910060 1.21015370
2 8.4416 21800 0.6615 7 7 11.0 1 5 19.499981 0.32851210
3 3.5807 21040 0.6915 12 7 5.0 0 15 12.039910 1.51413774
4 3.5417 7300 0.7815 7 7 5.0 0 6 6.799996 0.09212332
5 10.0000 27300 0.6215 12 14 9.5 1 7 20.100058 1.52427220
6 6.7106 19495 0.6915 14 7 7.5 1 33 9.859054 1.55648005
expersq
1 196
2 25
3 225
4 36
5 49
6 1089
reg <- lm(data=mroz, wage ~ educ + fatheduc)
summary(reg)
Call:
lm(formula = wage ~ educ + fatheduc, data = mroz)
Residuals:
Min 1Q Median 3Q Max
-5.6108 -1.6626 -0.5153 0.8639 21.2045
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -2.05804 0.84961 -2.422 0.0158 *
educ 0.52026 0.07253 7.173 3.27e-12 ***
fatheduc -0.03896 0.04704 -0.828 0.4080
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 3.116 on 425 degrees of freedom
(325 observations deleted due to missingness)
Multiple R-squared: 0.1184, Adjusted R-squared: 0.1142
F-statistic: 28.53 on 2 and 425 DF, p-value: 2.371e-12
Dalam analisis awal, kita menerapkan regresi OLS untuk memodelkan hubungan antara tingkat pendidikan (“educ”) dan pendapatan (“wage”) menggunakan dataset “mroz.” Hasil analisis OLS menunjukkan bahwa tingkat pendidikan memiliki dampak positif dan signifikan terhadap pendapatan, mengindikasikan bahwa peningkatan tingkat pendidikan berkontribusi pada peningkatan pendapatan. Namun, variabel independen lain seperti pendidikan ayah (“fatheduc”) tidak memiliki pengaruh yang signifikan pada pendapatan.
iv <- ivreg(data=mroz, wage ~ educ + fatheduc|fatheduc + motheduc)
summary(iv)
Call:
ivreg(formula = wage ~ educ + fatheduc | fatheduc + motheduc,
data = mroz)
Residuals:
Min 1Q Median 3Q Max
-4.7111 -1.8859 -0.7023 0.8980 21.0206
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 3.51542 3.83968 0.916 0.360
educ -0.02418 0.37261 -0.065 0.948
fatheduc 0.10773 0.11024 0.977 0.329
Residual standard error: 3.316 on 425 degrees of freedom
Multiple R-Squared: 0.001454, Adjusted R-squared: -0.003245
Wald test: 2.472 on 2 and 425 DF, p-value: 0.08561
Dalam analisis ini menggunakan model ivreg** untuk mengatasi masalah endogenitas. Tahap pertama dalam analisis ini melibatkan regresi educ” pada instrumen “fatheduc” dan “motheduc” menggunakan model ivreg. Hasil tahap pertama menunjukkan bahwa variabel instrumen memiliki pengaruh yang signifikan terhadap tingkat pendidikan.
reg1 <- lm(data=mroz, educ ~ fatheduc + motheduc)
summary(reg1)
Call:
lm(formula = educ ~ fatheduc + motheduc, data = mroz)
Residuals:
Min 1Q Median 3Q Max
-7.4596 -1.3760 -0.0924 0.7241 6.9243
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 8.97566 0.22567 39.774 < 2e-16 ***
fatheduc 0.18342 0.02471 7.422 3.14e-13 ***
motheduc 0.18328 0.02622 6.991 6.04e-12 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 1.984 on 750 degrees of freedom
Multiple R-squared: 0.245, Adjusted R-squared: 0.243
F-statistic: 121.7 on 2 and 750 DF, p-value: < 2.2e-16
educ_hat <- fitted(reg1)reg2 <- lm(data=mroz, wage ~ educ_hat + fatheduc)
summary(reg2)
Call:
lm(formula = wage ~ educ_hat + fatheduc, data = mroz)
Residuals:
Min 1Q Median 3Q Max
-4.6781 -1.8679 -0.6735 0.8581 21.0180
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 3.47135 3.14993 1.102 0.271
educ_hat -0.02063 0.31628 -0.065 0.948
fatheduc 0.10697 0.09913 1.079 0.281
Residual standard error: 3.299 on 425 degrees of freedom
(325 observations deleted due to missingness)
Multiple R-squared: 0.01162, Adjusted R-squared: 0.006966
F-statistic: 2.498 on 2 and 425 DF, p-value: 0.08349
Tahap kedua dari analisis menggunakan ivreg, yaitu regresi “wage” pada estimasi educ_hat yang dihasilkan dari tahap pertama dan variabel “fatheduc,” juga menunjukkan hasil yang tidak signifikan secara statistik. Hasil ini memperkuat kesimpulan bahwa penggunaan metode 2SLS dalam kasus ini tidak mengatasi masalah endogenitas dengan baik dan tidak menghasilkan hasil yang lebih baik daripada OLS.