Resume Buku: Quantitative Economics with R by Vikram Dayal

Author

Nurul Yasin Gaea

Published

May 30, 2025

1 Kata Pengantar

Puji syukur saya panjatkan ke hadirat Tuhan Yang Maha Esa atas limpahan rahmat dan karunia-Nya sehingga saya dapat menyelesaikan penyusunan resume buku Quantitative Economics with R: A Data Science Approach karya Vikram Dayal ini dengan lancar. Resume ini disusun sebagai upaya untuk memahami lebih dalam konsep dan aplikasi metode kuantitatif dalam ilmu ekonomi dengan pendekatan data science berbasis perangkat lunak R

Buku ini merupakan penghargaan terhadap kontribusi global dari ilmuwan, ekonom, dan komunitas data science. Penulis mengakui inspirasi dari tokoh-tokoh besar seperti Daron Acemoglu, Esther Duflo, Judea Pearl, Hadley Wickham, dan lainnya. Mereka telah membentuk dasar teori dan praktik dalam analisis data, kausalitas, dan pemrograman. Pengalaman penulis di Institute of Economic Growth memberikan landasan akademik dan praktis dalam menyusun buku ini. Buku ini juga merupakan hasil kolaborasi tidak langsung dengan komunitas pengguna R global.

Akhir kata, saya mengucapkan terima kasih kepada semua pihak yang telah memberikan dukungan moral maupun teknis dalam proses penyusunan resume ini. Semoga ringkasan ini dapat bermanfaat bagi para pembaca, khususnya mahasiswa, dosen, peneliti, dan praktisi yang tertarik pada ekonomi kuantitatif dan data science.

Tak lupa, saya ucapkan terima kasih yang sebesar-besarnya kepada Dr. Indraswati T.R., S.E., M.A., selaku ketua Program Studi Magister Ekonomi Pembanguan dan Perencanaan Universitas Hasanuddin dan Dr. Ir. Muhammad Jibril Tajibu, S.E., M.Si., selaku dosen pengampuh mata kuliah yang telah memberikan bimbingan dan inspirasi dalam penyusunan resume buku ini. Kami juga berterima kasih kepada semua pihak yang telah memberikan dukungan, baik secara langsung maupun tidak langsung, hingga resume ini dapat dipublikasikan. Makassar, Mei 2025 Nurul Yasin Gaea

2 Pendahuluan

Pendahuluan menjelaskan pendekatan data science untuk ekonomi kuantitatif, penggunaan R, dan struktur buku. Disarankan untuk membaca sambil praktik langsung di RStudio, termasuk eksplorasi fungsi dan visualisasi data.

3 BAB 1: Introduction

Memperkenalkan pendekatan data science dalam ekonomi dengan R, pentingnya visualisasi dan wrangling data, serta gambaran isi buku secara keseluruhan.

3.1 1. Pendekatan Ilmu Data

Pendekatan ilmu data dalam ekonomi mencakup integrasi statistik, ilmu komputer, dan ilmu ekonomi. R digunakan sebagai alat utama dalam buku ini, dengan dukungan dari ekosistem tidyverse.

“Kemampuan memahami dan mengekstrak nilai dari data akan menjadi keterampilan penting di masa depan.” — Hal Varian

Buku ini menekankan pentingnya tidak hanya statistik, tetapi juga kemampuan visualisasi dan komunikasi data.

3.2 2. Ikhtisar Isi Buku

3.2.1 2.1 Bagian 1: Pengantar R dan tidyverse

  • Cocok untuk pemula.
  • Fokus pada input data, wrangling, dan visualisasi.
  • Tersedia latihan praktis “Your Turn”.

3.2.2 2.2 Bagian 2: Wrangling dan Visualisasi

  • Visualisasi efektif membutuhkan data yang telah dirapikan.
  • Diperkenalkan pula konsep data jaringan (network data).

3.2.3 2.3 Bagian 3: Matematika Dasar

  • Penerapan matematika numerik dalam R.
  • Fokus pada persamaan beda (difference equations).

