Mikroekonometrika

Materi 2 · Tugas Stata

Model PMT Ordered Probit

Tujuan. Latihan ini memiliki lima tujuan: (a) mengenal Susenas, yaitu survei sosial-ekonomi nasional BPS sekaligus sumber data resmi kemiskinan dan konsumsi Indonesia, yang putaran bulan Maret-nya mencakup sekitar 340.000 rumah tangga, dengan empat putaran (tahun 2022 hingga 2025) digunakan dalam latihan ini; (b) mampu mengolah data Susenas, mulai dari mengimpor berkas dalam format asli dBase serta membaca kuesioner dan metadata, hingga mengagregasi observasi individu ke tingkat rumah tangga, mengubah struktur (reshaping) modul konsumsi, dan menggabungkan bagian-bagian tersebut menjadi satu berkas analisis per putaran; (c) mampu menyusun proxy means test yang meniru persis praktik pelaksanaannya—menggunakan tiga puluh sembilan variabel proksi dengan fixed effects kabupaten/kota dalam model linear terhadap logaritma konsumsi per kapita—yang diestimasi menggunakan gabungan data (pooled) dari berbagai putaran dan diterapkan pada putaran di luar sampel estimasi; (d) melakukan hal serupa menggunakan model ordered probit terhadap desil kesejahteraan, lengkap dengan sembilan cutpoints dan sepuluh probabilitas prediksi, serta tahapan konversi probabilitas tersebut menjadi satu prediksi desil tunggal; dan (e) menghitung inclusion error dan exclusion error dari setiap model untuk kelompok setengah populasi termiskin (dengan pembobotan berdasarkan jumlah penduduk) serta menentukan spesifikasi mana yang memberikan hasil penargetan lebih baik.

Ilustrasi: dinding cahaya berbentuk kurva sebaran yang menjulang di dataran gelap, dengan satu sosok kecil berdiri di kakinya
Daftar Isi
  1. Tugas
  2. Paket data
  3. do file dan apa yang menjadi bagian Anda untuk ditulis
  4. Menyusun file analisis
  5. Definisi variabel
  6. Spesifikasi model
  7. Ukuran akurasi pensasaran
  8. Output referensi dan titik pemeriksaan
  9. Aturan, waktu eksekusi, dan pengumpulan
  10. Kompetisi dan pengumpulan karya kelompok
  11. Unduhan

1. Tugas

proxy means test (PMT) memprediksi kesejahteraan rumah tangga berdasarkan hal-hal yang dapat dilihat atau ditanyakan langsung oleh petugas program di lokasi: kondisi rumah, akses air dan sanitasi, aset yang dimiliki, serta siapa saja penghuninya. Ukuran kesejahteraan itu sendiri—yaitu pengeluaran konsumsi per kapita—hanya dapat diketahui melalui survei. Model PMT diestimasi dengan data survei, kemudian diterapkan pada rumah tangga di luar cakupan survei tersebut.

Dalam tugas ini, survei yang dimaksud adalah Susenas Maret, yang mencakup empat putaran. Anda akan:

Data ini sintetis: tidak ada satu pun observasi yang berasal dari rumah tangga sebenarnya. Perlakukan data ini sebagaimana Anda memperlakukan data mikro sebenarnya; keterampilan yang diperlukan pun sama.

Keempat putaran data tersebut dibagi menjadi dua bagian. Setiap model diestimasi menggunakan gabungan data tahun 2022, 2023, dan 2024; dalam tugas ini, gabungan tersebut disebut sebagai training sample (sampel pelatihan). Tidak ada model yang diestimasi menggunakan data tahun 2025; putaran tersebut hanya digunakan untuk mengukur kinerja prediksi dan disebut sebagai test sample (sampel uji). Istilah-istilah ini berasal dari literatur mengenai prediksi. Dalam terminologi ekonometrika, training sample merupakan sampel estimasi, sedangkan segala pengukuran yang dilakukan pada test sample merupakan prediksi out-of-sample (di luar sampel). File perintah (do-files) menggunakan penanda (flag) bernama train, sehingga istilah tersebut tetap digunakan di sini.

Pembagian ini dilakukan karena PMT memprediksi tingkat konsumsi rumah tangga yang konsumsinya belum terukur; oleh karena itu, kinerjanya harus diukur menggunakan rumah tangga yang tidak disertakan dalam pembentukan model. Nilai R² yang dihitung berdasarkan sampel estimasi tidak dapat melakukan hal tersebut: nilainya tidak pernah turun saat variabel proksi ditambahkan, dan sebagian nilainya berasal dari noise (variasi acak) dalam sampel tersebut yang tidak akan berulang.

Putaran yang disisihkan adalah putaran terbaru, bukan subsampel acak dari keempat putaran tersebut, karena program terkait biasanya mengestimasi rumus satu kali dan menggunakannya selama beberapa tahun. Selama tahun-tahun tersebut, kesejahteraan riil berubah, kuesioner mengalami perubahan, dan hubungan antara variabel proksi dengan konsumsi pun bergeser. Pembagian secara acak akan menempatkan tahun-tahun yang sama di kedua kelompok dan menyembunyikan perubahan-perubahan tersebut; dengan menyisihkan data tahun 2025, perubahan tersebut dapat diukur. Dengan alasan yang sama, desil tahun 2025 dihitung secara khusus berdasarkan data tahun 2025 saja (bagian 4.6): jika peringkat tahun 2025 digabungkan dengan putaran pelatihan, informasi dari periode uji akan masuk ke dalam pemeringkatan pelatihan.

Mulai dari langkah ke-2 dan seterusnya, kedua sampel tersebut berada dalam satu file dengan penanda train: train == 1 untuk baris data tahun 2022–2024, dan train == 0 untuk baris data tahun 2025. Estimasi setiap model dilakukan dengan kondisi if train == 1, prediksi dilakukan untuk setiap baris termasuk baris uji, dan pengukuran kesalahan (error) dilakukan hanya pada bagian train == 0.

