Resume Buku: Quantitative Economics with R by Vikram Dayal
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 lengkap3.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] 54.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$Quantity4.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)^timeContoh 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
- Masukkan data ke R
- Rapikan dan transformasi
- Visualisasi dan model
- 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
- DataCamp:
- Grolemund & Wickham (2017): R for Data Science – panduan lengkap R modern.
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 68.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 = 10Simulasi:
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.005Simulasi 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−1Simulasi 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^gHasil: 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 - τS9.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) # meanMenghitung 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 D10.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) %*% Y10.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.