3.2.4 2.4 Bagian 4: Inferensi Statistik

  • Menggunakan simulasi untuk menjelaskan konsep statistik.
  • Metode: Central Limit Theorem, bootstrap, randomization.
  • Inferensi kausal menggunakan:
    • Eksperimen
    • Regresi
    • Regression Discontinuity
    • Difference-in-Differences
    • Instrumental Variables
  • Dibahas juga: Matching, Sensitivity Analysis, Manski Bounds.

3.2.5 2.5 Bagian 5: Pertumbuhan Ekonomi

  • Visualisasi fakta-fakta pertumbuhan.
  • Studi kasus: Acemoglu et al. (2001) tentang peran institusi.

3.2.6 2.6 Bagian 6: Data Time Series

  • Grafik dan analisis runtun waktu dasar.
  • Pembedaan antara deskripsi, prediksi, dan inferensi kausal.

3.2.7 2.7 Bagian 7: Pembelajaran Mesin Statistik

  • Teknik modern: GAMs dan Random Forests.
  • Pembelajaran mesin sebagai pelengkap ekonometrika klasik.

3.3 3. Cara Menggunakan Buku

  • Gunakan RStudio untuk mengetik dan menjalankan kode.
  • Eksplorasi dan eksperimen dengan kode sangat disarankan.
  • Gunakan latihan “Your Turn” untuk latihan praktis.

3.4 4. Bantuan dalam R

help(mean)       # Membuka dokumentasi fungsi
help.start()     # Membuka manual R lengkap

3.5 5. Format dan Contoh Kode

Struktur umum:

objek_baru <- fungsi(objek_lama, informasi, opsi)

Contoh:

# Membuat vektor dan mengakses elemen
Price <- c(21, 31, 34)
Price[3]

# Membaca data dan mengambil kolom kedua
myfile <- read.csv("myfile.csv")
second.column <- myfile[, 2]

# Visualisasi
library(tidyverse)
ggplot(myfile, aes(x = x)) + geom_histogram()
ggplot(myfile, aes(x = x, y = y)) + geom_point()

# Regresi linear
reg.mod <- lm(y ~ x + z, data = myfile)
summary(reg.mod)

3.6 6. Referensi

  • Grolemund, G. & Wickham, H. (2017). R for Data Science. O’Reilly.
  • Angrist, J.D. & Pischke, J. (2015). Mastering Metrics. Princeton University Press.
  • Acemoglu, D., Johnson, S., & Robinson, J.A. (2001). The Colonial Origins of Comparative Development.
  • Varian, H. (2014). Big Data: New Tricks for Econometrics. JEP.

4 BAB 2: RStudio and R

Dasar penggunaan R dan RStudio, objek penting dalam R (vector, matrix, data frame, list), serta pengantar tidyverse dan model regresi.

4.1 1. Mengenal R dan RStudio

  • R: perangkat lunak statistik yang gratis dan open source.
  • RStudio: antarmuka pengguna grafis (GUI) yang memudahkan penggunaan R.

Tampilan RStudio terdiri dari: - Script editor (kiri atas): tempat menulis kode. - Console (kiri bawah): tempat melihat output. - Environment/History (kanan atas): menampilkan objek yang dibuat. - Plots/Files/Packages/Help (kanan bawah): untuk grafik, file, dokumentasi.

4.2 2. Menggunakan Projects dan Script

Fitur Project membantu organisasi file. Gunakan file skrip (.R) untuk mengetik dan menjalankan perintah secara terstruktur.

2 + 3
## [1] 5

4.3 3. Objek di R

4.3.1 3.1 Vektor

Price <- c(10,3,15)
Quantity <- c(25,3,20)
Expenditure <- Price * Quantity
sum(Expenditure)

4.3.2 3.2 Matriks

Matrix_PQE <- matrix(data = cbind(Price, Quantity, Expenditure), ncol=3)
Matrix_PQE[1,2]

4.3.3 3.3 Data Frame

Exp_data <- data.frame(Price, Quantity)
Exp_data$Quantity

4.3.4 3.4 List

Expenditure_list <- list(Price, Quantity, Expenditure, sum(Expenditure))
Expenditure_list[[2]]

4.4 4. Contoh Sederhana: Net Present Value

