P01_STA1353_Pengantar Analisis Data Panel
Jenis Data
Data Cross-Section
Data cross-section merupakan sekumpulan data dari beberapa objek atau individu pada satu waktu tertentu. Misalnya data persentase penduduk miskin (%) dan tingkat pengangguran terbuuka (tahun) kabupaten/kota di Jawa Barat tahun 2022.
library(readxl)
ppm <- read_excel("C:/Users/LENOVO/Documents/DIAH/Data Jawa Barat 2022.xlsx")
ppm <- ppm[,c("Kabkot","PPM", "TPT")]
knitr::kable(ppm)| Kabkot | PPM | TPT |
|---|---|---|
| KABUPATEN BOGOR | 7.73 | 10.64 |
| KABUPATEN SUKABUMI | 7.34 | 7.77 |
| KABUPATEN CIANJUR | 10.55 | 8.41 |
| KABUPATEN BANDUNG | 6.80 | 6.98 |
| KABUPATEN GARUT | 10.42 | 7.60 |
| KABUPATEN TASIKMALAYA | 10.73 | 4.17 |
| KABUPATEN CIAMIS | 7.72 | 3.75 |
| KABUPATEN KUNINGAN | 12.76 | 9.81 |
| KABUPATEN CIREBON | 12.01 | 8.11 |
| KABUPATEN MAJALENGKA | 11.94 | 4.16 |
| KABUPATEN SUMEDANG | 10.14 | 7.72 |
| KABUPATEN INDRAMAYU | 12.77 | 6.49 |
| KABUPATEN SUBANG | 9.75 | 7.77 |
| KABUPATEN PURWAKARTA | 8.70 | 8.75 |
| KABUPATEN KARAWANG | 8.44 | 9.87 |
| KABUPATEN BEKASI | 5.01 | 10.31 |
| KABUPATEN BANDUNG BARAT | 10.82 | 9.63 |
| KABUPATEN PANGANDARAN | 9.32 | 1.56 |
| KOTA BOGOR | 7.10 | 10.78 |
| KOTA SUKABUMI | 8.02 | 8.83 |
| KOTA BANDUNG | 4.25 | 9.55 |
| KOTA CIREBON | 9.82 | 8.42 |
| KOTA BEKASI | 4.43 | 8.81 |
| KOTA DEPOK | 2.53 | 7.82 |
| KOTA CIMAHI | 5.11 | 10.77 |
| KOTA TASIKMALAYA | 12.72 | 6.62 |
| KOTA BANJAR | 6.73 | 5.53 |
Data Time Series
Data time series merupakan sekumpulan data dari satu objek atau individu pada beberapa periode waktu tertentu. Misalnya data nilai impor bulanan Indonesia 2020-2022.
impor <- read_excel("C:/Users/LENOVO/Documents/DIAH/NILAI IMPOR 2005-2022.xlsx", sheet=2)
knitr::kable(impor)| Periode | Tahun | Impor |
|---|---|---|
| 2020-01-01 | 2020 | 14268.7 |
| 2020-02-01 | 2020 | 11548.1 |
| 2020-03-01 | 2020 | 13352.2 |
| 2020-04-01 | 2020 | 12535.2 |
| 2020-05-01 | 2020 | 8438.6 |
| 2020-06-01 | 2020 | 10760.3 |
| 2020-07-01 | 2020 | 10464.3 |
| 2020-08-01 | 2020 | 10742.4 |
| 2020-09-01 | 2020 | 11570.1 |
| 2020-10-01 | 2020 | 10786.0 |
| 2020-11-01 | 2020 | 12664.4 |
| 2020-12-01 | 2020 | 14438.4 |
| 2021-01-01 | 2021 | 13329.9 |
| 2021-02-01 | 2021 | 13265.0 |
| 2021-03-01 | 2021 | 16787.5 |
| 2021-04-01 | 2021 | 16204.3 |
| 2021-05-01 | 2021 | 14234.8 |
| 2021-06-01 | 2021 | 17218.5 |
| 2021-07-01 | 2021 | 15263.1 |
| 2021-08-01 | 2021 | 16678.9 |
| 2021-09-01 | 2021 | 16234.1 |
| 2021-10-01 | 2021 | 16293.6 |
| 2021-11-01 | 2021 | 19328.2 |
| 2021-12-01 | 2021 | 21352.0 |
| 2022-01-01 | 2022 | 18211.1 |
| 2022-02-01 | 2022 | 16638.5 |
| 2022-03-01 | 2022 | 21962.4 |
| 2022-04-01 | 2022 | 19757.4 |
| 2022-05-01 | 2022 | 18609.3 |
| 2022-06-01 | 2022 | 21003.9 |
| 2022-07-01 | 2022 | 21345.0 |
| 2022-08-01 | 2022 | 22150.6 |
| 2022-09-01 | 2022 | 19808.1 |
Data Panel
Data panel merupakan gabungan dari data cross-section dan time series yang terdiri atas sekumpulan data dari beberapa objek atau individu pada beberapa periode waktu tertentu. Misalnya data angka harapan hidup di kabupaten/kota di Jawa Barat tahun 2019-2021.
ahh <- read_excel("C:/Users/LENOVO/Documents/DIAH/Data Angka Harapan Hidup 2017-2021.xlsx", sheet=5)
knitr::kable(ahh)| Kabkot | Tahun | AHH |
|---|---|---|
| KABUPATEN BOGOR | 2019 | 71.01 |
| KABUPATEN SUKABUMI | 2019 | 70.73 |
| KABUPATEN CIANJUR | 2019 | 69.91 |
| KABUPATEN BANDUNG | 2019 | 73.40 |
| KABUPATEN GARUT | 2019 | 71.22 |
| KABUPATEN TASIKMALAYA | 2019 | 69.21 |
| KABUPATEN CIAMIS | 2019 | 71.57 |
| KABUPATEN KUNINGAN | 2019 | 73.35 |
| KABUPATEN CIREBON | 2019 | 71.82 |
| KABUPATEN MAJALENGKA | 2019 | 69.97 |
| KABUPATEN SUMEDANG | 2019 | 72.29 |
| KABUPATEN INDRAMAYU | 2019 | 71.37 |
| KABUPATEN SUBANG | 2019 | 72.13 |
| KABUPATEN PURWAKARTA | 2019 | 70.80 |
| KABUPATEN KARAWANG | 2019 | 71.98 |
| KABUPATEN BEKASI | 2019 | 73.56 |
| KABUPATEN BANDUNG BARAT | 2019 | 72.18 |
| KABUPATEN PANGANDARAN | 2019 | 71.12 |
| KOTA BOGOR | 2019 | 73.41 |
| KOTA SUKABUMI | 2019 | 72.26 |
| KOTA BANDUNG | 2019 | 74.14 |
| KOTA CIREBON | 2019 | 72.13 |
| KOTA BEKASI | 2019 | 74.89 |
| KOTA DEPOK | 2019 | 74.31 |
| KOTA CIMAHI | 2019 | 73.89 |
| KOTA TASIKMALAYA | 2019 | 71.93 |
| KOTA BANJAR | 2019 | 70.79 |
| KABUPATEN BOGOR | 2020 | 71.17 |
| KABUPATEN SUKABUMI | 2020 | 70.97 |
| KABUPATEN CIANJUR | 2020 | 70.13 |
| KABUPATEN BANDUNG | 2020 | 73.53 |
| KABUPATEN GARUT | 2020 | 71.41 |
| KABUPATEN TASIKMALAYA | 2020 | 69.47 |
| KABUPATEN CIAMIS | 2020 | 71.83 |
| KABUPATEN KUNINGAN | 2020 | 73.59 |
| KABUPATEN CIREBON | 2020 | 71.99 |
| KABUPATEN MAJALENGKA | 2020 | 70.27 |
| KABUPATEN SUMEDANG | 2020 | 72.43 |
| KABUPATEN INDRAMAYU | 2020 | 71.63 |
| KABUPATEN SUBANG | 2020 | 72.35 |
| KABUPATEN PURWAKARTA | 2020 | 70.99 |
| KABUPATEN KARAWANG | 2020 | 72.15 |
| KABUPATEN BEKASI | 2020 | 73.68 |
| KABUPATEN BANDUNG BARAT | 2020 | 72.34 |
| KABUPATEN PANGANDARAN | 2020 | 71.40 |
| KOTA BOGOR | 2020 | 73.61 |
| KOTA SUKABUMI | 2020 | 72.42 |
| KOTA BANDUNG | 2020 | 74.28 |
| KOTA CIREBON | 2020 | 72.26 |
| KOTA BEKASI | 2020 | 75.01 |
| KOTA DEPOK | 2020 | 74.44 |
| KOTA CIMAHI | 2020 | 74.03 |
| KOTA TASIKMALAYA | 2020 | 72.15 |
| KOTA BANJAR | 2020 | 70.99 |
| KABUPATEN BOGOR | 2021 | 71.36 |
| KABUPATEN SUKABUMI | 2021 | 71.21 |
| KABUPATEN CIANJUR | 2021 | 70.32 |
| KABUPATEN BANDUNG | 2021 | 73.72 |
| KABUPATEN GARUT | 2021 | 71.59 |
| KABUPATEN TASIKMALAYA | 2021 | 69.67 |
| KABUPATEN CIAMIS | 2021 | 72.02 |
| KABUPATEN KUNINGAN | 2021 | 73.78 |
| KABUPATEN CIREBON | 2021 | 72.18 |
| KABUPATEN MAJALENGKA | 2021 | 70.46 |
| KABUPATEN SUMEDANG | 2021 | 72.62 |
| KABUPATEN INDRAMAYU | 2021 | 71.84 |
| KABUPATEN SUBANG | 2021 | 72.58 |
| KABUPATEN PURWAKARTA | 2021 | 71.18 |
| KABUPATEN KARAWANG | 2021 | 72.33 |
| KABUPATEN BEKASI | 2021 | 73.81 |
| KABUPATEN BANDUNG BARAT | 2021 | 72.52 |
| KABUPATEN PANGANDARAN | 2021 | 71.60 |
| KOTA BOGOR | 2021 | 73.82 |
| KOTA SUKABUMI | 2021 | 72.58 |
| KOTA BANDUNG | 2021 | 74.46 |
| KOTA CIREBON | 2021 | 72.44 |
| KOTA BEKASI | 2021 | 75.19 |
| KOTA DEPOK | 2021 | 74.62 |
| KOTA CIMAHI | 2021 | 74.21 |
| KOTA TASIKMALAYA | 2021 | 72.34 |
| KOTA BANJAR | 2021 | 71.19 |
Review Analisis Regresi
Analisis regresi merupakan salah satu metode untuk melihat pengaruh satu atau lebih peubah penjelas terhadap suatu peubah respon.
Regresi Linier Sederhana
Analisis regresi yang menggunakan satu peubah penjelas dengan bentuk model sebagai berikut.
\(Y\) = \(\beta_0\) + \(\beta_1\) \(X_1\) + \(\epsilon\)
Regresi Linier Berganda
Analisis regresi yang menggunakan lebih dari satu peubah penjelas dengan bentuk model sebagai berikut.
\(Y\) = \(\beta_0\) + \(\beta_1\) \(X_1\) + \(\beta_2\) \(X_2\) + … + \(\beta_k\) \(X_k\) + \(\epsilon\)
Penduga parameter regresi menggunakan metode kuadrat terkecil memiliki asumsi sisaan yang harus terpenuhi, yaitu kenormalan sisaan, kehomogenan ragam sisaan, dan kebebasan antar sisaan.
Ilustrasi
## # A tibble: 6 × 9
## Kabkot PPM TPT TPAK JAK PDRB UMK RLS JPP
## <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 KABUPATEN BOGOR 7.73 10.6 63.8 2897332 167966. 4217206 8.34 5566838
## 2 KABUPATEN SUKABUMI 7.34 7.77 69.1 1313905 50389. 3125445. 7.11 2806664
## 3 KABUPATEN CIANJUR 10.6 8.41 70.0 1222589 34556. 2699814. 7.2 2542793
## 4 KABUPATEN BANDUNG 6.8 6.98 63.6 1808799 88438. 3241930. 9.08 3718660
## 5 KABUPATEN GARUT 10.4 7.6 68.8 1330353 42013. 1975221. 7.83 2627220
## 6 KABUPATEN TASIKMALAYA 10.7 4.17 67.8 940713 26362. 2326772. 7.73 1906288
Regresi Linier Sederhana
library(ggplot2)
ggplot(df) +
geom_point(aes(x = RLS,y = PPM), color="blue", size=2) +
ggtitle("Scatterplot Persentase Penduduk Miskin vs Rata-Rata Lama Sekolah") +
ylab("PPM") +
xlab("RLS") +
theme(plot.title = element_text(hjust = 0.5))+
theme_minimal()##
## Call:
## lm(formula = PPM ~ RLS, data = df)
##
## Residuals:
## Min 1Q Median 3Q Max
## -3.6296 -1.4002 -0.2952 1.3907 5.0962
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 20.7998 2.4353 8.541 6.98e-09 ***
## RLS -1.3826 0.2736 -5.052 3.25e-05 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 2.026 on 25 degrees of freedom
## Multiple R-squared: 0.5052, Adjusted R-squared: 0.4854
## F-statistic: 25.53 on 1 and 25 DF, p-value: 3.254e-05
#plot antara x dan y
plot(x=df$RLS, y=df$PPM, ylab="PPM", xlab="RLS", lwd=4, col="blue")
#menambahkan garis regresi
abline(reg, col="darkred", lwd=2)Regresi Linier Berganda
##
## Call:
## lm(formula = PPM ~ RLS + TPT + PDRB, data = df)
##
## Residuals:
## Min 1Q Median 3Q Max
## -3.7506 -1.0209 0.1930 0.8318 4.5984
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 2.019e+01 2.250e+00 8.974 5.65e-09 ***
## RLS -1.368e+00 2.679e-01 -5.105 3.60e-05 ***
## TPT 1.883e-01 1.836e-01 1.025 0.3159
## PDRB -1.659e-05 6.025e-06 -2.753 0.0113 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.831 on 23 degrees of freedom
## Multiple R-squared: 0.6281, Adjusted R-squared: 0.5796
## F-statistic: 12.95 on 3 and 23 DF, p-value: 3.676e-05
## RLS TPT PDRB
## 1.173565 1.421846 1.248612
plot(x = 1:dim(df)[1],
y = model.reg$residuals,
type = 'b',
ylab = "Residuals",
xlab = "Observation") # plot sisaan vs urutan# ===== Uji Asumsi Formal =====
# Asumsi GAUSS MARKOV
# 1 Nilai harapan sisaan sama dengan nol
t.test(model.reg$residuals,
mu = 0,
conf.level = 0.95)##
## One Sample t-test
##
## data: model.reg$residuals
## t = 1.1321e-16, df = 26, p-value = 1
## alternative hypothesis: true mean is not equal to 0
## 95 percent confidence interval:
## -0.6812821 0.6812821
## sample estimates:
## mean of x
## 3.752143e-17
# 2 Sisaan saling bebas
# Bisa pake Run Test atau Durbin Watson
randtests::runs.test(model.reg$residuals)##
## Runs Test
##
## data: model.reg$residuals
## statistic = -1.201, runs = 11, n1 = 13, n2 = 13, n = 26, p-value =
## 0.2298
## alternative hypothesis: nonrandomness
##
## Durbin-Watson test
##
## data: model.reg
## DW = 2.0864, p-value = 0.5262
## alternative hypothesis: true autocorrelation is greater than 0
##
## studentized Breusch-Pagan test
##
## data: model.reg
## BP = 2.0417, df = 3, p-value = 0.5638
# ASUMSI NORMALITAS SISAAN
ks.test(model.reg$residuals, "pnorm",
mean=mean(model.reg$residuals),
sd=sd(model.reg$residuals))##
## Exact one-sample Kolmogorov-Smirnov test
##
## data: model.reg$residuals
## D = 0.09449, p-value = 0.9508
## alternative hypothesis: two-sided
Review Analisis Deret Waktu
Data time series merupakan data pada suatu individu yang diambil pada periode waktu tertentu. Data ini memiliki keterkaitan antar waktu atau serial correlation. Beberapa contoh dari data time series yaitu data curah hujan, data panen suatu komoditas, data penjualan produk perusahaan dan data saham perusahaan pada periode waktu tertentu. Kondisi utama pada analisis data time series yaitu data perlu memenuhi kondisi stasioner.
Ilustrasi
data1 <- read_excel("C:/Users/LENOVO/Documents/DIAH/NILAI IMPOR 2005-2022 fix.xlsx", sheet=2)
impor <- data1$Impor
# Membentuk Objek Time Series Impor
impor.ts<-ts(data1$Impor, frequency=12, start=2005)
# Eksplorasi Data
## Time Series Plot
plot(impor.ts,
col = "navyblue",
lwd = 1,
type = "o",
xlab = "Periode",
ylab = "Nilai Impor (Juta USD)",
main = "Time Series Plot Nilai Impor 2005 - 2022")## Spliting Data
training<-data1[1:144,3]
testing<-data1[145:213,3]
### Membentuk Objek Time Series
training.ts<-ts(training, frequency=12, start=2005)
testing.ts<-ts(testing,frequency=12, start=2017)
### Plot Data Training dan testing
ts.plot(impor.ts, xlab = "Periode", ylab ="Nilai Impor (Juta USD)",
main = "Plot Data Training dan Data Testing")
lines(training.ts, col = "blue")
lines(testing.ts, col="Red")
legend(2007,21000,c("Data Training","Data Testing"),
lty=8, col=c("blue","red"), cex=0.8)Ilustrasi selanjutnya dapat dilihat pada link ini Peramalan menggunakan SARIMA
Sekilas Tentang Analisis Data Panel
Data Panel
Struktur data pada data panel bersifat long, sehingga
jika data yang dimiliki bersifat wide maka harus diubah ke
dalam bentuk long.
Struktur “Wide”
Struktur “Long”
Model Data Panel
Common Effect Model (CEM)
CEM merupakan model serupa dengan model regresi pada umumnya. Model ini menggabungkan data individu dan waktu menjadi kesatuan utuh (Gujarati 2004). CEM tidak memperhatikan unsur individu maupun waktu dalam pemodelan. Pendugaan parameternya menggunakan Ordinary Least Square (OLS).
Fixed Effect Model (FEM)
FEM mengasumsikan terdapat perbedaan antar individu yang dicerminkan oleh nilai intersep pada pendugaan parameter model setiap individu berbeda. Intersep yang berbeda dapat terjadi pada individu saja atau pada individu dan juga waktu. Pendugaan parameter pada model ini biasanya menggunakan Least Square Dummy Variable (LSDV).
Random Effect Model (REM)
REM mengasumsikan terdapat perbedaan antar individu yang dicerminkan oleh error dari model. Error ini terdiri atas error dari cross-section dan juga error dari waktu. Pendugaan parameter menggunakan Generalized Least Square (GLS).
Tahapan Analisis Data Panel
Package
Package yang digunakan dalam melakukan analisis data panel adalah
package plm
Referensi
- Baltagi B. 2005. Econometric Analysis of Panel Data Ed ke-3. England: John Wiley and Sons.
- Gujarati DN. 2004. Basic Econometrics 4th ed. New York:McGraw-Hill.
- Pustaka lain yang relevan