Uploaded by bayuarsiadhiputra

komputasi-stata

advertisement
Pelatihan Komputasi dengan Stata
Benedict J. Yappy1
Departemen Ilmu Ekonomi
Universitas Indonesia
1
1
[email protected] – penyusun.‡
Pendahuluan
Dokumen ini adalah bahan yang digunakan dalam pelatihan penggunaan Stata
untuk melakukan analisis ekonometrika sederhana. Modul ini mencakup deskripsi
ringkas fungsi yang akan digunakan dalam software, perintah yang digunakan,
serta contoh hasil yang diperoleh (bilamana perlu). Dalam paragraf uraian, perintah/command Stata dapat dikenali dengan format ini, dengan ringkasan perintah
baru ditulis di sebelah kanan dan bagian perintah yang diubah sesuai penggunaan dicetak miring. Contoh output Stata dapat dikenali seperti startscreen Stata
berikut:
Bagi pengguna, perintah help berguna untuk melihat bagaimana suatu command digunakan, dan opsi perintah apa saja yang tersedia, terutama bila fungsi
yang ingin digunakan sudah diketahui. Caranya adalah mengetik help command
(yep, it includes help help!). Informasi lebih lengkap terkait perintah yang
diperkenalkan dalam modul dapat diakses dengan perintah ini.
Modul ini mencakup seluruh silabus pelatihan yang hendak disampaikan. Dengan kata lain, pembaca dapat menguasai materi yang disampaikan dalam pelatihan dengan membaca dan mereplikasi langkah yang ada dalam modul ini. Pembaca
dipersilahkan mengakses materi di http://benconomy.wordpress.com/tutoring,
tanpa mengubah isinya.
‡
Powered by LATEX 2ε with XƎLATEX using TEXstudio and Stata.
1
help
Daftar Isi
Daftar Isi
1 Pendahuluan
1
2 Manajemen Data
2.1 Penggunaan Stata . . . . . . . . . .
2.1.1 Bekerja dengan Stata . . . . .
2.1.2 Working Directory . . . . . .
2.1.3 Sumber Data . . . . . . . . .
2.1.4 Menyimpan Dataset, Perintah
2.2 Bekerja dengan Data . . . . . . . . .
2.2.1 Manajemen variabel . . . . .
2.2.2 Perintah generate . . . . . .
2.2.3 Perintah drop . . . . . . . . .
2.2.4 Struktur Data . . . . . . . . .
2.2.5 Bekerja dengan timevar . . .
2.2.6 Peubah untuk varlist . . .
2.2.7 Label . . . . . . . . . . . . .
2.2.8 Perintah encode dan recode
2.2.9 Perintah reshape . . . . . . .
2.2.10 Operator if, in dan by . . .
2.2.11 Perintah count dan list . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
4
4
4
4
5
5
6
7
7
7
8
8
9
10
11
11
14
14
3 Analisis Deskriptif
3.1 Statistik deskriptif . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2 Grafik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
15
16
4 Analisis Regresi OLS
4.1 Review . . . . . . . . . . . . . . .
4.1.1 Metode OLS . . . . . . .
4.1.2 Asumsi OLS . . . . . . .
4.1.3 Pengujian Hipotesis . . .
4.2 Regresi OLS dengan Stata . . . .
4.3 Penanganan Pelanggaran Asumsi
4.3.1 Heteroskedasitas . . . . .
4.3.2 Autokorelasi . . . . . . . .
4.3.3 Multikolinearitas . . . . .
4.4 Instrumental Variables . . . . . .
4.5 Specification Test . . . . . . . . .
4.6 Setelah estimasi… . . . . . . . . .
4.6.1 Perintah predict . . . . .
20
20
20
22
23
24
25
25
26
27
28
29
30
30
benconomy.wordpress.com
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
dan Output
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. . . .
. . . .
. . . .
. . . .
Stata
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
2
Daftar Isi
4.6.2
Perintah estimates . . . . . . . . . . . . . . . . . . . . . .
benconomy.wordpress.com
30
3
2
2
Manajemen Data
Manajemen Data
2.1
2.1.1
Penggunaan Stata
Bekerja dengan Stata
Stata adalah sebuah program statistik yang dapat dikatakan sangat lengkap dari
segi kemampuan fungsi statistik yang dapat ditanganinya, yang menjadikan Stata
salah satu program paling populer yang digunakan oleh peneliti-peneliti dari berbagai kalangan. Secara garis besar, cara bekerja dalam Stata adalah melalui command
line, di mana perintah diketikkan ke dalam panel command (dapat diaktifkan dengan shortcut Ctrl+1). Walau demikian, Stata memiliki cukup banyak dialog box
untuk banyak perintahnya, yang menambah fleksibilitas program Stata.
Bila berada dalam panel command, kita dapat scroll command-command sebelumnya dengan Page-up/down, untuk memudahkan mengulangi perintah yang
pernah dipanggil. Opsi untuk masing-masing perintah biasanya ditambahkan setelah tanda koma , (hanya ada satu tanda koma diperbolehkan untuk setiap perintah).
Selain panel Command, terdapat juga beberapa panel lain:
,
1. Results (Ctrl+2) yang melaporkan hasil dari perintah yang dijalankan.
2. Review (Ctrl+3) yang mendaftarkan perintah-perintah yang telah dijalankan
sebelumnya.
3. Variables (Ctrl+4) yang mendaftarkan variabel-variabel yang sedang ada dalam dataset/memory.
4. Properties (Ctrl+5) yang memberi keterangan tentang variabel yang dipilih.
2.1.2 Working Directory
Di sebelah kiri bawah tampilan window Stata, akan dituliskan working directory
Stata. Working directory adalah folder di mana Stata “bekerja”, yaitu tempat
di mana Stata akan menyimpan atau mengakses file secara default. Ada baiknya
working directory di set ke directory di mana dataset dan file lain terkait pekerjaan tersebut disimpan. Seperti di banyak program lain, untuk mengubah working
directory, ketikkan cd new_path ke dalam panel command. File yang ada dalam
working directory dapat langsung diakses menggunakan file_name (contohnya
dataset.dta), sedangkan yang berada di luar working directory hanya dapat diakses menggunakan file path lengkap (contohnya ”D:\Data\Dataset.dta”). Dengan
kata lain, memindahkan file-file yang digunakan dalam Stata ke dalam working
directory akan membantu untuk mengakses file-file tersebut nanntinya.
benconomy.wordpress.com
4
cd
2
Manajemen Data
Penggunaan nama file dalam Stata perlu menggunakan tanda petik ”. . .” untuk
nama file yang mengandung karakter spasi.
2.1.3
Sumber Data
Data yang akan dianalisis menggunakan Stata dapat berasal dari tiga sumber:
1. File database Stata yang telah disimpan sebelumnya, yang memiliki extension .dta. Cara membuka dapat dengan menggunakan command line use
file_name.dta dialog box (File > Open ; Ctrl+O).
2. Copy-paste dari program database lain, seperti Microsoft Excel. Pertama,
copy data dari program lain tersebut. Kembali di Stata, ketik edit di
panel Command untuk membuka data editor.. Data dapat langsung di-paste
(Ctrl+V) ke Stata. Untuk menampilkan dataset tanpa melakukan edit (dan
mencegah edit yang tidak disengaja), gunakan perintah browse.
use
edit
browse
Bila data yang di-copy termasuk nama varibel di baris pertama, pilih “Treat
first row as variable names”. Bila hanya data yang di-copy, pilih “Treat first
row as data” — Stata akan memberi nama untuk masing-masing variabel
(var1, var2, dst). Data yang di-copy dapat berupa data dengan banyak variabel sekaligus (multi-column) maupun satu per satu — variabel baru dapat
ditambahkan melalui copy-paste.
3. Membuka file database yang dibuat di program lain. Cara paling mudah
melakukan impor database adalah dengan menggunakan opsi di dalam File >
Import.
Selain menggunakan database yang telah ada seperti dalam ketiga sumber di
atas, Stata juga menyediakan file-file contoh database .dta yang siap digunakan
dalam setiap instalasi Stata. Untuk melihat daftar file tersebut, ketik sysuse dir
dalam panel command, dimana file yang ingin dibuka dapat digunakan dengan perintah sysuse file_name.
Stata juga dapat membuka file .dta di internet secara langsung dengan menggunakan perintah webuse URL.
2.1.4
sysuse
webuse
Menyimpan Dataset, Perintah dan Output Stata
Dataset Hasil data yang sudah diolah dengan Stata dapat disimpan dengan
perintah save file_name. Bila nama file dataset yang hendak disimpan sudah
ada, kita perlu menambahkan opsi replace ke dalam perintah (save file_name,
replace). Fungsi Save dan Save As seperti di program lain dapat diakses dengan
shortcut Ctrl+S dan Ctrl+Shift+S.
benconomy.wordpress.com
5
save
2
Manajemen Data
Perintah dan do-file “History” perintah-perintah yang dijalankan dalam satu
sesi Stata akan dimasukkan dalam panel Review. Kita dapat menyeleksi perintah
yang kita inginkan dari panel Review dan mengeditnya dalam do-file editor di
Stata.
Do-file adalah file text standar dengan extension .do (dapat dibuka/diedit dalam
text editor seperti Notepad). File .do ini menjadi daftar perintah yang dapat dijalankan atau diedit oleh Stata. Untuk menjalankan do-file yang sudah disimpan,
gunakan perintah do file_name untuk menjalankan do-file seperti biasa, dan perintah run file_name untuk menjalankan tanpa laporan dalam panel Results.
Untuk mengedit do-file yang telah disimpan sebelumnya, gunakan perintah doedit
file_name.
Menyimpan daftar perintah yang dijalankan oleh Stata sangat penting untuk
memastikan bahwa perintah yang diberikan tercatat, sehinnga dapat dipertanggungjawabkan dan direplikasi. Penyimpanan daftar perintah tersebut dengan mudah dilakukan dengan do-file Stata. Selain itu, eksekusi do maupun run akan
berhenti bila terdapat kesalahan dalam data/command, sehingga sangat berguna
untuk melakukan hal-hal yang sifatnya berulang.
Output (Results) dalam panel Results dapat disimpan dengan memulai log-file
.smcl. Detail perintah untuk manajemen log-file sebagai berikut:
• log using file_name: Menyimpan log ke dalam file dengan menggunakan
file_name.smcl. Log ini dapat dibuka oleh Stata.
• log off: Menghentikan penyimpanan log secara sementara.
• log on: Melanjutkan kembali penyimpanan log yang sudah di off sebelumnya.
• log close: Menyelesaikan penyimpanan log.
Selain dengan menyimpan log, output stata dapat dicopy-paste ke program lain.
Untuk meng-copy, highlight area output yang akan di-copy, dan klik kanan. Copy
biasa (Ctrl+C) akan menghasilkan teks, copy as table akan menghasilkan tabel
dengan karakter tabulator (untuk program spreadsheet seperti Excel), dan copy
picture menghasilkan gambar dan mempertahankan tampilan dalam Stata.
2.2
Bekerja dengan Data
Sebagai program statistik, Stata memiliki kemampuan operasi variabel yang cukup
luas dan menyeluruh. Pada bagian ini diuraikan bagaimana cara bekerja dengan
variabel yang paling umum dipakai. Opsi yang tersedia di Stata lebih luas dari
benconomy.wordpress.com
6
do | run
doedit
log
2
Manajemen Data
uraian dalam modul ini, sehingga dianjurkan untuk melihat help untuk masingmasing perintah.
2.2.1
Manajemen variabel
Jenis Variabel Pada dasarnya terdapat dua jenis variabel di Stata, yaitu string
(dapat bernilai huruf) dan variabel numerik. Data string tidak dapat digunakan
dalam perintah perhitungan/statistik dalam Stata. Terdapat beberapa jenis variabel numerik.* Untuk mengubah format penyimpanan variabel, gunakan perintah
recast type varlist dimana type adalah tipe variabel. Variabel string tidak dapat diubah menjadi angka. Untuk melihat daftar dan jenis variabel dalam dataset
yang dibuka, gunakan perintah describe.
Order Urutan variabel yang ada dalam Stata dapat diubah dengan menggunakan
perintah order varlist, di mana variabel varlist tersebut akan dipindahkan menjadi variabel pertama. Tambahkan opsi last untuk memindahkan ke variabel terakhir; before(varname) dan after(varname) untuk memindahkan sebelum atau
setelah varname.
2.2.2
describe
order
Perintah generate
Seperti namanya, perintah generate varname=expression berguna untuk menciptakan variabel baru. Expression yang dimaksud dapat berupa operasi hitung, variabel lain ataupun pembuatan angka random oleh Stata. Operasi yang didukung
dapat dilihat dalam menu help functions. Beberapa ekspresi yang umum digunakan yaitu +, -, /, *, exp() dan log(). Bila variabel yang diciptakan digunakan
untuk menggantikan (overwrite) variabel yang sudah ada, maka perintah replace
dapat digunakan untuk menggantikan generate.
Selain perintah generate, Stata juga memiliki perintah egen. Perintah egen
dapat melakukan semua operasi yang dapat dilakukan oleh generate, ditambah
beberapa fungsi lainnya, seperti mengisi dengan pola, statistik variabel, dan lainnya
(lihat di help egen).
2.2.3
recast
generate
replace
egen
Perintah drop
Perintah drop varlist berguna untuk membuang variabel-variabel (varlist) yang
diinginkan. ‘Lawan’ dari perintah drop adalah keep varlist, di mana variabelvariabel lain selain varlist akan dibuang.
*
Perbedaan jenis variabel dapat mempengaruhi derajat keakurasian, namun berguna untuk
menghemat tempat penyimpanan dan waktu kalkulasi (dibahas dalam help data_type).
benconomy.wordpress.com
7
drop
keep
2
2.2.4
Manajemen Data
Struktur Data
Terdapat tiga jenis cara penanganan dataset (umum) oleh Stata:
1. Cross section. Struktur data ini adalah struktur data yang dasar di Stata.
Tidak ada unsur waktu dalam variabel ini. Untuk kembali ke struktur data
Cross Section, setting tsset atau xtreg perlu di-clear dengan menambahkan
opsi clear ke perintah tsset atau xtset.
2. Time Series. Struktur data time series mengikuti satu sampel dalam beberapa periode waktu. Untuk menyatakan struktur data sebagai time series, digunakan perintah tsset timevar, unitoptions. timevar di Stata
bernilai 0 untuk (awal) tahun 1960, dan dihitung ke depan atau belakang
sebesar unitoptions (clocktime, daily, weekly, monthly, quarterly, halfyearly,
yearly, generic). Bila perubahan tidak berjalan sebesar 1 unit, tambahkan
opsi delta(#).
3. Panel. Struktur data panel mengikuti lebih dari satu sampel selama lebih dari
satu periode. Untuk menyatakan data sebagai data panel, gunakan perintah
xtset panelvar timevar, unitoptions. Panelvar adalah ID untuk masingmasing unit sampel yang diobservasi.
2.2.5
Bekerja dengan timevar
Seperti yang ditulis di atas, timevar yang digunakan untuk identifikasi waktu harus
berada dalam format numerik, dengan spesifikasi SIF (Stata internal form) berupa
berapa unit setelah (sebelum) tahun 1 Januari 1960 00:00.00. Format ini tidak
selalu mudah untuk diperoleh, karena data yang diperoleh berada dalam format
HRF (human readable form). Untuk mengubahnya ke dalam format SIF yang
dapat di-tsset, kita dapat menggunakan perhitungan manual untuk selisih dari
awal tahun 1960 tersebut, namun cara ini dapat dikatakan tidak praktis. Stata
menyediakan konversi antar SIF dan HRF sebagai berikut.
1. Pastikan variabel waktu HRF (tiwevar_str) telah memiliki format penamaan dan frekuensi yang konsisten. Contohnya, untuk data kuartal, data
harus konsisten suati format (seperti 1960Q1, 1960Q2 dst dan tidak berubah
menjadi 1970M3, 1970M6 dst).
2. Pelajari format data waktu untuk membentuk mask yang akan dikenali Stata.
Stata akan menggunakan tanda baca (. , - ␣) untuk memisahkan antar komponen waktu, Stata tidak mengenali elemen lain selain waktu (unsur tersebut tidak diikutkan dalam mask dengan karakter #. Beberapa contoh untuk
tanggal 16 Oktober 1992:
benconomy.wordpress.com
8
tsset
xtset
2
Manajemen Data
• Oct 16, 1992 akan memiliki mask MDY
• Friday, Oct 16, 1992 akan memiliki mask #MDY
• 16 Oct 1992 akan memiliki mask DMY
• 161092 akan memiliki mask DM19Y (19Y untuk 2 digit pertama angka
tahun, untuk format tahun 2 digit)
• 1992W42 akan memiliki mask YW (mingguan)
• 1992M10 akan memiliki mask YM (bulanan)
• 1992Q3 akan memiliki mask YQ (kuartalan)
• 1992S2 akan memiliki mask YH (semesteran)
3. Ciptakan variabel baru timevar untuk konversi ke dalam bentuk SIF. Format
perintahnya adalah generate timevar = function(timevar_str,mask).
Variabel baru timevar sudah dapat digunakan untuk tsset. Supaya variabel waktu tersebut tampil dalam format yang dapat dibaca, perlu dilakukan
format dengan perintah format timevar %fmt. Aplikasinya:
generate timevar = date(timevar_str, "DMY"), format timevar %td
dan tsset timevar, daily) untuk data harian
generate timevar = weekly(timevar_str, "YW"), format timevar %tw
dan tsset timevar, weekly) untuk data mingguan
generate timevar = monthly(timevar_str, "YM"), format timevar %tm
dan tsset timevar, monthly) untuk data bulanan
generate timevar = quarterly(timevar_str, "YQ"), format timevar
%tq dan tsset timevar, quarterly) untuk data kuartalan
generate timevar = halfyearly(timevar_str, "YH"), format timevar
%th dan tsset timevar, halfyearly) untuk data semesteran
2.2.6
Peubah untuk varlist
Wildcards Sebagian besar perintah Stata lainnya juga dapat menggunakan wildcard untuk varlist. Beberapa wildcard tersebut:
• * — digunakan sebagai substitusi satu atau lebih karakter. Contohnya, Ind*
akan masuk untuk Indonesia dan India; *Inc akan masuk untuk Stata Inc
dan Microsoft Inc.
• ? — digunakan untuk substitusi satu karakter. Contohnya, p?p? akan masuk
untuk papa maupun popo.
benconomy.wordpress.com
9
format
2
Manajemen Data
• ̃ — digunakan sebagai substitusi di tengah. Contohnya, pan~an akan masuk
untuk panduan dan panutan.
• _all — digunakan sebagai substitusi untuk semua variabel.
Operator Terdapat dua jenis operator dalam operasi variabel Stata, yaitu operator jenis data dan operator waktu (kedua jenis operator ini dapat dikombinasikan).
Operator-operator ini ditambahkan dengan tanda titik sebelum nama variabel (contohnya, Li.varname). Berikut adalah uraian operator tersebut.
• i — Operator ini menyatakan bahwa variabel diperlakukan sebagai variabel
faktor/kualitatif. Penggunaan operator ini memudahkan pekerjaan, karena
tidak perlu lagi menciptatkan dummy untuk variabel-variabel kualitatif.
• c — Operator ini menyatakan bahwa variabel diperlakukan sebagai variabel
continuous, yaitu berisi nilai.
• # — Operator ini adalah perintah untuk membuat interaksi antar variabel.
Contohnya, var1#var2.
• L — Operator ini berguna untuk mengambil mengambil nilai sebelumnya
(lag) dari variabel. Lag dapat dispesifikasikan dengan angka (L3) ataupun
kombinasi huruf (LLL).
• F — Operator ini berguna untuk mengambil mengambil nilai berikutnya
(forward) dari variabel. Forward dapat dispesifikasikan dengan angka (F3)
ataupun kombinasi huruf (FFF).
• D — Operator ini berguna untuk perubahan nilai (difference) dari variabel.
Difference orde lebih tinggi dapat dispesifikasikan dengan angka (D2) ataupun
kombinasi huruf (DD).
2.2.7
Label
Label dalam Stata berguna untuk membantu pengguna. Contohnya, nama variabel dalam Stata tidak dapat mengandung karakter spasi. Berikut ini dibahas
penggunaan label yang ada dalam stata.
label data "label" memberikan keterangan label untuk keseluruhan dataset.
label variable varname "label" memberikan keterangan label untuk suatu
variabel, yang muncul dalam panel variabel maupun perintah describe.
label define labelname # "label" mendefinisikan sebuah label untuk memberi
label keterangan untuk masing-masing nilai angka (#), yang dapat digunakan untuk variabel numerik. Fitur ini berguna terutama untuk variabel kualitatif. Satu
benconomy.wordpress.com
10
label
2
Manajemen Data
angka # mendapat satu label, sehingga ulangi bagian # "label" untuk masingmasing label dalam sate set labelname.
Tambahkan salah satu dari opsi add (hanya menambah label baru), modify (mengubah label yang sudah ada), dan replace (mendefinisikan ulang labelname) bila
labelname sudah ada sebelumnya.
label values varlist "labelname" meng-assign sate set value label (labelname)
yang sudah ada (di-define)ke suatu variabel (varlist).
label dir memperlihatkan daftar value label yang ada.
label list varname memperlihatkan daftar value label beserta nilai-nilai dan
label keterangan masing-masing.
2.2.8
Perintah encode dan recode
Stata tidak dapat melakukan perhitungan statistik untuk variabel dengan format
string, sehingga variabel kualitatif (seperti nama negara) perlu dikonversi menjadi numerik (diberi nomor ID). Untuk melakukannya, terdapat command encode
varname, generate newvar. Selain menciptakan angka-angka untuk masingmasing string, perintah encode juga membuat dan meng-assign value label dengan
labelname yang sama dengan newvar. Untuk mengubah angka yang sudah ada,
digunakan perintah recode varname, generate newvar . Ilustrasi dari perintahperintah tersebut adalah sebagai berikut:
negara_str
Data teks
Indonesia
China
Jepang
Korea
Inggris
Jerman
Prancis
Amerika Serikat
encode
negara_num
No Label
1 Indonesia
2 China
3 Jepang
4 Korea
5 Inggris
6 Jerman
7 Prancis
8 Amerika Serikat
recode
No
1
1
1
1
2
2
2
3
benua
Label
Asia
Asia
Asia
Asia
Eropa
Eropa
Eropa
Amerika
Untuk transformasi di atas, kedua perintah yang digunakan adalah:
encode negara_str, generate(negara_num)
recode negara_num (1 2 3 4 = 1 "Asia") (5/7 = 2 "Eropa")
(8 = 3 "Amerika"), generate (benua)
2.2.9
Perintah reshape
Dataset yang diperoleh untuk analisis dapat berbentuk “long” ataupun “wide”.
Untuk mengilustrasikannya, berikut adalah beberapa bentuk yang berbeda untuk
dataset yang sama.
benconomy.wordpress.com
11
encode
recode
country
variable
data97
data98
China
gdp
7.9e+12 8.4e+12
China
investment 2.6e+12 2.9e+12
China
savings
3.3e+12 3.4e+12
Indonesia
gdp
6.3e+14 9.6e+14
Indonesia investment 1.8e+14 2.4e+14
Indonesia
savings
1.8e+14 2.1e+14
UK
gdp
8.4e+11 8.8e+11
UK
investment 1.4e+11 1.6e+11
UK
savings
1.4e+11 1.5e+11
Country, variable (long), time (wide)
country time
gdp
investment savings
China
1997 7.9e+12
2.6e+12
3.3e+12
China
1998 8.4e+12
2.9e+12
3.4e+12
China
1999 9.0e+12
3.1e+12
3.4e+12
Indonesia 1997 6.3e+14
1.8e+14
1.8e+14
Indonesia 1998 9.6e+14
2.4e+14
2.1e+14
Indonesia 1999 1.1e+15
2.2e+14
1.5e+14
UK
1997 8.4e+11
1.4e+11
1.4e+11
UK
1998 8.8e+11
1.6e+11
1.5e+11
UK
1999 9.3e+11
1.6e+11
1.4e+11
Country, time (long), variable (wide)
country time
variable
data
China
1997
gdp
7.90E+12
China
1997 investment 2.60E+12
China
1997
savings
3.30E+12
China
1998
gdp
8.40E+12
China
1998 investment 2.90E+12
China
1998
savings
3.40E+12
China
1999
gdp
9.00E+12
China
1999 investment 3.10E+12
China
1999
savings
3.40E+12
Indonesia 1997
gdp
6.30E+14
Indonesia 1997 investment 1.80E+14
Indonesia 1997
savings
1.80E+14
Indonesia 1998
gdp
9.60E+14
Indonesia 1998 investment 2.40E+14
Indonesia 1998
savings
2.10E+14
Indonesia 1999
gdp
1.10E+15
Indonesia 1999 investment 2.20E+14
Indonesia 1999
savings
1.50E+14
UK
1997
gdp
8.40E+11
UK
1997 investment 1.40E+11
UK
1997
savings
1.40E+11
UK
1998
gdp
8.80E+11
UK
1998 investment 1.60E+11
UK
1998
savings
1.50E+11
UK
1999
gdp
9.30E+11
UK
1999 investment 1.60E+11
UK
1999
savings
1.40E+11
Country, time, variable (long)
Manajemen Data
data99
9.0e+12
3.1e+12
3.4e+12
1.1e+15
2.2e+14
1.5e+14
9.3e+11
1.6e+11
1.4e+11
2
Untuk melakukan konversi antar ketiga bentuk tersebut, digunakan perintah
benconomy.wordpress.com
12
2
Manajemen Data
reshape. Sebelumnya, beberapa hal perlu diketahui terlebih dahulu. Pertama, dimensi sekarang dari dataset (apakah wide atau long). Kedua bagaimana dataset
akan dibentuk (dimensi wide dan long yang diinginkan). Ketiga, memastikan
bahwa dataset memenuhi syarat untuk dilakukan reshape: (1) Terdapat stubnames
yang menghubungkan data-data wide j, yang dalam contoh di atas adalah awalan
data (data97, data98, dst). (2) Tidak terdapat lebih dari satu nilai untuk satu
kolom xij . Sintaks dan penjelasan perintah reshape adalah sebagai berikut:
reshape wide|long stubname, i(i_var) j(j_var) string
• wide|long — Bentuk yang dituju setelah melakukan perintah, apakah wide
atau long. Perlu diketahui bahwa dapat dilakukan beberapa perintah reshape,
untuk menyesuaikan dengan struktur data.
Dalam contoh tadi, reshape wide dapat dilakukan sekali lagi untuk membuat
country, variable dan/atau time semuanya sebagai variabel wide (j).
• stubnames — Nama variabel (untuk reshape long) atau bagian umum dari
nama variabel (reshape wide). Penambahan memberikan informasi di mana
nama variabel baru ditempatkan.
Contoh dalam dataset tadi, (data) dapat digunakan untuk data97, data 98
dst. Reshape tidak dapat digunakan tanpa stubnames, contohnya untuk variabel gdp, investment dst (rename menjadi datagdp, datainvestment).
• i(i_var) — Variabel-variabel yang berada dalam bentuk long, yang mengidentifikasikan observasi secara unik.
• j(j_var) — Variabel lama yang akan di-expand (reshape wide), atau variabel
baru yang akan diciptakan sebagai identifier (reshape long).
Berikut opsi j untuk contoh tadi. Untuk reshape long, berikan nama variabel
baru (country, time, atau variable). Untuk reshape wide, berikan nama variabel
lama yang akan di expand (country, time, atau variable).
• string — Tambahkan opsi string bila j_var berisi huruf.
Dalam contoh tadi, tambahkan opsi string bila j_var adalah country atau
variable yang adalah data string. Jangan tambahkan opsi string bila j_var
adalah time yang adalah data numerik. Perhatikan, untuk reshape wide, isi
variabel yang akan dikonversi menjadi long adalah karakter huruf atau _
(tidak boleh mengandung karakter non-huruf seperti spasi dan titik).
Perubahan dataset oleh perintah reshape dapat di “undo”: Setelah reshape long,
perintah reshape wide (tanpa argumen/opsi) akan mengembalikan dataset seperti
sebelum reshape long tadi dilakukan; demikian juga sebaliknya. Periksa kembali
dataset setelah reshape untuk memastikan dataset seperti yang diinginkan, sebelum
melakukan kalkulasi statistik atau save dataset.
benconomy.wordpress.com
13
reshape
2
2.2.10
Manajemen Data
Operator if, in dan by
Akhiran if expression berguna untuk membuat Stata melakukan perintah
hanya pada observasi yang memenuhi kriteria (expression) yang dibuat dalam if.
Berbagai operator dapat digunakan untuk expression, seperti >, >=, <, <= dan
== (gunakan dua (bukan satu!) tanda sama dengan). if dapat digunakan pada
sebagian besar perintah Stata. Tambahkan if expression pada akhir perintah yang
diinginkan.
if
Akhiran in obsno — Berguna untuk membuant Stata melakukan perintah hanya
pada nomor observasi yang dispesifikasikan (obsno). Nomor observasi 1 2 3 4 juga
dapat dinyatakan dengan 1/4 dan 1 2/4. in dapat digunakan pada sebagian besar
perintah Stata. Tambahkan in obsno pada akhir perintah yang diinginkan.
if
Awalan by (varlist): — Berguna untuk membuat Stata melakukan perintah secara berkelompok (berulang) dengan variabel dalam varlist. by memerlukan
dataset untuk diurutkan (sort) sesuai dengan varlist (sort varlist). Tambahkan
by(varlist): sebelum mengetikkan perintah yang diinginkan.
Awalan bysort digunakan dengan cara yang sama dengan awalan by. Perbedaannya, bysort termasuk perintah sort, sehingga dataset akan diurutkan sesuai
dengan varlist terlebih dahulu.
by
2.2.11
sort
bysort
Perintah count dan list
Perintah count berguna untuk menghitung dan menampilkan jumlah observasi
yang memenuhi kriteria. Kriteria yang dimaksud dapat dispesifikasikan dengan
operator if, in ataupun by. Eksekusi count sangat cepat dibandingkan dengan perintah statistik lainnya, sehingga perintah ini biasanya digunakan untuk mengecek
suatu dataset (terutama dengan menggunakan do-file).
Perintah list varlist berguna untuk menampilkan nama variabel dalam varlist
dan nilai-nilainya. Perintah list sering digunakan dengan operator if, in atau by.Sama
seperti count, eksekusi perintah list sangat cepat dan biasanya digunakan untuk
mengecek suatu dataset. Di samping itu, penggunaan list biasanya dapat mendeteksi kesalahan data secara lebih mudah dibandingkan edit ataupun browse.
benconomy.wordpress.com
14
count
list
3
3
3.1
Analisis Deskriptif
Analisis Deskriptif
Statistik deskriptif
Tabel statistik deskriptif membantu menampilkan isi dari variabel secara ringkas
dengan berbagai statistik. Semua tabel statistik berikut dapat digunakan dengan
opsi if, in maupun by.
Perintah summarize varlist berguna untuk menampilkan statistik deskriptif
seperti mean (rata-rata), median, dan data terkecil (min) dan terbesar (max) untuk
suatu variabel secara keseluruhan. Bila tidak terdapat varlist, perintah ini akan
menampilkan statistik deskriptif untuk seluruh variabel. Tambahkan opsi detail
untuk mendapatkan statistik deskriptif yang lebih detail.
Perintah tabulate varname1 varname2 berguna untuk membuat tabulasi (perhitungan seberapa banyak suatu variabel muncul) dalam satu atau lebih variabel.
Bila hanya satu variabel yang ditabulasi, maka cukup menggunakan varname1.
Tambahkan varname2 bila menggunakan tabulasi dua variabel. Beberapa opsi yang
tersedia untuk tabulasi dua variabel adalah column, row dan cell yang membuat
tabulasi menampilkan frekuensi relatif (persentasi) dari nilai suatu nilai dibandingkan masing-masing keseluruhan kolom, baris dan total.
Perintah table “menggabungkan” kekuatan dari summarize dan tabulate, di
mana tabulasi (maksimal 4) statistik deskriptif dapat ditampilkan untuk dua atau
lebih variabel. Sintaks perintah table adalah sebagai berikut:
table varname(s), contents(clist)
varnames adalah variabel-variabel yang akan ditabulasi. Variabel pertama akan
menjadi variabel yang ditampilkan sebagai baris (i); sedangkan variabel kedua
menjadi variabel kolom j. Variabel ketiga dan seterusnya akan menjadi superkolom (kolom dalam kolom).
clist adalah jenis statistik yang akan ditampilkan untuk masing-masing nilai.
clist dapat menampilkan freq (frekuensi) ataupun statistik lainnya: mean, sd,
max, min, median, sum (spesifikasikan variabel yang hendak dideskripsikan
setelah opsi ini).
by(varlist) Penambahan opsi ini akan membuat super-row (baris dalam baris)
dengan variabel varlist (maksimum 4 level).
benconomy.wordpress.com
15
summarize
tabulate
table
3
3.2
Analisis Deskriptif
Grafik
Stata memiliki kemampuan grafis yang cukup komprehensif. Selain melalui perintah, menu untuk grafik tersedia dalam menu Graphics dengan dialog box yang
cukup membantu proses pembuatan grafik yang diinginkan. Untuk memudahkan,
perintah grafik akan diperkenalkan menggunakan contoh.
Perintah histogram varname berguna untuk membuat diagram batang. Tambahkan opsi normal untuk menambahkan grafik distribusi normal. Contoh perintah yang dapat dijalankan:
sysuse citytemp
histogram tempjuly
histogram tempjuly, normal
Dalam kedua contoh tersebut, Stata akan menampilkan jumlah dan lebar diagram
batang secara otomatis. Untuk mengubah jumlah tersebut, gunakan opsi bin(#)
dan width(arg1#). Untuk diagram batang tampilan jumlah frekuensi dan persentase, tambahkan opsi frequency dan percentage. Bila ingin menggunakan satu
diagram batang untuk setiap nilai, tambahkan opsi discrete.
Perintah twoway (plot) berguna untuk membuat grafik antar variabel. Bila
lebih dari satu plot, tanda kurung () untuk menandai masing-masing plot. Elemen
definisi (plot) adalah sebagai berikut:
jenis plot — Dua pilihan yang sering digunakan adalah scatter, dan line. Selain
plot data langsung, dapat juga ditambahkan plot trend/regresi, yaitu lfit
(linear fit) qfit (quadratic fit). Pilihan lfitci dan qfitci menampilkan
confidence interval yang dapat diset dengan tambahan opsi grafis level(#).
Perlu diperhatikan bahwa jenis plot tertentu dapat memiliki sintaks yang
berbeda dengan yang dibahas di sini (contohnya rarea).
varlist y — Dapat terdapat lebih dari satu variabel y untuk satu definisi plot (diplot
masing-masing).
varname x — Hanya terdapat satu variabel x untuk satu definisi plot.
opsi — Plot dapat menggunakan beberapa skala y maupun x, yang dispesifikasikan
dengan yaxis(#) dan xaxis(#). Terdapat banyak opsi lain yang tergantung
pada jenis plot. Contohnya, kita dapat menspesifikasikan jenis marker untuk
scatter (lihat help marker_options) dan garis (lihat help line_options)
untuk line.
Perintah histogram dan twoway yang diperkenalkan di atas adalah “singkatan”
dari perintah graph Stata, di mana sintaks lengkap adalah graph twoway. Khusus
scatter dan line, sintaks twoway dapat dihilangkan (contohnya, line varname).
benconomy.wordpress.com
16
histogram
twoway
3
Analisis Deskriptif
0
5,000
Price
10,000
15,000
Hasil dari perintah grafik Stata dapat disimpan ke dalam file grafis untuk digunakan dalam program lainnya. Perintah untuk mengekspor grafik yang sedang
terbuka tersebut adalah graph export filename.ext. .ext diperlukan untuk
menspesifikasikan tipe file yang diekspor, seperti .pdf, .wmf, .eps dan .png.
Berikut adalah beberapa contoh perintah penggunaan grafik twoway dengan
menggunakan dataset bawaan Stata.
sysuse auto
twoway scatter price mpg
10
20
30
40
Mileage (mpg)
0
5,000
10,000
15,000
twoway (scatter price mpg) (lfit price mpg)
10
20
30
40
Mileage (mpg)
Price
benconomy.wordpress.com
Fitted values
17
3
Analisis Deskriptif
0
10
5,000
Mileage (mpg)
20
30
10,000
Price
40
15,000
twoway (scatter mpg weight) (scatter price weight, yaxis(2))
2,000
3,000
Weight (lbs.)
Mileage (mpg)
4,000
5,000
Price
1000
1100
Closing price
1200
1300
1400
sysuse sp500
twoway line close date
01jan2001
01apr2001
01jul2001
Date
01oct2001
01jan2002
01oct2001
01jan2002
1000
Closing price
1100
1200
1300
1400
twoway line close date, yscale(log)
01jan2001
benconomy.wordpress.com
01apr2001
01jul2001
Date
18
3
Analisis Deskriptif
1280
10,000
15,000
Volume (thousands)
Opening price/Closing price
1320
1340
1360
1300
20,000
1380
twoway (rarea open close date in 1/30) (connected volume date in
1/60,yaxis (2))
01jan2001
01feb2001
01mar2001
01apr2001
Date
Opening price/Closing price
Volume (thousands)
1000
1100
1200
1300
1400
twoway (qfitci close date, level(90)) (line close date)
15000
15100
15200
Date
90% CI
Closing price
15300
15400
Fitted values
0
.05
Density
.1
.15
sysuse citytemp
histogram tempjuly, normal
60
benconomy.wordpress.com
70
80
Average July temperature
90
100
19
4 Analisis Regresi OLS
4
Analisis Regresi OLS
4.1
4.1.1
Review
Metode OLS
Metode regresi OLS (Ordinary Least Squares) adalah salah satu pendekatan untuk
melakukan estimasi parameter yang menentukan nilai variabel independen. OLS
termasuk keluarga estimasi “method of moments”, di mana salah satu ‘momen’ dari
sampel digunakan untuk mengestimasi parameter populasi. Metode regresi dimulai
dari mengspesifikasikan fungsi regresi populasi;
yi = β0 + β1 xi + εi
(1)
E(ε) = E (y − β0 − β1 x) = 0
(2)
dengan asumsi
dan asumsi yang mengikutinya;
Cov(x, ε) = E(xε) = E [x (y − β0 − β1 x)] = 0
(3)
Dalam pendekatan method of moments, kita menggunakan nilai (rata-rata)
sampel untuk mengestimasi nilai populasi, sehingga persamaan (2) dan (3) menjadi:
n
−1
n
∑
(yi − β0 − β1 xi ) = 0
(4)
[xi (yi − β0 − β1 xi )] = 0
(5)
i=1
dan
n
−1
n
∑
i=1
∑
Dengan menggunakan sifat operator
dan memindahkan ruas, persamaan (4)
dapat ditulis ulang menjadi:
β̂0 = ȳ − β̂1 x̄
(6)
Dengan memindahkan (6) ke persamaan (5) dan menghilangkan n−1 yang tidak
mempengaruhi hasilnya, kita dapat memperoleh:
n
−1
n [
)]
(
(
)
∑
xi yi − ȳ − β̂1 x̄ + β1 xi = 0
(7)
i=1
Atur ulang persamaan tersebut, kita memperoleh:
n
∑
i=1
benconomy.wordpress.com
xi (yi − ȳ) = β̂1
n
∑
xi (xi − x̄)
i=1
20
4 Analisis Regresi OLS
Dengan menyusun ulang† ;
n
∑
β̂1 =
i=1
n
∑
n
∑
xi (yi − ȳ)
=
xi (xi − x̄)
i=1
i=1
(xi − x̄) (yi − ȳ)
n
∑
=
(xi − x̄)
2
Cov(x, y)
Var(x)
(8)
i=1
Dalam kasus multivariabel, maka lebih dari satu variabel independen masuk
dalam persamaan (1):
yi = β0 + β1 x1i + β2 x2i + · · · + βj xji + εi
Persamaan di atas dapat ditulis dalam bentuk matriks:
  
  
y1
β0 (1) β1 x11 β2 x12 . . . βj x1j
ε1
 y2  β0 (1) β1 x21 β2 x22 . . . βj x2j   ε2 
  
  
+ . 
 ..  =  ..
..
..
.
.
..
.. 
.  .
  .. 
.
.
yn
β0 (1) β1 xn1 β2 xn2 . . . βj xnj
εn
(9)
y = Xβ + ε
Vektor parameter β yang diestimasi adalah vektor yang akan meminimumkan
jumlah kuadrat error ε′ ε. Berikut vektor vektor parameter sampel b yang meminimumkan error kuadrat sampel e′ e:
Min e′ e = (y − Xb)′ (y − Xb)
= y′ y − b′ X′ y − y′ Xb + b′ X′ Xb
= y′ y − 2y′ Xb + b′ X′ Xb
(10)
Keadaan yang meminimumkan error‡ adalah:
∂e′ e
= −2X′ y + 2X′ Xb = 0
∂b
2X′ y = 2X′ Xb
−1
b = (X′ X) (X′ y)
(11)
†
Penurunan yang diuraikan di sini mengikuti method of moments.
Penurunan yang diuraikan di sini mengikuti metode Least Squares, yang identik dengan
estimator method of moments (dan juga maximum likelihood)
‡
benconomy.wordpress.com
21
4 Analisis Regresi OLS
4.1.2
Asumsi OLS
Dalam regresi, parameter estimasi perlu memenuhi kriteria yang sering disingkat
BLUE, yaitu Best (parameter estimasi meminimumkan varians (kuadrat) error),
Linear (persamaan yang diestimasi bersifat linear), Unbiased (parameter estimasi
tidak bias) dan Estimator (parameter adalah estimator yang baik untuk parameter
populasi). Estimator yang tidak bias dan konsisten berarti parameter sesuai dengan
parameter populasi dan semakin dekat dengan parameter populasi ketika sampel
ditambah (plim β̂ = β)
Berikut rangkuman definisi yang lebih formal dari asumsi OLS:
OLS 1 Parameter bersifat linear. yi = β0 + β1 x1 + · · · + βj xj
Dengan kata lain, parameter model populasi tidak dapat bersifat
bersifat non-linear, seperti xβ1 1 atau β1 x1 β2 x2 .
OLS 2 Random Sampling
Data yang diambil adalah sampel yang diambil secara random dari
populasi yang hendak dipelajari.
OLS 3 Corr(x1 , x2 , . . . , xj ) ̸= ±1
Tidak adanya multikolinearitas sempurna antara variabel independen.
OLS 4 Variasi dalam sampel.
Nilai sampel tidak konstan (hanya satu nilai) untuk satu variabel.
Asumsi ini adalah implikasi asumsi sebelumnya.
OLS 5 E(ε|x) = 0 (zero conditional mean)
Nilai error yang diekspektasikan bernilai 0 untuk semua nilai x.
Implikasinya adalah (1) korelasi x dan ε adalah 0 dan (2) E(y|x) =
ŷ. Asumsi ini adalah dasar pendekatan method of moments yang
digunakan dalam persamaan (2) dan (3).
OLS 6 Corr(εi , εj ) = 0
Tidak ada korelasi antar error dalam seluruh sampel.
OLS 7 Var(εi ) = σ 2
Varians error tidak berubah/konstan untuk semua nilai xj .
benconomy.wordpress.com
22
4 Analisis Regresi OLS
Data/model yang tidak memenuhi asumsi tersebut akan mengakibatkan parameter yang diestimasi tidak memenuhi kriteria BLUE. Karena itu, dibutuhkan
(1) teknik deteksi pelanggaran asumsi tersebut untuk mengetahui adanya estimasi
yang tidak konsisten dan (2) teknik estimasi yang mampu mengkoreksi pelanggaran yang terjadi untuk menghasilkan estimasi yang tetap konsisten dan efisien.
Teknik-teknik lain yang menggunakan metode least square ada untuk mengatasi
adanya pelanggaran asumsi OLS tersebut.
4.1.3
Pengujian Hipotesis
Sebagai bagian dari teknik statistik, ekonometrika tidak lepas dari pengujian hipotesis. Pengujian statistik selalu menyajikan dua hipotesis yang bersifat eksklusif dan
lengkap:
H0 : a
H1 : ∼ a
Pada umumnya, peneliti “ingin” menolak H0 . Perhitungan yang dilakukan akan
menghasilkan suatu ukuran tes (test statistic), seperti nilai z atau t. Statistik ini
digunakan untuk melihat apakah peneliti akan menolak H0 (menerima H1 ) atau
gagal menolak (menerima) H0 . Dalam pengujian statistik yang melibatkan proses
inference, selalu terdapat dua kemungkinan kesalahan:
Type 1 error Menolak H0 ketika H0 benar (disebut juga false positive).
Contohnya: (1) Mendiagnosa orang sehat mengalami infeksi; (2) Membuang
produk yang sebenarnya memenuhi standar kualitas.
Type 2 error Menerima H0 ketika H0 tidak benar (disebut juga false negative).
Contohnya: (1) Mendiagnosa orang sakit tidak mengalami infeksi; (2) Menerima/meluluskan produk yang sebenarnya tidak memenuhi standar kualitas.
Nilai berbagai statistik pengujian dapat digunakan untuk menghitung p-value,
yang dapat dikatakan mengukur kemungkinan terjadinya Type 1 error. Dalam
ekonometrika, pengujian yang sering dilakukan adalah melihat apakah suatu model/
variabel independen signifikan menjelaskan variabel dependen. Jadi, dalam pengujian signifikansi, p-value mengukur peluang menyatakan bahwa model/variabel
independen tersebut tidak signifikan ketika model/variabel independen tersebut
signifikan. p-value dapat langsung dibandingkan dengan confidence interval (yang
seyogianya telah ditetapkan secara a-priori) untuk memutuskan apakah suatu
model/variabel independen signifikan (H1 ) atau tidak signifikan (H0 ).
benconomy.wordpress.com
23
4 Analisis Regresi OLS
4.2
Regresi OLS dengan Stata
Dapat dikatakan seperti “Swiss Army Knife” pemodelan, regresi OLS digunakan
secara paling luas dan menjadi alat paling mendasar dalam berbagai aplikasi pemodelan ekonomi. Sintaks perintah regresi OLS di Stata adalah sebagai berikut:
regress depvarname indepvarlist
Perhatikan bahwa variabel yang pertama disebut adalah (satu) variabel independen (y), sedangkan variabel-variabel yang disebut berikutnya adalah variabelvariabel independent (x1 , x2 , . . . , xj ) dalam model persamaan yang hendak diestimasi. Berikut adalah contoh perintah dan output regresi dalam Stata dan panduan
interpretasinya.
A – Bagian ini adalah global test untuk signifikansi model (apakah variasi dalam
model dapat menjelaskan variasi dalam variabel dependen - joint test). Dua
statistik yang dilaporkan adalah statistik F dan p-value-nya.
B – Bagian ini melaporkan goodness of fit dari model, yaitu berapa “persen”
variasi dalam variabel dependen dapat dijelaskan oleh model, yaitu R2 dan
2
2
Radj
. Radj
mengkoreksi bias positif pada R2 akibat penambahan variabel
independen.
C – Konstanta (β0 ). Stata dapat mencegah adanya konstanta, dengan cara menambahkan opsi noconstant (tidak dianjurkan karena akan membuat estimator
menjadi tidak konsisten).
D – Koefisien parameter estimasi βj untuk masing-masing variabel independen
xj . Bagian ini dapat diinterpretasikan: “Bertambahnya 1 unit weight menyebabkan kenaikan 5.774712 dalam price”.
benconomy.wordpress.com
24
regress
4 Analisis Regresi OLS
E – Standar error parameter estimasi sd(βj ).
F – Statistik t untuk masing-masing variabel independen. Statistik t dihitung
dari βj /sd(βj ).
G – p-value untuk menguji signifikansi masing-masing variabel.
H – Range masing-masing parameter estimasi dalam rentang confidence interval.
Level yang dilaporkan dapat diatur dengan menambahkan opsi level()
4.3
4.3.1
Penanganan Pelanggaran Asumsi
Heteroskedasitas
Heteroskedasitas adalah keadaan ketika varians error berubah seiring perubahan
nilai variabel independen xj . Heteroskedasitas umumnya tidak menyebabkan indikator menjadi bias, namun menyebabkan kesalahan dalam perhitungan standar
error, yang menurunkan efisiensi model.
Deteksi Terdapat dua metode statistik untuk mendeteksi heteroskedasitas setelah suatu model regresi diestimasi:
Breuch-Pagan Tes ini melakukan regresi OLS dengan ε2 sebagai variabel dependen dan fitted values model sebagai variabel independen. Untuk menggunakan seluruh variabel independen dari model utama sebagai variabel independen, tambahkan opsi rhs. Metode ini mampu mendeteksi heteroskedasitas yang bersifat linear. Perintah untuk melakukan BP-test adalah estat
hettest. Hasil yang dilaporkan adalah LM test-statistic yang mengikuti distribusi χ2 dan p-valuenya.
White Tes ini melakukan regresi OLS dengan varepsilon2 sebagai variabel dependen dan seluruh variabel independen, kuadrat dan hasil perkaliannya dari
model utama sebagai variabel independen. Dengan demikian, metode ini
mampu mendeteksi heteroskedasitas dalam bentuk yang lebih kompleks. Perintah untuk melakukan White test adalah estat imtest, white. Hasil
yang dilaporkan termasuk LM test-statistic yang mengikuti distribusi χ2 dan
p-valuenya.
Metode grafis untuk mendeteksi heteroskedasitas adalah dengan melakukan plot
error (variabel y) dan salah satu variabel independen (variabel x), yang dapat
dilakukan dengan perintah rvpplot varname.
benconomy.wordpress.com
25
hettest
imtest
rvpplot
4 Analisis Regresi OLS
Koreksi Terdapat dua metode statistik untuk menangani heteroskedasitas.
weight Penggunaan weights (timbangan) untuk “menormalkan” efek variabel yang
“menyebabkan” heteroskedasitas. Contohnya, varians error adalah linear dari
suatu variabel (Var(ε) = σ 2 = αx2 ), sehingga perlu timbangan 1/x22 menghilangkan korelasi antara x2 dengan ε. Untuk menggunakan koreksi ini, tambahkan [aweight=varlist] di akhir command, sebelum tanda koma. Perintah untuk contoh sebulumnya:
gen invdepvar2sq=1/depvar2ˆ2
regress indepvar depvar1 depvar2 [aweight=invdepvar2sq]
aweight
robust Tambahkan opsi robust setelah perintah estimasi untuk menggunakan
standard error yang mampu menangani adanya heteroskedasitas (heteroskedascity robust). Contoh:
regress indepvar depvar1 depvar2, robust
robust
Kedua metode tersebut dapat dikombinasikan. Bila variabel yang menyebabkan
heteroskedasitas tersebut diketahui, variabel tersebut dapat ditransformasikan bila
dimungkinkan oleh teori yang mendasari spesifikasi model.
4.3.2
Autokorelasi
Autokorelasi adalah adanya hubungan antara error satu observasi dengan error
observasi lainnya. Autokorelasi umumnya lebih umum terjadi pada data time series, di mana terjadi antara error suatu periode (εt ) dengan error periode lainnya
(εt−1 , εt2 , . . .). Autokorelasi dapat menyebabkan parameter estimasi menjadi bias,
sehingga harus ditangani.
Deteksi Untuk mendeteksi adanya autokorelasi secara grafis, Stata menyediakan tiga perintah:
corrgram varname
ac varname (grafik autokorelasi)
pac varname (grafik autokorelasi parsial)
Tambahkan opsi lags(#) untuk menampilkan autokorelasi sebanyak # lag.
Terdapat dua metode statistik untuk mendeteksi adanya autokorelasi.
corrgram
ac
pac
Durbin-Watson Pengujian Durbin-Watson hanya dapat mendeteksi autokorelasi
dengan lag 1 error (εt−1 ). Statistik Durbin Watson berada di antara 0-4.
Nilai dekat 0 mengindikasikan autokorelasi positif, sedangkan nilai dekat
4 mengindikasikan autokorelasi negatif. Dengan demikian, nilai dekat 2
mengindikasikan tidak adanya autokorelasi. Perintah untuk menampilkan
statistik Durbin-Watson di Stata adalah estat dwatson. Pengembangan uji
benconomy.wordpress.com
26
dwatson
4 Analisis Regresi OLS
Durbin menghasilkan estat durbinalt yang memungkinkan uji hipotesis.
Tambahkan opsi lags(numlist) untuk menspesifikasikan lag autokorelasi
yang diuji.
Breuch-Godfrey Tes Breuch-Godfrey dilakukan dengan melakukan regresi error
terhadap error lag periode yang dispesifikasikan. Perintah untuk BG test di
Stata adalah sebagai berikut:
estat bgodfrey, lags(numlist)
di mana numlist adalah lag-lag yang ingin diuji (dapat lebih dari satu).
Pengujian sebanyak lebih dari 1 lag periode dilakukan secara terpisah.
durbinalt
bgodfrey
Koreksi Koreksi untuk masalah autokorelasi sebaiknya dilakukan mengubah
spesifikasi model, atau menggunakan metode time series (bukan hanya OLS),
seperti penambahan lag variabel dependen ke dalam model (model AR). Walau
demikian, terdapat dua metode OLS yang mampu menangani autokorelasi. Pertama, menggunakan transformasi Cochrane-Orkutt dengan perintah sebagai berikut:
prais depvar indepvarlist, corc
Perintah ini memiliki berbagai opsi dan pendekatan lain untuk menangani autokorelasi yang dapat dieksplorasi lebih lanjut. Kedua, menggunakan standar error
Newey-West yang robust terhadap autokorelasi (dan heteroskedasitas) dengan perintah sebagai berikut:
newey depvar indepvarlist, lag(#)
Perintah ini memungkinkan penanganan lags dengan order yang lebih tinggi. Lags
maksimum yang digunakan dalam model dapat dispesifikasikan menggunakan opsi
lags(#)
4.3.3
prais
newey
Multikolinearitas
Multikolinearitas adalah adanya kombinasi linear korelasi antara variabel-variabel
independen, yang menyebabkan adanya korelasi. Kolinearitas antara dua variabel
independen dapat dilihat secara grafis dengan menggunakan perintah
graph matrix varlist.
Dalam Stata, statistik untuk mendeteksi multikolinearitas dapat ditampilkan
dengan perintah estat vif. Nilai Mean VIF yang lebih dari 10 dapat dikatakan
mengindikasikan adanya kolinearitas. Namun, tidak terdapat batasan yang definitif
mengenai statistik ini untuk menguji hipotesis secara statistik.
Secara matematis, tidak mungkin melakukan estimasi OLS bila terdapat satu
variabel independen yang adalah gabungan dari satu atau lebih variabel independen
lain. Dalam sebagian besar kasus, multikolinearitas umumnya tidak menyebabkan
masalah estimasi. Bahkan, sulit untuk menemukan variabel-variabel independen
benconomy.wordpress.com
27
vif
4 Analisis Regresi OLS
yang tidak berkorelasi (terutama untuk data time series). Multikolinearitas mulai menjadi masalah bila terdapat variabel yang ‘benar-benar’ bergerak bersama
(korelasi >90%). Hal ini dapat menyebabkan variabel-variabel yang mengalami
kolinearitas secara bersama-sama tidak signifikan, sedangkan sebenarnya berpengaruh terhadap variabel dependen (signifikan secara joint test). Kolinearitas akan
hilang dengan mengeluarkan variabel yang ber-kolinear dari model. Namun, hal
tersebut dapat menyebabkan omitted variabel bias yang serius. Tidak terdapat
metode yang definitif untuk menangani multikolinearitas, sehingga menjadi kebijakan peneliti untuk memutuskan variabel yang tetap dimasukkan dalam model
bilamana terjadi multikolinearitas.
4.4
Instrumental Variables
Penggunakan Instrumental Variables (berikutnya disebut IV) dalam regresi adalah
salah satu teknik untuk menangani pelanggaran asumsi adanya korelasi antara
satu atau lebih variabel independen dengan error term ε. Dimulai dari spesifikasi
persamaan utama;
yi = β0 + β1 x1i + · · · + βj xji + βk xki + · · · + βm xmi + εi
di mana variabel-variabel βk xki + · · · + βm xmi berkorelasi dengan error;
Corr ((xk , . . . , xm ) , εi ) ̸= 0
Pelanggaran ini akan menyebabkan estimator yang bias dan tidak konsisten. Pengujian dapat dilakukan dengan cara regresi dengan menggunakan error dari model
utama sebagai variabel dependen.
Untuk mengatasi masalah bias yang ditimbulkan, diperlukan adanya variabel
z1 , z2 , . . . , zv yang berkorelasi dengan variabel yang bermasalah dan tidak berkorelasi dengan error untuk dijadikan IV untuk variabel yang bermasalah tersebut.
Dengan demikian, variabel independen dalam model tidak lagi berkorelasi dengan
error, sehingga dapat dihasilkan parameter yang konsisten.
Perintah untuk menerapkan regresi dengan IV adalah:
ivregress method depvar indepvarlist (indepvarlist2 = ivvarlist)
method adalah cara melakukan estimasi dengan IV. 3 metode yang dapat dipilih
adalah 2SLS, liml dan gmm.
depvar adalah variabel independen yang diestimasi.
indepvarlist adalah variabel-variabel independen yang tidak mengalami masalah
korelasi dengan error.
benconomy.wordpress.com
28
ivregress
4 Analisis Regresi OLS
indepvarlist2 adalah variabel-variabel independen yang mengalami masalah korelasi dengan error, sehingga dicarikan variabel instrumen.
ivvarlist adalah variabel-variabel yang dijadikan Instrumental Variable.
4.5
Specification Test
Pengujian spesifikasi adalah salah satu topik paling penting dalam pemodelan, di
mana spesifikasi persamaan regresi diuji untuk mendapatkan fungsi regresi populasi
yang sedekat mungkin dengan fungsi “asli”. Teori yang dipelajari melalui pemodelan sering memberi usul mengenai bentuk persamaan model secara a priori, yang
tidak selalu didukung dengan temuan parameter estimasi. Hal ini membuat pengujian spesifikasi menjadi penting: Data dapat mengusulkan temuan yang berbeda
dengan teori, atau memperlihatkan bahwa teori tersebut benar atau tidak. Mendapat “informasi” yang tepat dari data adalah tujuan dari pengujian spesifikasi:
Apakah suatu variabel signifikan dalam model, bagaimana seharusnya suatu variabel dispesifikasikan dalam model (linear, logaritma, dlsb.), dan apakah perlu
ditambahkan variabel independen lainnya ke dalam model.
Dua hal perlu diperhatikan dalam pengujian spesifikasi. Pertama, adanya variabel yang redundant atau tidak signifikan tidak akan parameter estimasi menjadi
bias, namun akan mengurangi degrees of freedom dan efisiensi model. Kedua,
adanya variabel yang signifikan namun tidak dimasukkan dalam suatu model akan
membuat parameter menjadi bias. Bias memiliki pengaruh yang lebih merusak
dibandingkan inefisiensi. Hal ini menunjukkan pentingnya pengujian spesifikasi
yang dilakukan secara benar.
Metode formal uji spesifikasi cukup luas, termasuk pengujian manual seperti
dalam metode Mizon dan Richard (1986)§ atau Davidson MacKinnon “J Test”
(1981)¶ untuk non-nested model dan metode Ramsey Regression Error Specification Test (RESET)‖ . Stata memiliki command untuk melakukan pengujian Ramsey
RESET, dengan perintah sebagai berikut:
estat ovtest
§
Masukkan berbagai bentuk spesifikasi fungsional dari variabel yang sama ke dalam model, dan
uji menggunakan Wald test apakah koefisien untuk masing-masing kelompok spesifikasi apakah
koefisionnya sama dengan 0.
¶
Untuk mempelajari bentuk fungsional spesifikasi A dan B, lakukan estimasi untuk kedua
persamaan tersebut, dan diambil error masing-masing persamaan. Ambil persamaan dari satu
model (misal model A) dan masukkan ke model satunya (Model B) sebagai variabel independen.
Lakukan regresi model satunya tersebut dengan error. Bila koefision error model A dalam model
B tersebut tidak signifikan, model A telah dispesifikasikan dengan benar. Prosedur yang sama
dilakukan untuk model B.
‖
Mengambil polinomial dari fitted values dan memasukkannya ke dalam model utama. Bila
polinomial model utama signifikan, maka model tersebut mengandung omitted variables.
benconomy.wordpress.com
29
ovtest
4 Analisis Regresi OLS
ovtest adalah singkatan untuk ommited variable test. Perintah ini dapat dilakukan setelah estimasi OLS. Bila kita ingin menggunakan polinomial dari variabel independen (bukan hanya fitted values variabel dependen), tambahkan opsi
rhs.
4.6
4.6.1
Setelah estimasi…
Perintah predict
Perintah predict berguna untuk membuat prediksi dari estimasi yang telah dilakukan, baik prediksi fitted values, residual, dan lainnya. Berikut sintaks perintah
tersebut.
predict varname, options
Hasil perintah tersebut dimasukkan dalam variabel baru (varname) yang dispesifikasikan. Nilai yang dapat diprediksi dispesifikasikan dalam options:
predict
xb Analogis dengan Xβ, yaitu prediksi linear/fitted values dari model.
residuals Error εi hasil regresi.
rstd Nilai standardized dari error.
stdp Standar error nilai fitted values.
stdf Standar error nilai forecast (nilai baru).
stdr Standar error nilai error.
4.6.2
Perintah estimates
Perintah estimates berguna untuk menyimpan, mengelola dan mengakses hasil
estimasi yang telah dilakukan sebelumnya. Dengan adanya fitur ini, kita tidak perlu
menyimpan log-file Stata (.smcl) hanya untuk menyimpan hasil estimasi (lihat opsi
save). Di samping itu, perintah ini juga menyimpan lebih banyak detail yang tidak
ditampilkan dalam tabel laporan estimasi. Berikut adalah beberapa penggunaan
perintah tersebut.
estimates store modelname — menyimpan hasil regresi ke dalam memori
(hilang bila Stata dimatikan) dengan nama modelname. Untuk mengakses/mengaktifkan kembali hasil estimasi yang telah di-store, gunakan perintah
estimates restore modelname.
estimates save filename — menyimpan hasil regresi dengan nama filename
ke hard-disk. Untuk mengakses kembali hasil estimasi yang telah di-save,
gunakan perintah estimates use filename.
benconomy.wordpress.com
30
estimates
4 Analisis Regresi OLS
estimates replay modelnamelist — menampilkan kembali laporan/tabel estimasi untuk hasil model-model dalam memori. Untuk menampilkan kembali
perintah regresi yang dilakukan dalam suatu model yang disimpan, gunakan
perintah estimates describe modelname (hanya satu model).
estimates table modelnamelist, options — menampilkan satu atau lebih
hasil estimasi dalam suatu tabel secara vertikal, yang (terutama) berguna
untuk memilih model. Opsi yang dapat digunakan adalah:
• Menampilkan beberapa statistik sekaligus untuk satu model, atau menggunakan ‘bintang’ (*) untuk menandai variabel yang signifikan. Bila
kita ingin menampilkan beberapa statistik sekaligus, tambahkan statistik yang diinginkan secara langsung: b (koefisien estimasi), se (standard
error koefisien estimasi), t (statistik t terkait) dan p (p-value). Bila kita
ingin menggunakan ‘bintang’ tambahkan opsi star(#1 #2 #3), di mana
#1 adalah angka untuk mendapat 1 bintang, #2 adalah angka untuk
mendapat 2 bintang, dan seterusnya.
• Menampilkan statistik goodness of fit model. Statistik yang dapat ditampilkan dimasukkan dalam stat(list), di mana list dapat berupa r2
(R2 ), r2_a (adjusted R2 ) ll (likelihood ratio), N (jumlah sampel), df_r
(degress of freedom model), AIC dan BIC.
Untuk menunjukkan bagaimana menggunakan estimates digunakan, beberapa
baris perintah berikut ini dapat menampilkan contohnya.
sysuse auto, clear
regress pr mp re tr
estimates store model1
regress pr mp re
estimates store model2
estimates table model1 model2, b se p stats(r2 r2_a df_r)
estimates table model1 model2, star(0.05 0.01 0.001)
estimates describe model1
estimates describe model2
estimates replay model1 model2
Alternatif perintah estimates table yang memiliki kemampuan menampilkan
beberapa statistik sekaligus dan bintang secara bersamaan, kontrol hasil tampilan
lebih baik serta ekspor hasil ke program lain (seperti LATEX) adalah paket estout.
Gunakan perintah ssc install estout, replace untuk meng-install paket ini
ke dalam Stata (dibutuhkan koneksi internet untuk download paket).
benconomy.wordpress.com
31
Download