Menghitung nilai saat ini dari pembayaran masa depan:

Amount <- 121
discount_rate <- 0.10
time <- 2
NPV <- Amount / (1 + discount_rate)^time

Contoh dengan profil biaya dan manfaat:

Cost_benefit_profile <- c(-150,135,140)
time_profile <- c(0,1,2)
Net_present_value <- sum(Cost_benefit_profile / (1 + discount_rate)^time_profile)
round(Net_present_value, 0)

4.5 5. Pendekatan Tidyverse

4.5.1 5.1 Workflow Analisis Data

  1. Masukkan data ke R
  2. Rapikan dan transformasi
  3. Visualisasi dan model
  4. Komunikasi hasil

4.5.2 5.2 Instalasi dan Penggunaan

# install.packages("tidyverse")
library(tidyverse)

4.5.3 5.3 Contoh Data Sintetis

labour <- tibble(
  surv_id = 1:6,
  payment = c(1000,700,600,1200,800,500),
  hours = c(7,5,3,6,7,4),
  gender = c("F","M","F","M","M","M"),
  age = c(28,52,37,35,59,43)
)

4.5.4 5.4 Lima Data Verbs

labour %>% filter(gender == "F")
labour %>% mutate(wage = payment/hours)
labour %>% arrange(hours)
labour %>% select(hours, gender)
labour %>% group_by(gender) %>% summarize(mean_hours = mean(hours))

4.5.5 5.5 Visualisasi dengan ggplot2

ggplot(labour, aes(x = age, y = payment/hours)) +
  geom_point(aes(colour = gender)) +
  facet_wrap(~gender)

4.5.6 5.6 Model Linier

fit <- lm(payment/hours ~ age, data = labour)
summary(fit)

4.6 6. Daftar Pustaka

5 BAB 3: Getting Data into R

Cara mengimpor data ke R dari berbagai sumber: CSV, Stata, dan WDI (World Bank).

5.1 1. Pendahuluan

Bab ini menjelaskan berbagai cara untuk memasukkan data ke dalam R, yang merupakan langkah awal penting dalam analisis data.

5.2 2. Data di R atau Paket R

5.2.1 2.1 Data Internal R

Contoh data: anscombe

data(anscombe)
ans <- anscombe
str(ans)
head(ans)

5.2.2 2.2 Data dari Paket

Contoh paket: wooldridge

library(wooldridge)
data(injury)
str(injury)
names(injury)

5.3 3. Data dari File CSV

Contoh data: Chhatre dan Agrawal (2009)

library(readr)
ifri_car_liv <- read_csv("ifri_car_liv.csv")
str(ifri_car_liv)

5.4 4. Data dari File Stata

library(haven)
ifri_car_liv <- read_dta("ifri_car_liv.dta")
str(ifri_car_liv)

5.5 5. Data dari World Development Indicators (WDI)

5.5.1 5.1 Mencari Indikator

library(WDI)
WDIsearch("gdp.*capita.*PPP")
WDIsearch("CO2.*capita")

5.5.2 5.2 Mengunduh Data

wdi_data <- WDI(indicator = c("NY.GDP.PCAP.PP.KD", "EN.ATM.CO2E.PC"),
                start = 2010, end = 2010, extra = TRUE)
names(wdi_data)

5.6 6. Daftar Pustaka

Referensi penting untuk impor data: - Grolemund & Wickham (2017) – R for Data Science - Paket R: - wooldridge (Shea, 2018) - readr (Wickham et al., 2018) - haven (Wickham & Miller, 2019) - WDI (Arel-Bundock, 2019)

5.7 7. Kesimpulan

Bab ini memperkenalkan berbagai cara memuat data ke dalam R, baik dari: - data internal R, - dataset dari paket, - file CSV, - file Stata, - hingga data dari World Bank.

Pemahaman terhadap berbagai cara ini sangat penting sebelum melakukan analisis lebih lanjut.

6 BAB 4: Wrangling and Graphing Data

Pengolahan dan visualisasi data menggunakan ggplot2, termasuk data karbon dan penghasilan, serta peta dunia.

6.1 1. Pendahuluan