2. Paket data

Empat tumpukan lempeng bercahaya berdiri di dataran gelap, tumpukan keempat gelap, dengan sosok kecil di kaki tumpukan terdekat

Satu folder per putaran, disusun seperti unduhan Silastik dari BPS:

2022_maret/  2023_maret/  2024_maret/  2025_maret/
    KOR/            the household file (RT) and the individual file(s) (IND), dBase
    KP/             consumption: BLOK43 (household totals) and BLOK42 (three items only)
    kuesioner/      the questionnaires of the round
    metadata_bps/   the BPS variable lists
    Metadata_Synthetic_Susenas_YYYYMM.xlsx
                    the variable list of this release, with value labels
poverty_line_2022_2025.csv
                    the published BPS poverty line by year, province and urban/rural

2.1 Baca kuesioner dan metadata terlebih dahulu

Setiap variabel dalam file-file ini merupakan jawaban atas pertanyaan pada kuesioner. Kebiasaan yang dibentuk oleh latihan ini adalah memeriksa kuesioner terlebih dahulu, baru kemudian datanya. Di dalam folder setiap putaran:

Urutan kerja untuk setiap kolom yang Anda gunakan: pertanyaan dalam kuesioner → nama kolom dan kode-kodenya dalam buku kerja (workbook) untuk putaran tersebut → tabulasi kolom di Stata untuk memastikan kode-kodenya sesuai dengan buku kerja → baru kemudian penulisan kodenya. Definisi variabel pada bagian 5 mencantumkan nama kolom untuk tahun 2022; untuk putaran lainnya, buku kerjalah yang menjadi acuan utama, bukan halaman ini.

Keempat file dalam satu putaran memuat unit observasi yang berbeda:

FileSatu baris adalahKunciApa yang Anda dapatkan darinya
Rumah tangga KOR (RT)satu rumah tanggaurutperumahan, sanitasi, penerangan, bahan bakar, tiga belas aset, ukuran rumah tangga r301 , provinsi r101 , kabupaten/kota /kota r102 , perkotaan/perdesaan r105
KOR perorangan (IND)satu orangurut , r401hubungan dengan kepala rumah tangga, jenis kelamin, usia, status perkawinan, partisipasi sekolah, ijazah, sektor pekerjaan, kepemilikan telepon dan penggunaan internet
BLOK43satu rumah tanggaurutfood , nonfood , expend (bulanan, rupiah), kapita (per orang), bobot wert (rumah tangga) dan weind (penduduk)
BLOK42satu rumah tangga × satu itemurut , kodekuantitas b42k3 dan nilai b42k4 untuk tiga item: listrik, pulsa telepon, dan paket internet
Tidak semua putaran sama Nama file, jumlah file hasil pemecahan modul, dan nama variabel semuanya berubah antarputaran. Pada beberapa putaran, file individu terbagi menjadi dua bagian kolom. Nama variabel yang tidak lagi ada tidak selalu memicu error: kode item yang dikodekan secara permanen (hard-coded) namun tidak terdapat dalam file akan menghasilkan nilai nol tanpa memunculkan pesan kesalahan. Pelajari folder dan buku kerja metadata untuk setiap putaran sebelum Anda menyusun bloknya.

Di mana mendapatkan data tersebut

Paket tersebut berupa satu file zip berukuran 323 MB yang tersedia di halaman rilis repositori mata kuliah:

Ekstrak file tersebut di lokasi mana pun. Folder yang memuat keempat folder YYYY_maret serta file poverty_line_2022_2025.csv merupakan path yang harus dimasukkan pada baris pkg di bagian atas file s0_import.do .

Opsional: program Stata yang menghasilkan data sintetis tersedia di sini. Tidak diperlukan untuk tugas ini.

3. Do file dan bagian yang harus Anda kerjakan

Setiap file sudah lengkap untuk kasus pertama dan berhenti tepat sebelum pola berulang. Bagian tempat Anda harus memasukkan kode ditandai dengan >>> write ... here <<< . Tidak ada file induk; jalankan keempat file tersebut secara berurutan menggunakan perintah do . Setiap file diawali dengan satu atau dua baris jalur (path) yang perlu disesuaikan, serta menghasilkan file log-nya sendiri di dalam folder kerja.

Pada langkah 0 dan 1, blok tahun 2022 yang diberikan merupakan polanya: ikuti pola tersebut baris demi baris untuk putaran lainnya dan ubah hanya bagian yang memang perlu disesuaikan dengan data. Pada langkah 2 dan 3, tidak ada model yang diberikan; bagian 6 merinci masing-masing model dan bagian 7 menjelaskan aturan pensasaran dengan detail yang cukup untuk penulisan kode. Pertahankan setiap nama variabel sebagaimana ditentukan, karena variabel-variabel tersebut akan digunakan pada langkah-langkah berikutnya.

4. Menyusun file analisis

Kelompok-kelompok orang yang berpencar di dataran gelap, masing-masing memadat menjadi satu titik cahaya, dan titik-titik itu membentuk satu garis

Setiap putaran menjadi satu file, analysis_YYYY.dta , dengan satu baris untuk setiap rumah tangga. Langkah-langkahnya, sesuai urutan pelaksanaannya dalam blok tahun 2022 tersebut, adalah sebagai berikut:

4.1 Penghitungan orang

