P02_STA1353_Common Effect Model
Common Effect Model
Common Effect Model (CEM) atau model gabungan merupakan model yang paling sederhana dalam regresi data panel. CEM tidak memerhatikan pengaruh spesifik individu maupun pengaruh spesifik waktu sehingga mengasumsikan koefisien regresi (intersep ataupun kemiringan) yang konstan antar individu dan waktu. Persamaan model yang digunakan mengikuti bentuk regresi linier dengan komponen sisaan hanya berasal dari komponen sisaan pendugaan. Metode pendugaan parameter pada model ini sama dengan model regresi linier biasa yaitu menggunakan metodek kuadrat terkecil (MKT) dengan menggabungkan data lintas individu dan data deret waktu menjadi satu kesatuan data yang utuh (Gujarati 2004). Persamaan pool model dapat dituliskan sebagai berikut.
\[ y_{it}=\alpha + \beta_1x_{1,it}+\beta_2x_{2,it}+...+\beta_kx_{k,it}+\epsilon_{it} \]
dengan \(y_{it}\) merupakan peubah respon pada individu ke-i dan waktu ke-t, \(\alpha\) merupakan koefisien intersep, \(\beta_k\) merupakan koefisien pada peubah penjelas ke-k, \(x_{k,it}\) merupakan peubah penjelas ke-k pada individu ke-i dan waktu ke-t, dan \(\epsilon_{it}\) merupakan sisaan untuk individu ke-i dan waktu ke-t.
Ilustrasi
Data yang digunakan berasal dari Data Publikasi Badan Pusat Statistik di https://www.bps.go.id/indikator/. Data tersebut merupakan data kabupatenkota di kawasan timur Indonesia tahun 2014 sampai 2021 sebanyak 185 individu. Data terdiri atas data jumlah kemiskinan (jiwa) sebagai peubah respon dan data peubah penjelas yaitu PDRB (miliar rupiah), rata-rata lama sekolah (tahun), pengeluaran perkapita, dan harapan lama sekolah.
Data dapat diakses pada link ini.
Data
library(readxl)
dataa <- read_excel("C:/Users/LENOVO/Documents/DIAH/datapanel.xlsx")
knitr::kable(head(dataa))| KabKota | Tahun | JPM | PDRB | RLS | PPD | HLS | Provinsi |
|---|---|---|---|---|---|---|---|
| Jembrana | 2014 | 15800 | 9020 | 7.30 | 10944 | 11.48 | Bali |
| Jembrana | 2015 | 15830 | 10198 | 7.54 | 11168 | 11.88 | Bali |
| Jembrana | 2016 | 14530 | 11168 | 7.59 | 11343 | 12.27 | Bali |
| Jembrana | 2017 | 14780 | 12169 | 7.62 | 11468 | 12.40 | Bali |
| Jembrana | 2018 | 14350 | 13206 | 7.95 | 11666 | 12.61 | Bali |
| Jembrana | 2019 | 13550 | 14141 | 8.22 | 11902 | 12.63 | Bali |
## Rows: 1,480
## Columns: 8
## $ KabKota <chr> "Jembrana", "Jembrana", "Jembrana", "Jembrana", "Jembrana", "…
## $ Tahun <dbl> 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2014, 2015, 2…
## $ JPM <dbl> 15800, 15830, 14530, 14780, 14350, 13550, 12600, 14240, 24400…
## $ PDRB <dbl> 9020, 10198, 11168, 12169, 13206, 14141, 13465, 13510, 15066,…
## $ RLS <dbl> 7.30, 7.54, 7.59, 7.62, 7.95, 8.22, 8.23, 8.35, 7.91, 8.07, 8…
## $ PPD <dbl> 10944, 11168, 11343, 11468, 11666, 11902, 11790, 11675, 13492…
## $ HLS <dbl> 11.48, 11.88, 12.27, 12.40, 12.61, 12.63, 12.65, 12.92, 12.04…
## $ Provinsi <chr> "Bali", "Bali", "Bali", "Bali", "Bali", "Bali", "Bali", "Bali…
## KabKota Tahun JPM PDRB
## Length:1480 Min. :2014 Min. : 3550 Min. : 134
## Class :character 1st Qu.:2016 1st Qu.: 14138 1st Qu.: 2417
## Mode :character Median :2018 Median : 24295 Median : 5087
## Mean :2018 Mean : 31015 Mean : 9116
## 3rd Qu.:2019 3rd Qu.: 37365 3rd Qu.: 11448
## Max. :2021 Max. :222190 Max. :190318
## RLS PPD HLS Provinsi
## Min. : 0.630 Min. : 3607 Min. : 2.16 Length:1480
## 1st Qu.: 6.860 1st Qu.: 7053 1st Qu.:11.89 Class :character
## Median : 7.740 Median : 8358 Median :12.57 Mode :character
## Mean : 7.668 Mean : 8783 Mean :12.37
## 3rd Qu.: 8.652 3rd Qu.:10279 3rd Qu.:13.22
## Max. :12.510 Max. :19992 Max. :16.89
Data terdiri dari 1480 unit pengamatan pada level kabupaten/kota dengan series amatan dari 2014 hingga 2021.
Eksplorasi Data
Jumlah Penduduk Miskin di wilayah timur sepanjang tahun 2014 - 2018
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
dataprovtimur <- dataa %>%
dplyr::select(c(Provinsi, Tahun, JPM))%>%
group_by(Tahun) %>%
summarise(across(where(is.numeric),sum))
dataprovtimur## # A tibble: 8 × 2
## Tahun JPM
## <dbl> <dbl>
## 1 2014 5909092
## 2 2015 5919737
## 3 2016 5785240
## 4 2017 5764370
## 5 2018 5648650
## 6 2019 5596240
## 7 2020 5564170
## 8 2021 5714440
## NOTE: Either Arial Narrow or Roboto Condensed fonts are required to use these themes.
## Please use hrbrthemes::import_roboto_condensed() to install Roboto Condensed and
## if Arial Narrow is not on your system, please see https://bit.ly/arialnarrow
# Plot
dataprovtimur %>%
tail(10) %>%
ggplot( aes(x=Tahun, y=JPM)) +
geom_line( color="Blue") +
geom_point(shape=21, color="black", fill="#69b3a2", size=3) +
scale_x_continuous(limits = c(2014, 2021), breaks = seq(2014, 2021, 1))+
theme_ipsum() +
theme(plot.title=element_text(size=15))+
labs(title="Jumlah Penduduk Miskin di Wilayah Timur", subtitle =" Tahun 2014 - 2021")Berdasarkan grafik di atas dapat dapat dilihat bahwa jumlah penduduk miskin pada wilayah timur cenderung mengalami penurunan pada rentang waktu 2014 hingga 2020. Namun jumlah penduduk miskin terlihat meningkat di tahun 2021 yang bersamaan dengan kejadian pandemi Covid 19.
Selanjutnya akan dilihat pola dari jumlah penduduk miskin setiap tahun pada setiap unit individu pada level provinsi.
dataProv <- dataa %>%
dplyr::select(c(Provinsi, Tahun, JPM))%>%
group_by(Provinsi,Tahun) %>%
summarise(across(where(is.numeric),sum))## `summarise()` has grouped output by 'Provinsi'. You can override using the
## `.groups` argument.
| Provinsi | Tahun | JPM |
|---|---|---|
| Bali | 2014 | 196000 |
| Bali | 2015 | 196720 |
| Bali | 2016 | 178180 |
| Bali | 2017 | 180130 |
| Bali | 2018 | 171770 |
| Bali | 2019 | 163850 |
| Bali | 2020 | 165210 |
| Bali | 2021 | 201950 |
| Gorontalo | 2014 | 195000 |
| Gorontalo | 2015 | 206840 |
| Gorontalo | 2016 | 203190 |
| Gorontalo | 2017 | 205360 |
| Gorontalo | 2018 | 198520 |
| Gorontalo | 2019 | 186030 |
| Gorontalo | 2020 | 185020 |
| Gorontalo | 2021 | 186300 |
| Maluku | 2014 | 307000 |
| Maluku | 2015 | 328400 |
| Maluku | 2016 | 327720 |
| Maluku | 2017 | 320500 |
| Maluku | 2018 | 320090 |
| Maluku | 2019 | 317690 |
| Maluku | 2020 | 318170 |
| Maluku | 2021 | 321810 |
| Maluku Utara | 2014 | 116641 |
| Maluku Utara | 2015 | 79900 |
| Maluku Utara | 2016 | 74670 |
| Maluku Utara | 2017 | 76460 |
| Maluku Utara | 2018 | 81460 |
| Maluku Utara | 2019 | 84600 |
| Maluku Utara | 2020 | 86360 |
| Maluku Utara | 2021 | 87170 |
| NTB | 2014 | 816600 |
| NTB | 2015 | 823890 |
| NTB | 2016 | 804450 |
| NTB | 2017 | 793780 |
| NTB | 2018 | 737460 |
| NTB | 2019 | 735950 |
| NTB | 2020 | 713880 |
| NTB | 2021 | 746650 |
| NTT | 2014 | 1008841 |
| NTT | 2015 | 1159840 |
| NTT | 2016 | 1149920 |
| NTT | 2017 | 1150810 |
| NTT | 2018 | 1142160 |
| NTT | 2019 | 1146340 |
| NTT | 2020 | 1153760 |
| NTT | 2021 | 1169320 |
| Papua | 2014 | 864200 |
| Papua | 2015 | 892530 |
| Papua | 2016 | 911330 |
| Papua | 2017 | 897670 |
| Papua | 2018 | 917650 |
| Papua | 2019 | 926360 |
| Papua | 2020 | 911400 |
| Papua | 2021 | 920460 |
| Papua Barat | 2014 | 289482 |
| Papua Barat | 2015 | 225370 |
| Papua Barat | 2016 | 225810 |
| Papua Barat | 2017 | 228380 |
| Papua Barat | 2018 | 214460 |
| Papua Barat | 2019 | 211540 |
| Papua Barat | 2020 | 208590 |
| Papua Barat | 2021 | 219080 |
| Sulawesi Barat | 2014 | 186541 |
| Sulawesi Barat | 2015 | 160480 |
| Sulawesi Barat | 2016 | 152730 |
| Sulawesi Barat | 2017 | 149750 |
| Sulawesi Barat | 2018 | 151780 |
| Sulawesi Barat | 2019 | 151410 |
| Sulawesi Barat | 2020 | 152010 |
| Sulawesi Barat | 2021 | 157190 |
| Sulawesi Selatan | 2014 | 806400 |
| Sulawesi Selatan | 2015 | 797720 |
| Sulawesi Selatan | 2016 | 807030 |
| Sulawesi Selatan | 2017 | 813060 |
| Sulawesi Selatan | 2018 | 792650 |
| Sulawesi Selatan | 2019 | 767820 |
| Sulawesi Selatan | 2020 | 776840 |
| Sulawesi Selatan | 2021 | 784980 |
| Sulawesi Tengah | 2014 | 450982 |
| Sulawesi Tengah | 2015 | 421620 |
| Sulawesi Tengah | 2016 | 420520 |
| Sulawesi Tengah | 2017 | 417870 |
| Sulawesi Tengah | 2018 | 420220 |
| Sulawesi Tengah | 2019 | 410370 |
| Sulawesi Tengah | 2020 | 398720 |
| Sulawesi Tengah | 2021 | 404450 |
| Sulawesi Tenggara | 2014 | 473705 |
| Sulawesi Tenggara | 2015 | 417887 |
| Sulawesi Tenggara | 2016 | 326870 |
| Sulawesi Tenggara | 2017 | 331710 |
| Sulawesi Tenggara | 2018 | 307130 |
| Sulawesi Tenggara | 2019 | 302580 |
| Sulawesi Tenggara | 2020 | 301820 |
| Sulawesi Tenggara | 2021 | 318730 |
| Sulawesi Utara | 2014 | 197700 |
| Sulawesi Utara | 2015 | 208540 |
| Sulawesi Utara | 2016 | 202820 |
| Sulawesi Utara | 2017 | 198890 |
| Sulawesi Utara | 2018 | 193300 |
| Sulawesi Utara | 2019 | 191700 |
| Sulawesi Utara | 2020 | 192390 |
| Sulawesi Utara | 2021 | 196350 |
dataProv %>%
mutate(provinsi = forcats::fct_reorder2(Provinsi, Tahun, JPM)) %>%
ggplot(mapping = aes(y = JPM, x = Tahun ,group = provinsi, colour=provinsi)) +
geom_line(size=1.2) +
geom_point(shape=21, size=2) +
scale_x_continuous(limits = c(2014, 2021), breaks = seq(2014, 2021, 1))+
theme(plot.title=element_text(size=12))+
labs(title="Jumlah Penduduk Miskin Per Provinsi", subtitle =" Tahun 2014-2021")+
theme_minimal()Berdasarkan grafik di atas dapat dilihat jumlah penduduk miskin di setiap provinsi pada wilayah timur cenderung mengalami penurunan pada rentang waktu 2014 hingga 2020. Namun jumlah penduduk miskin terlihat meningkat di tahun 2021 yang bersamaan dengan kejadian pandemi Covid 19. Gambaran ini sejalan dengan pola yang terjadi pada plot pola pergerakan jumlah penduduk miskin sebelumnya. Provinsi NTT, Papua, Sulawesi Selatan, dan NTB merupakan empat provinsi yang memiliki jumlah penduduk miskin tertinggi pada kurun waktu tersebut. Sedangkan provinsi Maluku Utara, Sulawesi Barat dan Bali merupakan provinsi dengan jumlah penduduk miskin yang lebih rendah dibandingkan sembilan provinsi lainnya di wilayah timur.
Untuk melihat rataan jumlah penduduk antar provinsi pada kurun waktu tersebut dapat diamati melalui grafik dibawah ini.
dataProv1 <- dataProv %>%
dplyr::select(-Tahun) %>%
group_by(Provinsi) %>%
summarise(across(where(is.numeric),mean)) %>%
arrange(JPM)
dataProv1## # A tibble: 13 × 2
## Provinsi JPM
## <chr> <dbl>
## 1 Maluku Utara 85908.
## 2 Sulawesi Barat 157736.
## 3 Bali 181726.
## 4 Gorontalo 195782.
## 5 Sulawesi Utara 197711.
## 6 Papua Barat 227839
## 7 Maluku 320172.
## 8 Sulawesi Tenggara 347554
## 9 Sulawesi Tengah 418094
## 10 NTB 771582.
## 11 Sulawesi Selatan 793312.
## 12 Papua 905200
## 13 NTT 1135124.
dataProv1 %>%
mutate(Prov = forcats::fct_reorder(Provinsi, JPM)) %>%
ggplot(aes(x = Prov, y = JPM)) +
geom_bar(stat="identity", fill="#6D67E4", alpha=.6, width=.6) +
geom_text(aes(label =round(JPM)), hjust= -0.1, size=3)+
ylim(c(0, 1200000))+
coord_flip()+
theme_minimal()+
labs(title = 'Rata-Rata Jumlah Penduduk Miskin Per Provinsi')Model OLS
##
## Call:
## lm(formula = JPM ~ PDRB + RLS + PPD + HLS, data = dataa)
##
## Residuals:
## Min 1Q Median 3Q Max
## -77297 -14405 -4944 9493 167510
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.315e+04 4.517e+03 2.911 0.00366 **
## PDRB 4.584e-01 5.134e-02 8.930 < 2e-16 ***
## RLS -1.025e+04 5.952e+02 -17.228 < 2e-16 ***
## PPD -4.802e-02 3.614e-01 -0.133 0.89430
## HLS 7.495e+03 5.716e+02 13.113 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 23630 on 1475 degrees of freedom
## Multiple R-squared: 0.2136, Adjusted R-squared: 0.2115
## F-statistic: 100.2 on 4 and 1475 DF, p-value: < 2.2e-16
## # Check for Multicollinearity
##
## Low Correlation
##
## Term VIF VIF 95% CI Increased SE Tolerance Tolerance 95% CI
## PDRB 1.47 [1.39, 1.58] 1.21 0.68 [0.63, 0.72]
## RLS 3.35 [3.07, 3.65] 1.83 0.30 [0.27, 0.33]
## PPD 2.46 [2.27, 2.67] 1.57 0.41 [0.37, 0.44]
## HLS 2.86 [2.63, 3.11] 1.69 0.35 [0.32, 0.38]
## # Indices of model performance
##
## AIC | AICc | BIC | R2 | R2 (adj.) | RMSE | Sigma
## -----------------------------------------------------------------------------
## 34014.982 | 34015.039 | 34046.781 | 0.214 | 0.212 | 23589.462 | 23629.410
Nilai VIF < 10 mengindikasikan tidak terdapat multikolinieritas. Nilai \(R^2_{adj}\) pada model ini sebesar 21,2%.
Diagnostik Sisaan
Kenormalan Sisaan
Hipotesis:
\(H_0\) : sisaan menyebar
normal
\(H_1\) : sisaan tidak menyebar
normal
## Registered S3 method overwritten by 'quantmod':
## method from
## as.zoo.data.frame zoo
##
## Jarque Bera Test
##
## data: res.ols
## X-squared = 6600.7, df = 2, p-value < 2.2e-16
#histogram
hist(res.ols,
xlab = "sisaan",
col = "steelblue",
breaks=30,
prob = TRUE)
lines(density(res.ols), # density plot
lwd = 2, # thickness of line
col = "chocolate3")#plotqqnorm
qqnorm(res.ols,datax=T, col="blue")
qqline(rnorm(length(res.ols),mean(res.ols),sd(res.ols)),datax=T, col="red")Hasil uji normalitas memberikan nilai p-value kurang dari \(\alpha\) (5%) , sehingga tolak H0 yang menandakan sisaan belum menyebar normal. Plot histogram dan QQ normal juga menunjukkan bahwa sisaan belum menyebar normal.
Kebebasan antar Sisaan
Hipotesis:
\(H_0\) : sisaan saling bebas
\(H_1\) : sisaan tidak saling bebas
## Loading required package: zoo
##
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
##
## as.Date, as.Date.numeric
##
## Durbin-Watson test
##
## data: ols
## DW = 0.23289, p-value < 2.2e-16
## alternative hypothesis: true autocorrelation is greater than 0
Nilai p-value kurang dari \(\alpha\) (5%) sehingga tolak H0 sehingga dapat dikatakan bahwa sisaan tidak saling bebas atau terdapat gejala autokorelasi pada model.
Kehomogenan Ragam Sisaan
Hipotesis:
\(H_0\) : sisaan memiliki ragam
homogen
\(H_1\) : sisaan tidak memiliki ragam
homogen
##
## studentized Breusch-Pagan test
##
## data: ols
## BP = 134.57, df = 4, p-value < 2.2e-16
Nilai p-value kurang dari \(\alpha\) (5%) sehingga tolak H0 sehingga dapat dikatakan bahwa sisaan belum homogen.
#Hasil plot menunjukkan ragam tidak homogen
plot(yhat.ols,res.ols,
xlab = "fitted value",
ylab = "residuals")Model CEM
##
## Attaching package: 'plm'
## The following objects are masked from 'package:dplyr':
##
## between, lag, lead
## Pooling Model
##
## Call:
## plm(formula = JPM ~ PDRB + RLS + PPD + HLS, data = dataa, model = "pooling")
##
## Balanced Panel: n = 185, T = 8, N = 1480
##
## Residuals:
## Min. 1st Qu. Median 3rd Qu. Max.
## -77296.6 -14405.2 -4943.7 9492.8 167510.1
##
## Coefficients:
## Estimate Std. Error t-value Pr(>|t|)
## (Intercept) 1.3149e+04 4.5171e+03 2.9109 0.003658 **
## PDRB 4.5841e-01 5.1336e-02 8.9295 < 2.2e-16 ***
## RLS -1.0254e+04 5.9516e+02 -17.2285 < 2.2e-16 ***
## PPD -4.8023e-02 3.6137e-01 -0.1329 0.894297
## HLS 7.4953e+03 5.7157e+02 13.1135 < 2.2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Total Sum of Squares: 1.0473e+12
## Residual Sum of Squares: 8.2356e+11
## R-Squared: 0.21364
## Adj. R-Squared: 0.21151
## F-statistic: 100.183 on 4 and 1475 DF, p-value: < 2.22e-16
##
## Call:
## lm(formula = JPM ~ PDRB + RLS + PPD + HLS, data = dataa)
##
## Residuals:
## Min 1Q Median 3Q Max
## -77297 -14405 -4944 9493 167510
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.315e+04 4.517e+03 2.911 0.00366 **
## PDRB 4.584e-01 5.134e-02 8.930 < 2e-16 ***
## RLS -1.025e+04 5.952e+02 -17.228 < 2e-16 ***
## PPD -4.802e-02 3.614e-01 -0.133 0.89430
## HLS 7.495e+03 5.716e+02 13.113 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 23630 on 1475 degrees of freedom
## Multiple R-squared: 0.2136, Adjusted R-squared: 0.2115
## F-statistic: 100.2 on 4 and 1475 DF, p-value: < 2.2e-16
## # Check for Multicollinearity
##
## Low Correlation
##
## Term VIF VIF 95% CI Increased SE Tolerance Tolerance 95% CI
## PDRB 1.47 [1.39, 1.58] 1.21 0.68 [0.63, 0.72]
## RLS 3.35 [3.07, 3.65] 1.83 0.30 [0.27, 0.33]
## PPD 2.46 [2.27, 2.67] 1.57 0.41 [0.37, 0.44]
## HLS 2.86 [2.63, 3.11] 1.69 0.35 [0.32, 0.38]
## # Indices of model performance
##
## AIC | AICc | BIC | R2 | R2 (adj.) | RMSE | Sigma
## -----------------------------------------------------------------------------
## 34014.982 | 34015.039 | 34046.781 | 0.214 | 0.212 | 23589.462 | 23629.410
Hasil pendugaan parameter dengan menggunakan model OLS dan model CEM memiliki nilai yang sama.
## (Intercept) PDRB RLS PPD HLS
## 1.314881e+04 4.584063e-01 -1.025370e+04 -4.802323e-02 7.495309e+03
## (Intercept) PDRB RLS PPD HLS
## 1.314881e+04 4.584063e-01 -1.025370e+04 -4.802323e-02 7.495309e+03
Diagnostik Sisaan
Kenormalan Sisaan
Hipotesis:
\(H_0\) : sisaan menyebar
normal
\(H_1\) : sisaan tidak menyebar
normal
res.cem <- residuals(common)
yhat.cem <- fitted(common)
#normality
library(tseries)
jarque.bera.test(res.cem)##
## Jarque Bera Test
##
## data: res.cem
## X-squared = 6600.7, df = 2, p-value < 2.2e-16
##
## Shapiro-Wilk normality test
##
## data: res.cem
## W = 0.85831, p-value < 2.2e-16
#histogram
hist(res.cem,
xlab = "sisaan",
col = "steelblue",
breaks=30,
prob = TRUE)
lines(density(res.cem), # density plot
lwd = 2, # thickness of line
col = "chocolate3")#plotqqnorm
res.cem1 <- as.numeric(res.cem)
qqnorm(res.cem1,datax=T, col="blue")
qqline(rnorm(length(res.cem1),mean(res.cem1),sd(res.cem1)),datax=T, col="red")Kebebasan antar Sisaan
##
## Breusch-Godfrey/Wooldridge test for serial correlation in panel models
##
## data: JPM ~ PDRB + RLS + PPD + HLS
## chisq = 1153.6, df = 8, p-value < 2.2e-16
## alternative hypothesis: serial correlation in idiosyncratic errors
Transformasi Logaritma Natural pada Seluruh Peubah
common1 <- plm(log(JPM)~log(PDRB)+log(RLS)+log(PPD)+log(HLS), data=dataa, model="pooling")
summary(common1)## Pooling Model
##
## Call:
## plm(formula = log(JPM) ~ log(PDRB) + log(RLS) + log(PPD) + log(HLS),
## data = dataa, model = "pooling")
##
## Balanced Panel: n = 185, T = 8, N = 1480
##
## Residuals:
## Min. 1st Qu. Median 3rd Qu. Max.
## -2.386016 -0.418585 -0.018865 0.453462 1.710436
##
## Coefficients:
## Estimate Std. Error t-value Pr(>|t|)
## (Intercept) 11.610960 0.716536 16.2043 < 2.2e-16 ***
## log(PDRB) 0.476109 0.022684 20.9888 < 2.2e-16 ***
## log(RLS) -1.567425 0.104153 -15.0493 < 2.2e-16 ***
## log(PPD) -0.755473 0.095486 -7.9119 4.938e-15 ***
## log(HLS) 1.731967 0.166756 10.3862 < 2.2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Total Sum of Squares: 848.55
## Residual Sum of Squares: 561.59
## R-Squared: 0.33818
## Adj. R-Squared: 0.33639
## F-statistic: 188.428 on 4 and 1475 DF, p-value: < 2.22e-16
## # Check for Multicollinearity
##
## Low Correlation
##
## Term VIF VIF 95% CI Increased SE Tolerance Tolerance 95% CI
## log(PDRB) 2.28 [2.11, 2.47] 1.51 0.44 [0.40, 0.47]
## log(RLS) 4.72 [4.32, 5.18] 2.17 0.21 [0.19, 0.23]
## log(PPD) 3.20 [2.94, 3.49] 1.79 0.31 [0.29, 0.34]
## log(HLS) 4.13 [3.78, 4.52] 2.03 0.24 [0.22, 0.26]
## # Indices of model performance
##
## AIC | AICc | BIC | R2 | R2 (adj.) | RMSE | Sigma
## ---------------------------------------------------------------------
## 32545.875 | 32545.932 | 32577.674 | 0.338 | 0.336 | 0.616 | 0.617
Diagnostik Sisaan
res.cem <- residuals(common1)
yhat.cem <- fitted(common1)
#normality
library(tseries)
jarque.bera.test(res.cem)##
## Jarque Bera Test
##
## data: res.cem
## X-squared = 9.2687, df = 2, p-value = 0.009713
##
## Shapiro-Wilk normality test
##
## data: res.cem
## W = 0.99439, p-value = 2.263e-05
#histogram
hist(res.cem,
xlab = "sisaan",
col = "steelblue",
breaks=30,
prob = TRUE)
lines(density(res.cem), # density plot
lwd = 2, # thickness of line
col = "chocolate3")#plotqqnorm
res.cem1 <- as.numeric(res.cem)
qqnorm(res.cem1,datax=T, col="blue")
qqline(rnorm(length(res.cem1),mean(res.cem1),sd(res.cem1)),datax=T, col="red")##
## Breusch-Godfrey/Wooldridge test for serial correlation in panel models
##
## data: log(JPM) ~ log(PDRB) + log(RLS) + log(PPD) + log(HLS)
## chisq = 991.42, df = 8, p-value < 2.2e-16
## alternative hypothesis: serial correlation in idiosyncratic errors
##
## studentized Breusch-Pagan test
##
## data: common1
## BP = 121.77, df = 4, p-value < 2.2e-16
Berdasarkan hasil analsis data panel dengan pendugaan parameter model
menggunakan metode OLS dan juga CEM dimana pendugaan yang dilakukan
adalah menggunakan Ordinary Least Square (OLS) menunjukkan
bahwa asumsi-asumsi dari model belum terpenuhi meski telah dilakukan
proses transformasi data dengan logaritma natural. Oleh karena itu
selanjutnya dilakukan pemodelan data panel model CEM dengan menggunakan
metode Generalized Least Square (GLS).
Model CEM GLS
common.gls <- pggls(log(JPM)~log(PDRB)+log(RLS)+log(PPD)+log(HLS), data=dataa, model="pooling")
summary(common.gls)## Oneway (individual) effect General FGLS model
##
## Call:
## pggls(formula = log(JPM) ~ log(PDRB) + log(RLS) + log(PPD) +
## log(HLS), data = dataa, model = "pooling")
##
## Balanced Panel: n = 185, T = 8, N = 1480
##
## Residuals:
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## -1.808699 -0.498167 0.007753 -0.020844 0.448219 2.097529
##
## Coefficients:
## Estimate Std. Error z-value Pr(>|z|)
## (Intercept) 11.008978 0.653751 16.8397 < 2.2e-16 ***
## log(PDRB) 0.077955 0.021810 3.5743 0.0003511 ***
## log(RLS) -0.264480 0.066925 -3.9519 7.754e-05 ***
## log(PPD) -0.131579 0.078995 -1.6657 0.0957804 .
## log(HLS) 0.047574 0.118775 0.4005 0.6887558
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## Total Sum of Squares: 848.55
## Residual Sum of Squares: 760.71
## Multiple R-squared: 0.10352
## # Check for Multicollinearity
##
## Low Correlation
##
## Term VIF VIF 95% CI Increased SE Tolerance Tolerance 95% CI
## log(PDRB) 1.42 [1.33, 1.52] 1.19 0.71 [0.66, 0.75]
## log(RLS) 1.36 [1.28, 1.46] 1.17 0.74 [0.69, 0.78]
## log(PPD) 1.35 [1.28, 1.45] 1.16 0.74 [0.69, 0.78]
## log(HLS) 1.39 [1.31, 1.49] 1.18 0.72 [0.67, 0.77]
Diagnostik Sisaan
##
## Jarque Bera Test
##
## data: res.gls
## X-squared = 4.5408, df = 2, p-value = 0.1033
##
## Shapiro-Wilk normality test
##
## data: res.gls
## W = 0.99564, p-value = 0.0002855
#histogram
hist(res.gls,
xlab = "sisaan",
col = "steelblue",
breaks=30,
prob = TRUE)
lines(density(res.gls), # density plot
lwd = 2, # thickness of line
col = "chocolate3")#plotqqnorm
res.gls1 <- as.numeric(res.gls)
qqnorm(res.gls1,datax=T, col="blue")
qqline(rnorm(length(res.gls1),mean(res.gls1),sd(res.gls1)),datax=T, col="red")##
## studentized Breusch-Pagan test
##
## data: common.gls
## BP = 121.77, df = 4, p-value < 2.2e-16
Informasi Tambahan (silakan dieksplorasi):
Dalam mengestimasi parameter model CEM, terdapat 4 metode estimasi yang dapat digunakan (Srihardianti et al. 2016), yaitu
Ordinary Least Square (OLS), jika bersifat homoskedastik dan tidak ada cross-sectional correlation;
Weighted Least Square (WLS), jika bersifat heteroskedastik dan tidak ada cross-sectional correlation;
Seemingly Uncorrelated Regression (SUR), jika bersifat heteroskedastik dan ada cross-sectional correlation; dan
Feasible Generalized Least Square (FGLS) dengan proses autoregressive (AR), jika bersifat heteroskedastik dan ada korelasi antar waktu pada residualnya. Pada regresi data panel, estimator yang digunakan adalah FGLS yang memiliki 2 tahap estimasi yang berbeda dengan OLS. Sehingga pengujian asumsi klasik, seperti homoskedastisitas dan non-autokorelasi, tidak dapat digunakan dalam estimator ini karena tidak lagi relevan dengan konsep pengujian asumsi klasik pada regresi OLS. Namun, pengujian multikolinieritas dan normalitas akan tetap dilakukan.
Referensi
- Gujarati DN. 2004. Basic Econometrics 4th ed. New York:McGraw-Hill.
- Srihardianti M, Mustafid, Prahutama A. 2016. Metode regresi data panel untuk peramalan konsumsi energi di Indonesia. Jurnal Gaussian. 5(3):475-485.
- Pustaka lain yang relevan