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.

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:
- membaca keempat putaran data sebagaimana disediakan oleh BPS (file dBase , beberapa file per putaran) dan menyusun satu file analisis tingkat rumah tangga untuk setiap putaran;
- mengestimasi dua model PMT linear pada data gabungan putaran 2022–2024 dengan fixed effects kabupaten/kota: spesifikasi lengkap BPS/ World Bank yang mencakup tiga puluh sembilan proksi, dan spesifikasi parsimonious yang mencakup delapan variabel dasar;
- mengestimasi kedua spesifikasi yang sama sebagai model ordered probit pada desil kesejahteraan;
- Gunakan masing-masing dari keempat model tersebut untuk memprediksi putaran tahun 2025, pilih separuh populasi bagian bawah hasil prediksi, dan hitung inclusion error dari aturan tersebut (yang dalam hal ini sama dengan exclusion error).
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

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:
kuesioner/memuat dua kuesioner untuk putaran tersebut:VSENyy.K, yaitu kuesioner inti (KOR) yang mencakup blok rumah tangga dan individu, sertaVSENyy.KP, yaitu kuesioner konsumsi. Temukan pertanyaan yang Anda butuhkan—baik bloknya (angka Romawi) maupun nomor butir pertanyaan di dalamnya. Nama kolom (field) didasarkan pada pertanyaannya:r1804adalah blok XVIII, butir 4 ("luas lantai tempat tinggal");r407adalah blok IV, butir 7 (usia). Ketika suatu blok berpindah antarputaran, setiap kolom di dalamnya akan berganti nama.- Buku kerja metadata
Metadata_Synthetic_Susenas_YYYYMM.xlsxmemuat rincian isi file untuk putaran survei tersebut: lembar kerja variabel ruta (file rumah tangga), variabel individu , Blok 43 , dan Blok 42 menyajikan nama, label, tipe, dan lebar setiap kolom; lembar kerja value label memuat kode jawaban (nilai yang menunjukkan arti "dimiliki", "meteran PLN ", atau "ya").metadata_bps/menyimpan daftar variabel asli BPS yang terkait.
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:
| File | Satu baris adalah | Kunci | Apa yang Anda dapatkan darinya |
|---|---|---|---|
| Rumah tangga KOR (RT) | satu rumah tangga | urut | perumahan, sanitasi, penerangan, bahan bakar, tiga belas aset, ukuran rumah tangga r301 , provinsi r101 , kabupaten/kota /kota r102 , perkotaan/perdesaan r105 |
| KOR perorangan (IND) | satu orang | urut , r401 | hubungan dengan kepala rumah tangga, jenis kelamin, usia, status perkawinan, partisipasi sekolah, ijazah, sektor pekerjaan, kepemilikan telepon dan penggunaan internet |
| BLOK43 | satu rumah tangga | urut | food , nonfood , expend (bulanan, rupiah), kapita (per orang), bobot wert (rumah tangga) dan weind (penduduk) |
| BLOK42 | satu rumah tangga × satu item | urut , kode | kuantitas b42k3 dan nilai b42k4 untuk tiga item: listrik, pulsa telepon, dan paket internet |
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.
- s0_import.doEdit dua baris path:
pkg(lokasi paket data yang telah diekstrak) dan `work(folder untuk file Stata) . Baca setiap file dBase menggunakanimport dbase, appends file-file yang telah dipisahkan oleh BPS berdasarkan rentang provinsi, simpan satu file.dtauntuk setiap file, lalu baca data garis kemiskinan.data Maret 2022, garis kemiskinan · data Anda Maret 2023, 2024, 2025 - s1_build.doMembaca basis deflator dari tabel garis kemiskinan, kemudian memproses satu observasi rumah tangga per putaran: collapse file individu menjadi jumlah (counts), reshape BLOK42 dari format long to wide, merge keempat file tersebut, memeriksa hasilnya, serta menyusun variabel-variabel model. Selanjutnya, peringkatkan desil.data Maret 2022 (desil) · data Anda Maret 2023, 2024, 2025
- s2_pmt_ols.doModel 1, PMT dengan fixed effects kabupaten/kota; model 2, model parsimonious dengan fixed effects kabupaten/kota. Keduanya melakukan prediksi untuk setiap rumah tangga, termasuk untuk tahun 2025.berdasarkan sampel tersebut, pengodean ulang · model 1 dan 2 Anda
- s3_pmt_ordered.doModel 3, ordered probit pada desil dengan proksi PMT ; model 4, sama seperti sebelumnya namun dengan perangkat parsimonious set); bagian 5, inclusion error (= exclusion error) pada 50 persen terbawah untuk keempat model tersebut.berdasarkan beban dan komentar bagian tersebut · model 3 dan 4 Anda , serta keseluruhan bagian 5
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

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

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)
| Nama | Daftar kandidat tahun 2022 | Definisi |
|---|---|---|
h_house | r1802 | Status penguasaan tempat tinggal: 1 milik sendiri, 2 sewa, 3 bebas sewa, 4 rumah dinas, 5 lainnya |
h_luaslantai | r1804 | Luas lantai hunian, m² |
h_roof | r1806 | Bahan atap utama, 8 kode (beton, genteng, seng, asbes, bambu, kayu, rumbia, lainnya) |
h_wall | r1807 | Bahan dinding utama, 7 kode (bata, bambu/kawat berlapis plester, kayu, anyaman bambu, kayu gelondongan, bambu, lainnya) |
h_floor | r1808 | Bahan lantai utama, 9 kode (marmer/granit, keramik, parket/vinil/karpet, ubin, kayu, semen/batu bata, bambu, tanah, lainnya) |
h_toilet | r1809a | Fasilitas toilet, 6 kode (milik sendiri, bersama, komunal, umum, tersedia namun tidak digunakan, tidak ada) |
h_closet | r1809b | Jenis kloset, 4 kode; kosong jika tidak ada toilet |
h_sewage | r1809c | Pembuangan akhir ekskreta, 6 kode; kosong jika tidak ada toilet |
h_water | r1810a | Sumber utama air minum, 11 kode |
h_light | r1816 | Sumber penerangan utama: 1 PLN dengan meteran, 2 PLN tanpa meteran, 3 listrik non-PLN , 4 bukan listrik |
h_epower | r1816b1 | Daya terpasang pada meteran pertama: 1 = 450 W, 2 = 900 W, 3 = 1.300 W atau lebih; kosong jika penerangan tidak menggunakan meteran PLN |
h_fuel | r1817 | Bahan 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_m | r2001a … r2001m | Kepemilikan: 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. |
urban | r105 | 1 jika perkotaan, 0 jika perdesaan |
kode_kab | r101, r102 | Kode Kabupaten/kota , r101 × 100 + r102 ; 514 kabupaten/kota |
5.2 Penghitungan dari file individu (IND)
| Nama | Daftar kandidat tahun 2022 | Definisi |
|---|---|---|
n_age04 , n_age519 , n_age2064 , n_age65up | r407 | Anggota berusia 0–4, 5–19, 20–64, serta 65 tahun ke atas |
n_female | r405 | Anggota perempuan (kode 2) |
n_worker | r705 | Anggota dengan sektor pekerjaan utama yang tercatat (kolom tidak kosong) |
h_married , h_widowed | r404 | Anggota yang saat ini berstatus kawin (kode 2); anggota yang berstatus duda/janda (kode 4) |
h_neverschool , h_stillschool | r610 | Anggota yang tidak pernah bersekolah (kode 1); anggota yang masih bersekolah (kode 2). Hanya ditanyakan kepada anggota berusia 5 tahun ke atas. |
head_female | r403, r405 | 1 jika kepala rumah tangga (kode hubungan 1) berjenis kelamin perempuan |
hd_age | r403, r407 | Usia kepala rumah tangga |
hd_edu | r403, r614 | Ijazah 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. |
hhsize | expend, kapita | round(expend / kapita) , diperiksa terhadap r301 dan jumlah orang |
5.3 Konsumsi (BLOK43, BLOK42)
| Nama | Sumber | Definisi |
|---|---|---|
expend , kapita | BLOK43 | Pengeluaran rumah tangga bulanan dan nilainya per kapita, rupiah |
wert , weind | BLOK43 | Bobot rumah tangga dan bobot individu (= wert × hhsize ) |
povline | garis_kemiskinan_2022_2025.csv | Garis kemiskinan menurut tahun rumah tangga × provinsi × perkotaan/perdesaan, rupiah per kapita per bulan |
kwh | BLOK42, listrik | Listrik yang dibeli bulan lalu, kWh (kolom kuantitas) |
credit , package | BLOK42, pulsa telepon; paket internet | Pengeluaran bulan lalu, rupiah (kolom nilai) |
elec_kwh_pc , telecom_cons_pc | turunan | kwh / hhsize ; (credit + package) / hhsize |
5.4 Variabel hasil transformasi
| Nama | Definisi |
|---|---|
ln_hhsize , ln_hhsize_2 | ln( ukuran rumah tangga ) dan kuadratnya |
ln_h_luaslantai , ln_h_luaslantai_2 | ln( h_luaslantai + 0.1) dan kuadratnya |
ln_elec_kwh_pc , ln_elec_kwh_pc_2 | ln( elec_kwh_pc + 0.1) dan kuadratnya |
ln_telecom_cons_pc , ln_telecom_cons_pc_2 | ln( telecom_cons_pc + 0.1) dan kuadratnya |
h_epower2 , h_epower3 | 1 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_epower3 | ln_elec_kwh_pc × h_epower2 ; ln_elec_kwh_pc × h_epower3 |
h_asset_car , h_asset_computer , h_asset_land | 1 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

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
- Sampel estimasi: gabungan putaran training tahun 2022, 2023, dan 2024 — yaitu rumah tangga dengan
train == 1dalam file yang disusun pada langkah 2: 1.024.865 rumah tangga. Putaran tahun 2025 (train == 0, 343.460 rumah tangga) tidak digunakan dalam estimasi. - Prediksi: setiap model melakukan prediksi untuk setiap rumah tangga dalam file data, termasuk putaran tahun 2025. Di Stata,
predictsetelah perintah estimasi akan melakukan hal ini secara otomatis; jangan membatasinya hanya pada sampel estimasi. - dummy perkotaan:
urbanmasuk ke dalam setiap model sebagai regresor. - Fixed effects kabupaten/kota: setiap model memuat intersep terpisah untuk masing-masing dari 514 kabupaten/kota, yang dimasukkan sebagai variabel faktor
i.kode_kab(satu dummy per kabupaten/kota, dengan kabupaten pertama sebagai acuan). Komponen ini merupakan bagian dari model maupun hasil output yang ditampilkan. - Variabel faktor: variabel perumahan yang bersifat kategorikal (
h_house h_roof h_wall h_floor h_toilet h_closet h_sewage h_water h_light h_fuel h_epower) dimasukkan sebagai variabel faktor,i.dengan kode aslinya serta kode 99 yang telah dikodekan ulang sebagai kategori tersendiri. Semua variabel penjelas (regresor) lainnya dimasukkan sebagaimana adanya. - Output: biarkan Stata menampilkan output lengkap untuk setiap model, sebagaimana yang terjadi saat perintah estimasi tidak disembunyikan. Output referensi menampilkannya secara lengkap, termasuk koefisien kabupaten/kota .
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
- Estimator: ordinary least squares (
regressdi 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/kotai.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
- Estimator: ordered probit dengan metode maximum likelihood (
oprobitdi 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(predictdi 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· op10Buatlah 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 menggunakanxtile, 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

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
predictsetelahregress: log pengeluaran hasil estimasi Xh β̂ + efek kabupaten/kota + efek perkotaan, untuk setiap rumah tangga. Anda menyimpannya sebagaiyhat_pmt(model 1) danyhat_pars(model 2) pada langkah 2. Pengecekan: pada putaran test round),yhat_pmtmemiliki nilai rata-rata 14.387 dan simpangan baku 0.475. - Model ordered probit (3 dan 4). Setelah menjalankan
oprobit, penggunaanpredictdengan 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 perintahgeneratedengan tipe data double: `op_expected= 1·op1+ 2·op2+ 3·op3+ … + 10·op10(sertaops_expecteddariops1hinggaops10untuk model 4). Nilainya berkisar antara 1 hingga 10. Pemeriksaan: pada putaran test ,op_expectedmemiliki nilai rata-rata 6.153, simpangan baku 2.033, nilai minimum 1.057, dan nilai maksimum 10.000—sesuai dengan barissummarizepada 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.
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
weinddari 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
weinduntuk 2025 rumah tangga dengan desil prediksi ≤ 5 dandecilesebenarnya > 5. Model 1: W = 35.325.508.
Langkah 5 — kesalahannya
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.
| Langkah | Output yang ditampilkan | Jika milik Anda berbeda |
|---|---|---|
| 0 | Jumlah 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. |
| 1 | Pertama, 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 |
| 2 | Tabulasi 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. |
| 3 | Untuk 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.logdi 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

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
- Paket tugas: empat do file, output referensi (txt dan PDF), dan halaman ini zip
- Output referensi: log Stata keempat do file, empat model dan tabel inclusion error PDF
- Output referensi sebagai teks txt
- Paket data: empat putaran Susenas sintetis dalam format dBase zip · 323 MB
- Opsional: program Stata yang menghasilkan data sintetis zip · 29 MB
Dua file besar ada di halaman rilis repositori; yang lain ada di materials/stata.