Berdasarkan file individu, buatlah indikator 0/1 untuk setiap orang dan collapse (sum) berdasarkan rumah tangga. Kepala rumah tangga adalah orang dengan kode hubungan 1; usia dan ijazah kepala rumah tangga diambil menggunakan fungsi (max) setelah mempertahankan data tersebut hanya pada baris milik kepala rumah tangga. Dua pertanyaan yang diajukan kepada setiap orang—yaitu kepemilikan telepon dan penggunaan internet—diadopsi sebagai karakteristik rumah tangga dengan mengambil data dari anggota yang tercantum pertama. Hitung jumlah anggota menggunakan fungsi (count) ; jumlah ini nantinya akan diverifikasi dengan data pada file rumah tangga.

4.2 BLOK42 dari long to wide

BLOK42 memiliki satu baris per rumah tangga untuk setiap jenis barang. Pertahankan ketiga item tersebut, masukkan kuantitas listrik serta nilai pulsa telepon dan paket internet ke dalam tiga variabel, lalu collapse (max) berdasarkan rumah tangga. Rumah tangga yang tidak membeli satu pun dari ketiga item tersebut tetap memiliki satu baris berisi angka nol di dalam modul; pertahankan baris tersebut agar rumah tangga ini tetap tercatat dengan nilai nol, bukannya hilang dari data.

Kode item Dalam file Maret 2022, ketiga item tersebut adalah kode 205 (listrik, kuantitas dalam kWh pada b42k3 ), 236 (pulsa telepon, nilai pada b42k4 ), dan 238 (paket internet, nilai pada b42k4 ). Periksa kode untuk setiap putaran lainnya pada buku kerja metadata atau dengan melakukan tabulasi terhadap kode .

4.3 Merge

Mulailah dengan file rumah tangga, ubah nama kolom perumahan dan aset agar sesuai dengan penamaan umum di Bagian 5, lalu merge one-to-one berdasarkan variabel urut dengan: BLOK43 (pertahankan food nonfood expend kapita wert weind ), jumlah anggota rumah tangga, serta variabel-variabel BLOK42. Selanjutnya, merge data garis kemiskinan menggunakan metode many-to-one berdasarkan tahun, provinsi, dan klasifikasi perkotaan/perdesaan. Setiap merge harus mencocokkan seluruh rumah tangga; kode yang diberikan hanya mempertahankan baris yang cocok, sedangkan pemeriksaan di bagian bawah akan mendeteksi kegagalan merge.

4.4 Periksa kembali terlebih dahulu