Bab ini menunjukkan pentingnya grafik dan transformasi data (wrangling) dalam ilmu data, serta menunjukkan bahwa analisis visual seringkali memberikan wawasan mendalam terhadap data.

6.2 2. Contoh: Data Sintetis Anscombe

Menggunakan dataset anscombe untuk menunjukkan bahwa statistik deskriptif yang serupa bisa memiliki grafik yang sangat berbeda.

library(tidyverse)
data(anscombe)
ans <- as_tibble(anscombe)

6.2.1 2.1 Rangkuman Statistik

ans %>% summarize(mean.x1 = mean(x1), sd.x1 = sd(x1))

6.2.2 2.2 Regresi dan Visualisasi

mod1 <- lm(y1 ~ x1, data = ans)
ggplot(ans, aes(x = x1, y = y1)) +
  geom_point() +
  geom_smooth(method = "lm", se = FALSE)

6.3 3. Contoh: Data Hutan dan Mata Pencaharian

Menggunakan data dari Chhatre & Agrawal (2009) terkait hutan, karbon, dan kesejahteraan lokal.

6.3.1 3.1 Pembersihan dan Transformasi

ifri <- read_csv("ifri_car_liv.csv") %>%
  slice(1:80) %>%
  rename(carbon = zbio, liveli = zliv)

6.3.2 3.2 Visualisasi Dasar

ggplot(ifri, aes(x = liveli)) + geom_histogram()
ggplot(ifri, aes(y = liveli)) + geom_boxplot() + coord_flip()

6.3.3 3.3 Interaksi Variabel

ifri2 <- mutate(ifri, f_own_rule = case_when(
  ownstate == 1 & rulematch == 0 ~ "State_low",
  ownstate == 1 & rulematch == 1 ~ "State_high",
  ownstate == 0 & rulematch == 1 ~ "Com_high",
  TRUE ~ "Com_low"
))

Visualisasi kompleks:

ggplot(ifri2, aes(x = liveli, y = carbon, size = lnfsize, colour = f_own_rule)) +
  geom_point() +
  geom_smooth(method = "lm", se = FALSE)

6.4 4. Contoh: Data WDI (GDP dan Emisi CO2)

6.4.1 4.1 Pengambilan dan Persiapan Data

library(WDI)
library(tidyverse)

wdi_data <- WDI(indicator = c("NY.GDP.PCAP.PP.KD", "EN.ATM.CO2E.PC"),
                start = 2010, end = 2010, extra = TRUE) %>%
  filter(region != "Aggregates") %>%
  rename(GDPpercap = NY.GDP.PCAP.PP.KD,
         Emit_CO2percap = EN.ATM.CO2E.PC)

6.4.2 4.2 Visualisasi dan Skala Log

ggplot(wdi_data, aes(x = GDPpercap, y = Emit_CO2percap)) +
  geom_point() +
  scale_x_log10() + scale_y_log10() +
  geom_smooth(se = FALSE)

6.4.3 4.3 Pemetaan Geografis

library(maps)
library(countrycode)

map_data <- map_data("world") %>%
  mutate(ccode = countrycode(region, "country.name", "wb"))
wdi_data$ccode <- countrycode(wdi_data$country, "country.name", "wb")

merged <- full_join(map_data, wdi_data, by = "ccode")

ggplot(merged, aes(x = long, y = lat, group = group, fill = log10(GDPpercap))) +
  geom_polygon() +
  scale_fill_gradient(low = "green", high = "red")

6.5 5. Daftar Pustaka

  • DataCamp Course: Introduction to the Tidyverse
  • Grolemund & Wickham (2017): R for Data Science
  • Healy (2019): Data Visualization: A Practical Introduction

6.6 6. Kesimpulan

Visualisasi membantu mengungkapkan pola tersembunyi, dan wrangling mempersiapkan data agar siap dianalisis. Kombinasi keduanya sangat penting dalam ilmu data ekonomi.

7 BAB 5: Networks

Analisis jaringan sosial dan ekonomi, termasuk jaringan Medici, teroris Bali, dan rantai pasok otomotif.

7.1 1. Pendahuluan

