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

df <- read_excel("C:/Users/LENOVO/Documents/DIAH/Data Jawa Barat 2022.xlsx")
head(df)
## # 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()

reg <- lm(PPM ~ RLS, df)
summary(reg)
## 
## 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

model.reg <- lm(PPM ~ RLS+TPT+PDRB, df)
summary(model.reg)
## 
## 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
car::vif(model.reg)
##      RLS      TPT     PDRB 
## 1.173565 1.421846 1.248612
#  ===== Eksplorasi asumsi =====
plot(model.reg,1)                # plot sisaan vs yduga

plot(model.reg,2)                # qq-plot

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
lmtest::dwtest(model.reg)
## 
##  Durbin-Watson test
## 
## data:  model.reg
## DW = 2.0864, p-value = 0.5262
## alternative hypothesis: true autocorrelation is greater than 0
# 3 Ragam sisaan homogen
lmtest::bptest(model.reg)
## 
##  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

  1. 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).

  2. 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).

  3. 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

  1. Baltagi B. 2005. Econometric Analysis of Panel Data Ed ke-3. England: John Wiley and Sons.
  2. Gujarati DN. 2004. Basic Econometrics 4th ed. New York:McGraw-Hill.
  3. Pustaka lain yang relevan