Ukuran rumah tangga dapat diperoleh dengan tiga cara: round(expend / kapita) , variabel ` r301 pada file rumah tangga, dan jumlah baris individu. Ketiganya menunjukkan hasil yang sama dalam data ini. Kode yang diberikan memeriksa hal tersebut dengan assert, serta memastikan bahwa food + nonfood = expend dan weind = wert × hhsize . Jika pemeriksaan (assert) gagal pada putaran (round) yang Anda tulis, kesalahan terletak pada merge atau collapse untuk putaran tersebut.

4.5 Ukuran kesejahteraan

rpcexp = kapita × 738 955 / povline    lnrpcexp = ln(rpcexp)

Pengeluaran per kapita bulanan disesuaikan (dideflasi) menggunakan garis kemiskinan yang sesuai dengan tahun, provinsi, serta kategori perkotaan/perdesaan rumah tangga tersebut, lalu dinyatakan kembali dalam tingkat harga satu kategori acuan: perkotaan DKI Jakarta pada Maret 2022, dengan garis kemiskinan sebesar Rp 738.955 (nilai tersebut diambil oleh do file dari tabel garis kemiskinan, bukan diketik secara manual). Dengan demikian, pemeringkatan desil yang sama mencerminkan standar hidup yang setara di setiap provinsi dan setiap tahun.

4.6 Desil

Ada dua aturan. Putaran training tahun 2022, 2023, dan 2024 digabungkan dan diperingkat bersama menjadi sepuluh desil rpcexp yang diberi bobot, sehingga desil 1 memiliki makna yang sama pada setiap tahunnya. Putaran tahun 2025 diperingkat secara terpisah : putaran ini merupakan putaran test , dan data darinya tidak boleh dimasukkan ke dalam pemeringkatan training . Desil-desil tersebut diberi bobot menggunakan weind (bobot individu), sehingga satu desil mencakup sepersepuluh dari jumlah individu , bukan rumah tangga. weind dibulatkan menjadi bilangan bulat terlebih dahulu karena xtile menggunakan bobot frekuensi.

5. Definisi variabel

Rumah kecil pada malam hari dengan atap, dinding, air, jamban, meteran listrik, dan tungku masaknya masing-masing disorot cahaya, barang-barang rumah tangga berjajar di sampingnya, dan seorang pencacah dengan papan jalan di depan pintu

Nama kolom adalah nama dari file bulan Maret 2022. Variabel yang sama mungkin memiliki nama berbeda pada putaran lain, namun definisinya tidak berubah. Variabel kategorikal dimasukkan ke dalam model sebagai variabel faktor ( i. ) dengan kode aslinya.

5.1 File rumah tangga (RT)

NamaDaftar kandidat tahun 2022Definisi
h_houser1802Status penguasaan tempat tinggal: 1 milik sendiri, 2 sewa, 3 bebas sewa, 4 rumah dinas, 5 lainnya
h_luaslantair1804Luas lantai hunian, m²
h_roofr1806Bahan atap utama, 8 kode (beton, genteng, seng, asbes, bambu, kayu, rumbia, lainnya)
h_wallr1807Bahan dinding utama, 7 kode (bata, bambu/kawat berlapis plester, kayu, anyaman bambu, kayu gelondongan, bambu, lainnya)
h_floorr1808Bahan lantai utama, 9 kode (marmer/granit, keramik, parket/vinil/karpet, ubin, kayu, semen/batu bata, bambu, tanah, lainnya)
h_toiletr1809aFasilitas toilet, 6 kode (milik sendiri, bersama, komunal, umum, tersedia namun tidak digunakan, tidak ada)
h_closetr1809bJenis kloset, 4 kode; kosong jika tidak ada toilet
h_sewager1809cPembuangan akhir ekskreta, 6 kode; kosong jika tidak ada toilet
h_waterr1810aSumber utama air minum, 11 kode
h_lightr1816Sumber penerangan utama: 1 PLN dengan meteran, 2 PLN tanpa meteran, 3 listrik non-PLN , 4 bukan listrik
h_epowerr1816b1Daya terpasang pada meteran pertama: 1 = 450 W, 2 = 900 W, 3 = 1.300 W atau lebih; kosong jika penerangan tidak menggunakan meteran PLN
h_fuelr1817Bahan bakar utama untuk memasak, 12 kode (0 tidak memasak di rumah, 1 listrik, 2–4 ukuran LPG , 5 gas kota, 6 biogas, 7 minyak tanah, 8 briket, 9 arang, 10 kayu bakar, 11 lainnya)
h_asset_a … h_asset_mr2001a … r2001mKepemilikan: tabung gas ukuran 5.5 kg atau lebih; kulkas; AC; pemanas air; telepon rumah; komputer atau laptop; emas atau perhiasan seberat 10 g atau lebih; sepeda motor; perahu; perahu motor; mobil; TV layar datar ukuran 30 inci atau lebih; tanah. Dikodekan 1 untuk ya dan 5 untuk tidak dalam file data mentah; dikodekan ulang menjadi 1/0 sebelum pemodelan.
urbanr1051 jika perkotaan, 0 jika perdesaan
kode_kabr101, r102Kode Kabupaten/kota , r101 × 100 + r102 ; 514 kabupaten/kota

5.2 Penghitungan dari file individu (IND)

NamaDaftar kandidat tahun 2022Definisi
n_age04 , n_age519 , n_age2064 , n_age65upr407Anggota berusia 0–4, 5–19, 20–64, serta 65 tahun ke atas
n_femaler405Anggota perempuan (kode 2)
n_workerr705Anggota dengan sektor pekerjaan utama yang tercatat (kolom tidak kosong)
h_married , h_widowedr404Anggota yang saat ini berstatus kawin (kode 2); anggota yang berstatus duda/janda (kode 4)
h_neverschool , h_stillschoolr610Anggota yang tidak pernah bersekolah (kode 1); anggota yang masih bersekolah (kode 2). Hanya ditanyakan kepada anggota berusia 5 tahun ke atas.
head_femaler403, r4051 jika kepala rumah tangga (kode hubungan 1) berjenis kelamin perempuan
hd_ager403, r407Usia kepala rumah tangga
hd_edur403, r614Ijazah tertinggi kepala rumah tangga, berdasarkan daftar 25 kode pada kuesioner, dimasukkan sebagai satu variabel numerik; kosong untuk kepala rumah tangga yang tidak memiliki catatan ijazah.
hhsizeexpend, kapitaround(expend / kapita) , diperiksa terhadap r301 dan jumlah orang

5.3 Konsumsi (BLOK43, BLOK42)

NamaSumberDefinisi
expend , kapitaBLOK43Pengeluaran rumah tangga bulanan dan nilainya per kapita, rupiah
wert , weindBLOK43Bobot rumah tangga dan bobot individu (= wert × hhsize )
povlinegaris_kemiskinan_2022_2025.csvGaris kemiskinan menurut tahun rumah tangga × provinsi × perkotaan/perdesaan, rupiah per kapita per bulan
kwhBLOK42, listrikListrik yang dibeli bulan lalu, kWh (kolom kuantitas)
credit , packageBLOK42, pulsa telepon; paket internetPengeluaran bulan lalu, rupiah (kolom nilai)
elec_kwh_pc , telecom_cons_pcturunankwh / hhsize ; (credit + package) / hhsize

5.4 Variabel hasil transformasi

NamaDefinisi
ln_hhsize , ln_hhsize_2ln( ukuran rumah tangga ) dan kuadratnya
ln_h_luaslantai , ln_h_luaslantai_2ln( h_luaslantai + 0.1) dan kuadratnya
ln_elec_kwh_pc , ln_elec_kwh_pc_2ln( elec_kwh_pc + 0.1) dan kuadratnya
ln_telecom_cons_pc , ln_telecom_cons_pc_2ln( telecom_cons_pc + 0.1) dan kuadratnya
h_epower2 , h_epower31 jika daya meteran 900 W; 1 jika 1.300 W atau lebih (450 W sebagai dasar; rumah tangga tanpa meteran PLN bernilai 0 untuk keduanya)
ln_elec_kwh_pc_h_epower2 , ln_elec_kwh_pc_h_epower3ln_elec_kwh_pc × h_epower2 ; ln_elec_kwh_pc × h_epower3
h_asset_car , h_asset_computer , h_asset_land1 jika h_asset_k , h_asset_f , h_asset_m bernilai 1 (ya)

Penambahan +0.1 di dalam setiap logaritma mempertahankan rumah tangga dengan nilai nol dalam sampel; tanpanya, ln(0) menjadi missing (tidak terdefinisi) dan rumah tangga tersebut akan tereliminasi dari setiap model.

5.5 Missing value struktural

Empat variabel memiliki nilai kosong karena alasan tertentu, bukan secara acak: h_closet dan h_sewage jika rumah tangga tidak memiliki toilet, h_epower jika penerangan tidak menggunakan meteran PLN , serta hd_edu untuk kepala rumah tangga yang tidak memiliki catatan ijazah. Variabel faktor dengan nilai kosong akan menyebabkan rumah tangga tersebut dikeluarkan dari analisis regresi tanpa memunculkan pesan pemberitahuan. Langkah 2 melakukan pengodean ulang (recoding) terhadap keempat variabel tersebut ke dalam kategori eksplisit 99 dan menampilkan jumlah rumah tangga yang dipertahankan dari setiap pengodean ulang; jumlah tersebut merupakan bagian dari output referensi.

6. Spesifikasi model

Garis cahaya memanjang ke cakrawala, dipotong gerbang-gerbang tegak menjadi segmen dengan panjang berbeda, dengan sosok kecil berdiri di sampingnya

Bagian ini merupakan spesifikasi yang menjadi acuan Anda dalam menulis kode. Tidak ada informasi lain yang diberikan dalam langkah 2 dan 3 selain contoh perakitan dan kode-kode ulang tersebut.

6.1 Sampel dan variabel yang umum bagi keempat model

6.2 Dua himpunan regresor

PMT — tiga puluh sembilan proksi (global $baseline_39 , yang tercantum dalam do file). Empat variabel kontinu, sebelas variabel faktor, tiga belas variabel dummy aset, enam variabel jumlah anggota rumah tangga, empat variabel pendidikan dan status pernikahan, serta tiga karakteristik kepala rumah tangga:

ln_hhsize ln_hhsize_2 ln_h_luaslantai ln_h_luaslantai_2
i.h_house i.h_roof i.h_wall i.h_floor i.h_toilet i.h_closet i.h_sewage
i.h_water i.h_light i.h_fuel i.h_epower
h_asset_a h_asset_b h_asset_c h_asset_d h_asset_e h_asset_f h_asset_g
h_asset_h h_asset_i h_asset_j h_asset_k h_asset_l h_asset_m
n_age04 n_age519 n_age2064 n_age65up n_female n_worker
h_married h_widowed h_neverschool h_stillschool
head_female hd_age hd_edu

Model yang parsimonious — lima belas variabel dari delapan variabel dasar ( global $predictors_7): ukuran rumah tangga, penggunaan listrik per kapita dan pengeluaran telekomunikasi per kapita beserta nilai kuadrat masing-masing; dua dummy kapasitas meteran dan interaksinya dengan penggunaan listrik; tiga aset; serta luas lantai beserta nilai kuadratnya:

ln_hhsize ln_elec_kwh_pc ln_telecom_cons_pc
ln_hhsize_2 ln_elec_kwh_pc_2 ln_telecom_cons_pc_2
h_epower2 h_epower3 ln_elec_kwh_pc_h_epower2 ln_elec_kwh_pc_h_epower3
h_asset_car h_asset_computer h_asset_land
ln_h_luaslantai ln_h_luaslantai_2

Setiap variabel didefinisikan pada bagian 5 dan dibentuk pada langkah 1; variabel globalnya merupakan daftar yang sama, yang dituliskan secara lengkap.

Model 1 — PMT, linear, fixed effects kabupaten/kota

lnrpcexph = αd(h) + Xhβ + γ·urbanh + εh
  • Estimator: ordinary least squares ( regress di Stata).
  • Variabel dependen: lnrpcexp , yaitu logaritma dari pengeluaran riil per kapita pada bagian 4.5.
  • Regresor: X = tiga puluh sembilan proksi, ditambah urban , ditambah dummy kabupaten/kota i.kode_kab .
  • Sampel: train == 1 .
  • Prediksi: prediksi linear Xh β̂ + α̂d(h) + γ̂ · urbanh untuk setiap rumah tangga, yang disimpan sebagai variabel dengan tipe double precision bernama yhat_pmt . Langkah 3 membaca nama tersebut.

Model 2 — model parsimonious , linear, fixed effects kabupaten/kota

Persamaan, estimator, sampel, dan dummy kabupaten/kota yang sama, dengan X = lima belas variabel parsimonious . Prediksi disimpan sebagai yhat_pars .

Langkah 2 diakhiri dengan menyimpan file yang memuat kedua prediksi tersebut; baris save yang diberikan melakukan hal itu.

Model 3 — ordered probit terhadap desil, PMT, dan fixed effects kabupaten/kota

decileh = k  jika  κk−1 < αd(h) + Xhβ + γ·urbanh + uh ≤ κk,   u ~ N(0, 1),  k = 1 … 10
  • Estimator: ordered probit dengan metode maximum likelihood ( oprobit di Stata). Satu vektor koefisien (slope vector) dan sembilan cutpoint ( cutpoints) κ1 … κ9 diestimasi; Stata menampilkan cutpoint tersebut di bagian bawah tabel koefisien.
  • Variabel dependen: decile , yaitu desil training dari bagian 4.6 (1 = sepersepuluh penduduk termiskin, 10 = terkaya).
  • Regresor dan sampel: persis seperti model 1 — tiga puluh sembilan proksi, urban , i.kode_kab , train == 1 .
  • Probabilitas prediksi: untuk setiap rumah tangga, sepuluh probabilitas prediksi Pr( desil = k ), k = 1 … 10, sebagai sepuluh variabel dengan tipe double precision yang diberi nama op1 … op10 ( predict di Stata dengan opsi probability akan menghasilkan kesepuluh variabel tersebut sekaligus jika diberikan sepuluh nama variabel baru).
  • expected decile: satu angka per rumah tangga, yaitu rata-rata desil berbobot probabilitas, yang disimpan sebagai op_expected :
    op_expectedh = Σ k=1..10 k · Pr( desilh = k | Xh ) = 1· op1 + 2· op2 + … + 10· op10
    Buatlah ringkasannya untuk putaran test tahun 2025 ( train == 0 ); ringkasan tersebut (Obs, Mean, Std. dev., Min, Max) tercantum dalam output referensi. Ini adalah skor model; desil prediksinya ditentukan pada bagian 7 dengan pemeringkatan skor ini menggunakan xtile , sama seperti pada prediksi linear—bukan dengan membulatkannya ataupun mengambil desil dengan probabilitas tertinggi.
  • Waktu eksekusi: model ini memuat variabel proksi dan 514 dummy kabupaten/kota ; model mencapai konvergensi dalam empat atau lima iterasi, memakan waktu sekitar tiga menit pada mesin dengan empat inti (quad-core). Jangan menghentikan prosesnya.

Model 4 — ordered probit pada desil, model parsimonious , fixed effects kabupaten/kota

Sama seperti model 3 dengan X = lima belas variabel parsimonious . Probabilitas diberi nama ops1 … ops10 , expected decile ops_expected , dirangkum pada putaran test .

7. Ukuran akurasi pensasaran

Barisan orang di dataran gelap yang disinari dalam pita mendatar, seberkas cahaya tegak menandai batas kelompok yang disinari, satu sosok berdiri di tepi itu

Bagian 5 dari langkah 3 menerapkan satu aturan pensasaran pada masing-masing dari keempat prediksi dan melaporkan kesalahannya. Lakukan hal ini untuk keempat skor tersebut: yhat_pmt , yhat_pars , op_expected , ops_expected . Prosedur di bawah ini sudah lengkap; angka-angka di dalamnya merupakan titik pemeriksaan dari run referensi, sehingga Anda dapat memverifikasi setiap langkah sebelum melanjutkan ke langkah berikutnya.

Langkah 0 — posisi Anda saat ini

Anda berada di langkah 3, dalam file yang disimpan pada langkah 2 ( step2_predictions.dta ): keempat putaran dalam satu file dengan penanda train , dua prediksi linear dari langkah 2, serta—setelah model 3 dan 4—dua puluh probabilitas dan dua expected deciles. Segala sesuatu dalam bagian ini dihitung hanya berdasarkan putaran test round), yaitu train == 0 : 343.460 rumah tangga, yang mewakili 287.771.246 jiwa (jumlah weind dari rumah tangga tersebut).

Langkah 1 — desil sebenarnya (sudah dibuat)

Desil sebenarnya adalah variabel decile yang dibentuk pada langkah 1 untuk putaran tahun 2025: pengeluaran riil per kapita rpcexp yang diperingkat ke dalam sepuluh desil berbobot untuk tahun 2025 , menggunakan xtile di Stata, sepuluh kuantil, serta bobot individu ( weind sebagai bobot frekuensi ( weind dibulatkan menjadi bilangan bulat untuk keperluan ini). Desil 1 mencakup sepersepuluh populasi termiskin, sedangkan desil 10 mencakup yang terkaya; setiap desil mencakup sekitar 28,8 juta jiwa namun dengan jumlah rumah tangga yang berbeda, karena rumah tangga miskin cenderung memiliki ukuran anggota keluarga yang lebih besar.

Rumah tangga yang memenuhi syarat adalah mereka yang berada pada decile 1 hingga 5: kelompok yang benar-benar mencakup separuh terbawah dari populasi. Mereka mewakili E = 143.887.916 jiwa — separuh dari 287,8 juta, sebagaimana mestinya.

Langkah 2 — skor setiap model

Skor merupakan satu angka per rumah tangga; skor yang lebih tinggi menunjukkan rumah tangga yang lebih sejahtera.

  • Model linear (1 dan 2). Skor tersebut merupakan prediksi linear yang predict setelah regress : log pengeluaran hasil estimasi Xh β̂ + efek kabupaten/kota + efek perkotaan, untuk setiap rumah tangga. Anda menyimpannya sebagai yhat_pmt (model 1) dan yhat_pars (model 2) pada langkah 2. Pengecekan: pada putaran test round), yhat_pmt memiliki nilai rata-rata 14.387 dan simpangan baku 0.475.
  • Model ordered probit (3 dan 4). Setelah menjalankan oprobit , penggunaan predict dengan opsi probabilitas dan sepuluh nama variabel baru akan menghasilkan sepuluh probabilitas prediksi—Pr( desil = 1) hingga Pr( desil = 10)—untuk setiap rumah tangga; jumlah probabilitas ini adalah 1 untuk setiap rumah tangga. Skor yang diperoleh merupakan expected decile , yang dihitung menggunakan perintah generate dengan tipe data double: ` op_expected = 1· op1 + 2· op2 + 3· op3 + … + 10· op10 (serta ops_expected dari ops1 hingga ops10 untuk model 4). Nilainya berkisar antara 1 hingga 10. Pemeriksaan: pada putaran test , op_expected memiliki nilai rata-rata 6.153, simpangan baku 2.033, nilai minimum 1.057, dan nilai maksimum 10.000—sesuai dengan baris summarize pada output referensi. Desil dengan kemungkinan tertinggi (nilai k dengan probabilitas terbesar) tidak digunakan karena metode ini menumpuk rumah tangga pada desil-desil tengah dan tidak dapat memilih tepat separuh dari populasi.

