Grafik dalam desain diskontinuitas regresi dalam "Stata" atau "R"


10

Lee dan Lemieux (hlm. 31, 2009) menyarankan peneliti untuk menyajikan grafik saat melakukan analisis desain diskontinuitas Regresi (RDD). Mereka menyarankan prosedur berikut:

"... untuk beberapa bandwidth , dan untuk beberapa jumlah nampan K 0 dan K 1 ke kiri dan kanan dari nilai cutoff, masing-masing, idenya adalah untuk membangun nampan ( b k , b k + 1 ], untuk k = 1 , . . . , K = K 0 + K 1 , di mana b k = c - ( K 0 - k + 1 ) h . "hK0K1bkbk+1k=1,...,K=K0K1bk=c(K0k+1)h.

c=cutoff point or threshold value of assignment variable
h=bandwidth or window width.

... lalu bandingkan hasil rata-rata hanya ke kiri dan kanan dari titik cutoff ... "

Dalam semua kasus, kami juga menunjukkan nilai yang sesuai dari model regresi kuartik yang diestimasikan secara terpisah pada setiap sisi dari titik cutoff ... (hlm. 34 dari makalah yang sama)

Pertanyaan saya adalah bagaimana kita memprogram prosedur itu dalam Stataatau Runtuk merencanakan grafik variabel hasil terhadap variabel penugasan (dengan interval kepercayaan) untuk RDD yang tajam .. Contoh sampel dalam Statadisebutkan di sini dan di sini (ganti rd dengan rd_obs) dan sampel misalnya di Radalah di sini . Namun, saya pikir keduanya tidak menerapkan langkah 1. Perhatikan, bahwa keduanya memiliki data mentah bersama dengan garis yang dipasang di plot.

Grafik sampel tanpa variabel kepercayaan [Lee dan Lemieux, 2009] masukkan deskripsi gambar di sini Terima kasih sebelumnya.


Menanggapi bendera Anda, cara yang baik untuk menghidupkan kembali pertanyaan Anda adalah mengeditnya dan menawarkan hadiah: Ini akan menabrak pertanyaan Anda dan membuat lebih banyak orang tertarik padanya. Jika Anda merasa pertanyaan ini mungkin lebih baik disajikan di Stack Overflow, beri tahu kami dan kami dapat memigrasikannya untuk Anda.
chl

Saya ingin ini dimigrasi ke Stack Overflow.
Metrik

1
Sayangnya, pertanyaan ini terlalu lama untuk dimigrasi ke Stack Overflow. Saya percaya itu milik Cross Validated tetapi jika Anda ingin bertanya tentang Stack Overflow (memberi penekanan pada aspek pemrograman dan memberikan contoh minimal yang dapat direproduksi ), beri tahu saya dan saya akan menutupnya di sini.
chl

Anda harus menggunakan cmogram . Itu melakukan semua yang Anda butuhkan.
Yan Song

Jawaban:


10

Ki

use votex // the election-spending data that comes with rd

tw 
(scatter lne d, mcolor(gs10) msize(tiny)) 
(lpolyci lne d if d<0, bw(0.05) deg(2) n(100) fcolor(none)) 
(lpolyci lne d if d>=0, bw(0.05) deg(2) n(100) fcolor(none)), xline(0)  legend(off)

twowayxsseulll

lpoly lne d if d<0, bw(0.05) deg(2) n(100) gen(x0 s0) ci se(se0)
lpoly lne d if d>=0, bw(0.05) deg(2) n(100) gen(x1 s1) ci se(se1)

/* Get the 95% CIs */
forvalues v=0/1 {
    gen ul`v' = s`v' + 1.95*se`v' 
    gen ll`v' = s`v' - 1.95*se`v' 
};

tw 
(line ul0 ll0 s0 x0, lcolor(blue blue blue) lpattern(dash dash solid)) 
(line ul1 ll1 s1 x1, lcolor(red red red) lpattern(dash dash solid)), legend(off)  

Seperti yang Anda lihat, garis-garis pada plot pertama sama dengan yang kedua.


@Dititry: +1 untuk solusinya. Namun, saya ingin memiliki nilai rata-rata untuk setiap nampan (harap jalankan contoh stata di atas) daripada plot pencar yang menunjukkan nilai mentah. CI bagus.
Metrik

1
Saya tidak yakin apa yang Anda maksud. Saya menambahkan kode yang menunjukkan bagaimana Anda mendapatkan cara yang dihaluskan di setiap tempat sampah dengan tangan. Jika itu bukan yang Anda cari, tolong jelaskan apa yang ada dalam pikiran Anda dengan lebih detail. Sejauh yang saya tahu, grafik ini biasanya menunjukkan data mentah dan sarana yang dihaluskan.
Dimitriy V. Masterov

Mengutip Lee dan Lemieux (p. 31, 2009): "Cara standar untuk membuat grafik data adalah dengan membagi variabel penugasan (d di sini) ke dalam sejumlah nampan, memastikan ada dua nampan yang terpisah di setiap sisi cutoff point (untuk menghindari pengamatan yang tidak dirawat dan tidak diolah yang dicampur bersama dalam nampan yang sama). Kemudian, nilai rata-rata dari variabel hasil dapat dihitung untuk masing-masing nampan dan digambarkan berdasarkan titik-titik tengah nampan ". Jadi, jika ada 50 nampan, maka kita hanya akan memiliki 25 titik data di sebelah kiri dan kanan dan tidak semua data mentah (misalnya, Grafik 6 (b) dari referensi: diperbarui dalam pertanyaan)
Metrik

1
Sekarang sudah jelas! Saya setuju dengan kernel. Tapi apakah Anda yakin sekarang bukan derajat 0? Itu akan sesuai dengan smoothing rata-rata tertimbang sama.
Dimitriy V. Masterov

1
Saya percaya itu sesuai dengan lpoly dengan kernel reguler dan derajat 0 polinomial
Dimitriy V. Masterov

7

Berikut ini adalah algoritma kalengan. Calonico, Cattaneo, dan Titiunik baru-baru ini mengusulkan prosedur untuk pemilihan bandwidth yang kuat. Mereka mengimplementasikan karya teoretis mereka untuk Stata dan R , dan juga disertai dengan perintah plot. Berikut ini contoh dalam R:

# install.packages("rdrobust")
library(rdrobust)
set.seed(26950) # from random.org
x<-runif(1000,-1,1)
y<-5+3*x+2*(x>=0)+rnorm(1000)
rdplot(y,x)

Itu akan memberi Anda grafik ini: masukkan deskripsi gambar di sini


Hai, bagaimana cara menambahkan CI?
Krantz
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.