Bab ini membahas analisis data jaringan (network data) dalam konteks ekonomi. Jaringan menggambarkan hubungan antar entitas, seperti individu atau negara, dan penting untuk memahami penyebaran informasi, pengaruh, dan perilaku ekonomi.

7.2 2. Contoh Sederhana dengan Data Sintetis

Menggunakan tidygraph, intergraph, dan ggnetwork untuk membangun dan memvisualisasikan jaringan.

edge1 <- tibble(from = c("Asif","Deng","Gita","Paul","Sure","Sure"),
                to = c("Gita","Gita","Anne","Anne","Paul","Asif"))
Talk <- tbl_graph(edges = edge1, directed = FALSE)
Talk_n <- asNetwork(Talk)
Talk_g <- ggnetwork(Talk_n)

Visualisasi:

ggplot(Talk_g, aes(x,y,xend=xend,yend=yend)) +
  geom_edges(color="lightgrey") +
  geom_nodes(size=5, alpha=0.6) +
  geom_nodetext(aes(label = vertex.names), color="blue") +
  theme_blank()

7.3 3. Contoh: Medici Network

Menggunakan data historis jaringan pernikahan keluarga bangsawan Florence.

library(netrankr)
data("florentine_m")
flor <- as_tbl_graph(florentine_m)
flor2 <- flor %>% activate(nodes) %>% mutate(degree = centrality_degree())
flor3 <- as_tibble(flor2) %>% arrange(-degree)

Visualisasi hubungan kekayaan dan sentralitas (degree):

ggplot(flor3, aes(x = wealth, y = degree, label = name)) +
  geom_point() +
  geom_text_repel()

7.4 4. Contoh: Bali Terrorist Network

Menggunakan data dari UserNetR untuk memvisualisasi jaringan kelompok teroris:

library(UserNetR)
data("Bali")
Bali_t <- as_tbl_graph(Bali)
ggnetplot(Bali)

7.5 5. Simulasi Pembentukan Jaringan

7.5.1 5.1 Erdos Renyi Model

Model jaringan acak:

rg <- play_erdos_renyi(n = 30, p = 0.2, directed = FALSE)

Distribusi degree:

rg2 <- rg %>% activate(nodes) %>% mutate(Deg = centrality_degree())
rg3 <- as_tibble(rg2)
ggplot(rg3, aes(x = Deg)) + geom_bar()

7.5.2 5.2 Barabasi Albert Model

Model jaringan preferensial:

ba <- play_barabasi_albert(n = 30, power = 1, directed = FALSE)
ba2 <- ba %>% activate(nodes) %>% mutate(Deg = centrality_degree())
ba3 <- as_tibble(ba2)

Perbandingan distribusi:

grid.arrange(ggplot(rg3, aes(x = Deg)) + geom_bar(),
             ggplot(ba3, aes(x = Deg)) + geom_bar(),
             ncol = 2)

7.6 6. Contoh: Jaringan Produksi Komponen Otomotif

Menggunakan data ELEnet16 dari ITNr untuk menggambarkan jaringan global produksi elektronik otomotif.

data("ELEnet16")
ELE <- as_tbl_graph(ELEnet16)
ELE2 <- ELE %>% activate(nodes) %>% mutate(outdeg = centrality_degree(weights = weight, mode = "out")) %>% as_tibble()

Visualisasi dan analisis regional:

ggplot(ELE2, aes(x = outdeg)) + geom_histogram(bins = 30)
ggplot(ELE2, aes(x = region_name, y = outdeg)) + geom_boxplot() + coord_flip()

7.7 7. Kesimpulan

Analisis jaringan memperkaya pemahaman tentang hubungan sosial, ekonomi, dan produksi global. Model simulasi juga memperlihatkan bagaimana jaringan dapat terbentuk melalui mekanisme berbeda.

7.8 8. Sumber Daya

  • Jackson (2008): Social and Economic Networks
  • Luke (2015): A User’s Guide to Network Analysis in R
  • Barabasi (2016): Video “Networks are everywhere”
  • Paket R: tidygraph, intergraph, ggnetwork, UserNetR, ITNr

8 BAB 6: Functions