Langkah 3 — desil prediksi

Peringkatkan untuk setiap skor dengan cara yang sama seperti saat diperingkat desil sebenarnya. Gunakan xtile untuk membuat variabel baru yang didasarkan pada skor tersebut, dengan weind sebagai bobot frekuensi di dalam kurung siku, batasan kondisi ` if train == 0 , serta opsi nquantiles(10) . Kondisi if tersebut penting karena berfungsi peringkatkan rumah tangga tahun 2025 di antara mereka sendiri dan membiarkan nilai variabel baru tersebut kosong (missing) untuk baris training rows). Hasilnya adalah desil prediksi model tersebut—mulai dari 1 hingga 10—untuk setiap rumah tangga tahun 2025. Buatlah satu variabel semacam itu untuk setiap skor, sehingga totalnya menjadi empat variabel.

Desil prediksi dari model ordered probit Untuk model 3 dan 4, skornya adalah op_expected ( ops_expected ), yaitu angka antara 1 dan 10 — dan skor ini diperlakukan persis seperti yhat_pmt : skor tersebut diproses menggunakan xtile pada putaran test round), dengan weind sebagai bobot frekuensi dan sepuluh kuantil, sehingga menghasilkan desil prediksi. Terdapat tiga hal yang bukan merupakan desil prediksi, meskipun masing-masing tampak menyerupainya: desil dengan probabilitas terbesar dari kesepuluh probabilitas yang ada (desil yang paling mungkin); op_expected yang dibulatkan ke bilangan bulat terdekat; op_expected yang dipotong pada batas-batas tetap seperti 1.5, 2.5, dst. Tidak ada satu pun dari metode tersebut yang menempatkan tepat sepersepuluh populasi ke dalam setiap desil, sehingga tidak ada yang dapat memilih tepat separuh bagian bawah populasi, dan kesalahan (error) yang dihitung darinya tidak sesuai dengan output referensi. Peringkatkan), jangan lakukan pembulatan.

Pemeriksaan model 1: tabulasi desil prediksi pada putaran test menunjukkan 23.119 rumah tangga pada desil prediksi 1, meningkat menjadi 61.711 pada desil prediksi 10 — jumlah rumah tangga tidak sama, namun jumlah penduduknya sama (masing-masing sekitar 28,8 juta), yang merupakan hasil dari penerapan bobot tersebut.

Aturan tersebut memilih rumah tangga dengan desil prediksi 1 hingga 5: separuh terbawah dari populasi menurut prediksi.

Langkah 4 — hitung jumlah orang, bukan rumah tangga

"People" berarti jumlah weind dari sekumpulan rumah tangga 2025. Di Stata, summarize weind dengan kondisi if yang tepat serta opsi meanonly akan menyimpan jumlah tersebut dalam r(sum) ; simpanlah nilai itu dalam sebuah skalar sebelum perintah berikutnya menimpanya. Untuk setiap model, hitunglah:

  • S = orang yang terpilih: jumlah weind dari rumah tangga 2025 dengan desil prediksi ≤ 5. Model 1: S = 143.886.559 — sama dengan E ( dengan selisih hanya beberapa ribu), karena keduanya mencakup lima desil dari populasi 287,8 juta orang yang sama; selisih kecil tersebut disebabkan oleh pembulatan pada batas desil.
  • W = orang yang terpilih secara keliru: jumlah weind untuk 2025 rumah tangga dengan desil prediksi ≤ 5 dan decile sebenarnya > 5. Model 1: W = 35.325.508.

Langkah 5 — kesalahannya

IE50 = 100 × W / S

inclusion error: dari orang-orang yang dipilih oleh aturan tersebut, proporsi yang tidak memenuhi syarat. Model 1: 100 × 35.325.508 / 143.886.559 = 24.55 persen. Simpan sebagai skalar, satu untuk setiap model ( ie_pmt , ie_pars , ie_op , ie_ops ).

exclusion error —yaitu proporsi orang yang memenuhi syarat namun terlewat oleh aturan tersebut—memiliki angka yang sama, sehingga tidak dihitung secara terpisah. Kelompok yang terpilih mencakup lima desil terbawah berdasarkan prediksi, sedangkan kelompok yang memenuhi syarat mencakup lima desil terbawah berdasarkan kondisi sebenarnya dari populasi yang sama ; dengan demikian, kedua kelompok tersebut memiliki ukuran yang sama ( S ≈ E ). Setiap orang yang terpilih secara keliru menggantikan posisi satu orang yang memenuhi syarat namun terlewat secara keliru, sehingga jumlah orang yang terlewat sama dengan W. Anda dapat memeriksanya: jumlah bobot weind untuk rumah tangga dengan desil prediksi > 5 dan desil sebenarnya ≤ 5 adalah 35.326.865 untuk model 1, dan 100 × 35.326.865 / 143.887.916 = 24.55—sama dengan angka pada posisi desimal kedua.

Makna angka tersebut: Inclusion error adalah biaya yang dikeluarkan program untuk orang-orang yang seharusnya tidak menjadi peserta; sedangkan exclusion error yang setara adalah kerugian yang dialami kaum miskin ketika mereka tidak terdaftar dalam program tersebut.

Langkah 6 — meja

Akhiri dengan satu tabel untuk putaran test tahun 2025 yang ditampilkan dengan display : sebuah judul, satu baris tajuk, kemudian satu baris untuk setiap model dengan urutan 1 hingga 4 — nama model di kolom yang rata kiri dan nilai IE 50 (= EE50 )-nya di kolom yang rata kanan dengan dua angka di belakang koma. Output referensi memperlihatkan tata letak yang tepat serta keempat nilai tersebut: 24.55, 21.05, 24.52, 21.09.

8. Output referensi dan titik pemeriksaan

reference_output.txt adalah hasil keluaran dari keempat do file yang telah rampung—yang dijalankan secara berurutan pada paket ini. File ini merupakan kunci jawabannya: setiap angka dalam log Anda harus sama persis dengannya. Urutannya pun disesuaikan dengan urutan pengerjaan Anda, sehingga jika terjadi ketidakcocokan, Anda dapat mengetahui di bagian mana letak perbedaannya.

LangkahOutput yang ditampilkanJika milik Anda berbeda
0Jumlah baris setiap file yang diimpor, satu baris per file atau per kumpulan data yang digabungkan; kemudian empat baris pertama dari tabel garis kemiskinan.Sebuah file tidak dibaca, atau sebuah bagian (split) tidak di-append.
1Pertama, nilai dasar deflator yang diambil dari tabel garis kemiskinan (Rp 738.955). Kemudian, untuk setiap putaran: rumah tangga di BLOK42, rumah tangga yang terbentuk, serta tabel yang memuat nilai rata-rata, SD, minimum, dan maksimum dari sembilan variabel ( hhsize expend kwh credit package h_luaslantai n_worker hd_age lnrpcexp ); dilanjutkan dengan dua tabulasi desil.collapse, reshape, atau merge rute; kode item yang salah muncul sebagai angka nol pada kwh , credit , atau package
2Tabulasi tahun × kereta, empat jumlah missing value; untuk model 1 dan 2, output regresi lengkap: header ANOVA, N, F, R², R² yang adjusted R²), root MSE , dan keseluruhan tabel koefisien, termasuk dummy kabupaten/kota .Sampel tersebut berbeda: satu putaran hilang, atau structural blank tidak dikodekan ulang.
3Untuk model 3 dan 4, output ordered probit lengkap: log iterasi, N, LR χ², pseudo R², log likelihood , dan keseluruhan tabel koefisien beserta cutpoints; ringkasan setiap expected decile; serta tabel inclusion error (= exclusion error).Skor, pemeringkatan , atau bobotnya; pastikan bahwa pemeringkatan tersebut hanya menggunakan putaran test dan bobot frekuensi.

Dua jumlah baris yang akan Anda temui di awal adalah: file rumah tangga tahun 2022 memiliki 339.584 baris dan file individunya memiliki 1.237.768 baris. Sampel training gabungan mencakup 1.024.865 rumah tangga, sedangkan putaran test tahun 2025 mencakup 343.460 rumah tangga.

9. Aturan, durasi, dan pengiriman

  • Sebelum menyusun sebuah putaran, bacalah kuesioner dan buku kerja metadata-nya (bagian 2.1). nama kolom yang disalin dari putaran lain—namun kini sudah tidak ada—tidak selalu memunculkan pesan kesalahan; kode yang telah berubah justru akan menghasilkan angka yang keliru tanpa adanya pesan kesalahan sama sekali.
  • Tuliskan setiap putaran dan setiap model secara lengkap, sebagaimana adanya blok-blok yang diberikan. Jangan gunakan perulangan (loop) untuk putaran atau model, dan jangan menulis program: pembaca file Anda—termasuk Anda sendiri enam bulan mendatang—harus dapat melihat variabel mana yang termasuk dalam putaran yang mana.
  • Gunakan garis miring (forward slash) pada setiap path. Stata menerimanya di Windows, sedangkan garis miring terbalik (backslash) tepat sebelum nama makro berfungsi sebagai karakter escape yang menyebabkan kegagalan tanpa memunculkan pesan.
  • Pertahankan nama variabel, nama file, dan variabel global yang telah ditentukan. Setiap langkah membaca file dari langkah lainnya.
  • Jalankan keempat file tersebut secara berurutan, satu per satu, setelah menyunting baris jalur (path) di bagian atas masing-masing file. Waktu eksekusi pada mesin dengan empat inti (four-core): sekitar dua menit untuk impor, empat menit untuk pembuatan (build), empat menit untuk model linear, dan enam menit untuk ordered probits).
  • Kumpulkan secara berkelompok melalui formulir di bagian 10: keempat do file yang telah selesai beserta keempat log yang dihasilkannya ( s0_import.log … s3_pmt_ordered.log di dalam folder kerja) dalam satu file zip.

Dua pertanyaan yang perlu dijawab dalam catatan singkat yang menyertai tugas yang Anda kumpulkan: model 2 memiliki nilai R² yang lebih tinggi dibandingkan model 1 — mengapa suatu program mungkin tetap lebih memilih model 1? Selain itu, pemodelan desil secara langsung (model 3 dan 4) tidak memberikan hasil penargetan yang lebih baik dibandingkan pemodelan pengeluaran yang kemudian diikuti dengan penetapan ambang batas — informasi apa yang diabaikan oleh model ordered tersebut sejak awal?

10. Kompetisi kelompok dan pengumpulan

Kelompok-kelompok kecil melintasi satu garis cahaya panjang di dataran gelap, pada jarak yang sangat berbeda

Ini adalah tugas kelompok yang dijalankan sebagai sebuah kompetisi . Bentuklah kelompok yang terdiri dari lima orang. Tujuan setiap kelompok sama: menghasilkan empat do file yang berjalan dari awal hingga akhir dan mereproduksi output referensi secara persis. Perbedaannya terletak pada kapan suatu kelompok berhasil mencapainya.

  • Kelompok terdiri dari lima mahasiswa. Satu pengumpulan per kelompok; nama dan NPM setiap anggota dicantumkan pada formulir.
  • Penentuan nilai dilakukan sebagai berikut. Kelompok yang keempat log-nya menghasilkan keluaran yang sama persis dengan keluaran referensi akan memperoleh nilai minimal 70, sedangkan kelompok pertama yang berhasil melakukannya mendapat nilai 100. Nilai kelompok lainnya berada di kisaran 70 hingga 100, bergantung pada waktu pengumpulan tugas mereka. Tugas yang tidak menghasilkan keluaran yang sama persis akan mendapat nilai di bawah 70, berdasarkan sejauh mana do file tersebut berhasil dijalankan.
  • Waktu yang diperhitungkan adalah waktu server saat formulir dikirim , yang tercatat secara otomatis serta ditampilkan pada tanda terima dan papan. Sebuah kelompok dapat mengumpulkan kembali; waktu pengumpulan pertama yang mereplikasi adalah yang dihitung.
  • Yang harus dikumpulkan: satu file zip berisi keempat do file yang telah diselesaikan beserta keempat log yang dihasilkannya, tanpa penyuntingan.

Formulir pengumpulan dan papan pengumpulan tersedia di situs tugas: sdgcenter.unpad.ac.id/aay/miktrik/pmtprobit.html .

11. Unduhan

Dua file besar ada di halaman rilis repositori; yang lain ada di materials/stata.