Membuat dan memvisualisasi fungsi dalam R, fungsi ekonomi (permintaan, penawaran, Cobb-Douglas), dan fungsi loss statistik.

8.1 1. Pendahuluan

Fungsi sangat penting dalam ekonomi, contohnya kurva penawaran-permintaan dan fungsi produksi Cobb–Douglas. Bab ini memperkenalkan cara membuat, memvisualisasikan, dan menerapkan fungsi dalam R.

8.2 2. Membuat Fungsi Sendiri di R

Contoh fungsi sederhana:

add2 <- function(x) { x + 2 }
mult2 <- function(M = 3) { 2 * M }

Fungsi dengan parameter default akan tetap berjalan meski tidak diberi input:

add2()   # Error karena tidak ada default
mult2()  # Berhasil, menghasilkan 6

8.2.1 Latihan:

Scomp <- function(S = 2) { (2 * (S^2)) + (3 * S) + 1 }
Scomp(S = 333)

8.3 3. Mem-plot Fungsi dengan curve()

curve(expr = 2 - (x + 2)^2, from = -7, to = 3)
curve(expr = 1/(x - 2) + 3, from = -5, to = 5)
curve(expr = (x - 3)*(x + 7), from = -15, to = 15)

8.4 4. Fungsi Kehilangan Statistik (Loss Functions)

Mean dan median dapat dilihat sebagai hasil dari minimisasi fungsi loss: - Mean → Loss = ∑(Ji − x)² - Median → Loss = ∑|Ji − x|

Contoh:

J <- c(1,2,3,3,4)
J2 <- c(1,2,3,3,9)
curve(...loss J...)
curve(...loss J2..., add=TRUE, lty=2)

8.5 5. Penawaran dan Permintaan

Kurva permintaan dan penawaran:

curve((125 - 6*x)/8, 0, 30)
curve((150 - 6*x)/8, 0, 30, add = TRUE, lty = 2)
curve((12 + 2*x)/5, add = TRUE)

Plot data harga minyak dunia:

Oil <- read_csv("Oil.csv")
ggplot(Oil, aes(x = Year, y = Price_2018)) + geom_line()

8.6 6. Fungsi Produksi Cobb–Douglas

Menggunakan mosaic package:

plotFun(A * (L^0.7) * (K^0.3) ~ L & K, A = 5, filled = FALSE)

Plot 3D:

plotFun(..., surface = TRUE)

8.6.1 Analisis Produksi Apel (Data micEcon)

data("appleProdFr86", package = "micEcon")
...
prodCD <- lm(log(qOut) ~ log(qCap) + log(qLab) + log(qMat), data = dat)
texreg(list(prodCD))

8.6.2 Interpretasi Koefisien

  • Kenaikan 1% pada kapital → output naik 0.16%
  • Tenaga kerja → 0.68%
  • Material → 0.63%

8.7 7. Referensi

  • Varian (2014) – Intermediate Economics with Calculus
  • Henningsen (2018) – Intro to Production Analysis with R
  • Klein (1962), Paolino (2017), Leifeld (2013)

9 BAB 7: Difference Equations

Model persamaan beda untuk dinamika stok karbon, populasi ikan, dan polusi.

9.1 1. Pendahuluan

Persamaan beda digunakan untuk memodelkan bagaimana variabel berubah dari waktu ke waktu. Contohnya dalam karbon, stok ikan, dan polusi.

9.2 2. Contoh Sederhana

Model:

Xt = Xt−1 + 2, dengan X0 = 10

Simulasi:

X <- numeric(10)
X[1] = 10
for(i in 2:10){ X[i] <- X[i -1] + 2 }

Visualisasi dengan ggplot2.

9.3 3. Contoh: Stok Karbon Global

Model:

St = St−1 + Et − d*St−1, dengan d = 0.005

Simulasi 500 tahun ke depan:

S[1] = 750; E[1] = 6.3
S[i] <- S[i-1] + E[i-1] - 0.005*S[i-1]

Fungsi untuk variasi pertumbuhan emisi:

CO2(growth = 1.014)

9.4 4. Contoh: Stok Ikan

Model:

xt = xt−1 + Gt−1 − Ht−1
growth: Gt = r*xt−1(1 − xt−1/K)
harvest: Ht = h*xt−1

Simulasi dan visualisasi stok, pertumbuhan, dan panen dengan fungsi logistic().

9.4.1 Kasus Nyata: North Sea Herring

Model dinamika:

St = St−1 + r*St−1(1 − St−1/L)

Jika tanpa panen, stok naik ke kapasitas maksimal. Jika ada panen (dengan fungsi produksi Cobb-Douglas):

Kt+1 = Kt + n(aK^{b−1}S^g − c/p)
St+1 = St + rS(1 − S/L) − aK^b S^g

Hasil: Jika open access, stok bisa menurun drastis dan punah.

9.5 5. Contoh: Polusi Stok (Stock Pollutant)

9.5.1 Model:

  • Fungsi transformasi: ( (Q_t, S_t) = 0 ), dengan ( Q_t = + m )
  • Akumulasi limbah:
Z[t+1] = Z[t] - γ*Z[t] + N*S
  • Pendapatan perusahaan:
Revenue = pQ - τS

9.5.2 Optimasi oleh Regulator:

Q* = (n²p(δ+γ)γ / (4cN))^{1/3} + m
Tau* = np / (2(Q* - m))

Visualisasi bagaimana Q* dan τ* berubah terhadap tingkat diskonto ( ).

9.6 6. Referensi

  • Bjorndal & Conrad (1987): Dinamika perikanan open access
  • Common & Stagl (2005): Ecological Economics
  • Conrad (2010): Resource Economics

10 BAB 8: Matrices

Operasi matriks dasar, sistem persamaan linear, dan aplikasi pada kemiskinan dan pendapatan relatif.

10.1 1. Pendahuluan

Matrix, vektor, dan skalar adalah representasi data yang umum dalam ilmu sosial dan ekonomi. Matrix menyimpan informasi lebih banyak daripada vektor atau skalar, dan memiliki aturan operasi aljabar tersendiri.

10.2 2. Statistik Sederhana dengan Vektor

x <- c(1,2,3,4,5)
length(x); sum(x); t(x)
ones <- rep(1, length(x))
t(x) %*% ones / length(x)  # mean

Menghitung varians:

dev.x <- x - mean(x)
Var_calc_x <- t(dev.x) %*% dev.x / (length(x) - 1)

10.3 3. Operasi Matriks

A <- matrix(c(4,3,6,4), ncol=2)
B <- matrix(c(2,5,6,1), ncol=2)
M <- A + B; t(A); t(B)

10.3.1 Persamaan Linear: AD = C

C <- c(14,10)
D <- solve(A) %*% C  # solusi untuk D

10.4 4. Contoh: Tingkat Kemiskinan dan Pendapatan Relatif

10.4.1 Data

Poverty_rate <- c(...)
Relative_income <- c(...)
Y <- Poverty_rate
One <- rep(1, length(Y))
X <- cbind(One, Relative_income)

10.4.2 Regresi Linier

lm(Poverty_rate ~ Relative_income)

Visualisasi:

ggplot(..., aes(...)) + geom_point() + geom_smooth(...)

10.4.3 Estimasi Koefisien dengan Matriks

matcoeff <- solve(t(X) %*% X) %*% t(X) %*% Y

10.4.4 Mean dan Varians menggunakan Aljabar Matriks

t(Relative_income) %*% One / length(Relative_income)
var(Relative_income)

10.5 5. Referensi

  • Gill (2006) – Essential Mathematics for Political and Social Research
  • Moore & Siegel (2013) – Mathematics for Political and Social Research
  • Sydsaeter & Hammond (1995) – Mathematics for Economic Analysis

11 BAB 9: Statistical Inference

Inferensi statistik berbasis simulasi, bootstrap, dan permutation test. Contoh kasus: layanan Verizon.

11.1 1. Pendahuluan

Bab ini memperkenalkan inferensi statistik melalui simulasi komputer, bootstrap, dan metode permutasi. Dengan pendekatan ini, kita dapat melakukan inferensi tanpa terlalu bergantung pada asumsi distribusi.

11.2 2. Box Models

Menggunakan analogi kotak berisi tiket, seperti [H, T] untuk mewakili pelemparan koin. Simulasi dilakukan menggunakan fungsi sample() di R.

  • Dengan replacement → observasi independen.
  • Tanpa replacement → observasi tergantung.

11.2.1 Distribusi Binomial

Representasi hasil lemparan koin sebagai 0 dan 1. Menjumlahkan hasil dari banyak percobaan mendekati distribusi normal.

Box01 <- c(0,1)
Samp <- sample(Box01, 30, replace = TRUE)
sum(Samp)

11.3 3. Distribusi Sampling

Konsep: distribusi dari statistik (misal: rata-rata) berdasarkan banyak sampel.

11.3.1 Simulasi Dadu Enam Sisi

Box <- rep(1:6, 10000)
sample(Box, size = 16)

Rata-rata sampel akan mendekati rata-rata populasi.

11.3.2 Fungsi:

samp_dist_mean_fun <- function(Box, samp_size, simuls) { ... }

11.3.3 Distribusi T

Distribusi statistik t dari banyak sampel mengikuti distribusi t bahkan jika populasi tidak normal.

11.4 4. Inferensi dari Satu Sampel

Gunakan lm() untuk mendapatkan mean, t-statistic, dan confidence interval dari satu sampel.

mod_Samp <- lm(Samp ~ 1)
confint(mod_Samp)

11.5 5. Confidence Intervals

Simulasi menunjukkan bahwa ~95% dari interval mencakup nilai rata-rata populasi.

conf_lo[i] <- Conf[1]
conf_hi[i] <- Conf[2]

11.6 6. Bootstrap

Metode resampling dari data yang sama dengan replacement untuk membentuk distribusi statistik.

Boot_sample <- sample(Box_Sample1, size = samp_size, replace = TRUE)

11.6.1 Fungsi:

Boot_understand_fun <- function(...) { ... }

11.7 7. Permutation Tests

Digunakan untuk menguji perbedaan antara dua grup. Misalnya, perbedaan skor siswa kelas A dan B.

mean_diff_P[i] <- mean(scores[index_Ap]) - mean(scores[-index_Ap])

P-value dihitung sebagai proporsi perbedaan ekstrem yang melebihi perbedaan yang diamati.

11.8 8. Studi Kasus: Verizon

Uji apakah waktu perbaikan berbeda antara pelanggan internal (ILEC) dan eksternal (CLEC).

  • Uji permutasi untuk trimmed mean.
  • Bootstrap untuk confidence interval.

11.9 9. Contoh Waspada: Data Sintetis

Contoh dari Gelman menunjukkan bahwa data berisik dengan sinyal lemah bisa menyesatkan, bahkan jika hasilnya signifikan secara statistik.

11.10 10. Sumber Daya

  • Freedman et al. (2009) – Statistics
  • Chihara & Hesterberg (2011) – Mathematical Statistics with Resampling and R
  • Kennedy (2003), Bruce & Bruce (2017)

12 BAB 10: Causal Inference

Pendekatan kausal dengan graf, potential outcomes, eksperimen, matching, dan regresi diskontinuitas. Contoh empiris kebijakan publik.

13 BAB 11: Growth Data and Models

Analisis data pertumbuhan GDP dari berbagai negara dan simulasi model Solow dan Romer.

14 BAB 12: Growth Causes

Analisis pengaruh institusi terhadap pertumbuhan, berdasarkan studi AJR dan variabel instrumental.

15 BAB 13: Graphs for Time Series

Visualisasi data runtut waktu: penumpang pesawat, volatilitas saham, inflasi, pengangguran.

16 BAB 14: Basic Time Series Models

Model AR, MA, ARMA, random walk, forecasting inflasi, dan uji kointegrasi.

17 BAB 15: Smoothers and GAMs

Penggunaan smoother dan Generalized Additive Models (GAM) untuk hubungan non-linear.

18 BAB 16: From Trees to Random Forests

Pengantar pohon keputusan dan random forest. Studi kasus: prediksi kredit dan pencemaran arsenik.