“Stata” veya “R” de regresyon süreksizlik tasarımındaki grafikler


10

Lee ve Lemieux (s. 31, 2009), araştırmacıya Regresyon süreksizlik tasarım analizi (RDD) yaparken grafikleri sunmalarını önermektedir. Aşağıdaki prosedürü önerirler:

"... bazı bant genişlikleri için ve sırasıyla kesme değerinin solunda ve sağında bir dizi ve , ( , ], + ; burada "K 0 K 1 b k b k + 1 k = 1 , . . . , K = K 0 K 1 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.

... o zaman ortalama sonuçları kesim noktasının sağında ve solunda karşılaştırın ... "

.. her durumda, kesme noktasının her iki tarafında ayrı ayrı tahmin edilen bir çeyrek regresyon modelinden gösterilen değerleri de gösteriyoruz ... (aynı makalenin 34. kağıdı)

Benim sorum biz bu prosedürü programlamak nasıl olduğunu Stataya R.. Örnek bir örnek keskin RDD için (güven aralıkları ile) atama değişkene göre sonuç değişkeni grafiklerini çizmek için Statabelirtilen buraya ve buraya ve bir örnek (rd_obs ile rd değiştirin) örnek içinde Rolduğunu burada . Ancak, her ikisinin de 1. adımı uygulamadığını düşünüyorum. Not, her ikisinin de ham verilere ve parsellerde bulunan hatlara sahip olduğunu unutmayın.

Güven değişkeni olmayan örnek grafik [Lee ve Lemieux, 2009] resim açıklamasını buraya girin Şimdiden teşekkür ederim.


Bayrağınıza yanıt olarak, sorunuzu canlandırmanın iyi bir yolu soruyu düzenlemek ve bir ödül sunmaktır: Bu, sorunuzu çarptıracak ve daha fazla insanın ilgisini çekecektir. Bu sorunun Stack Overflow'da daha iyi sunulduğunu düşünüyorsanız bize bildirin, sizin için taşıyabiliriz.
chl

Bunun Stack Overflow'a taşınmasını istiyorum.
Metrikler

1
Maalesef, bu soru Yığın Taşmasına taşınmak için çok eski. Çapraz Onaylı'ya ait olduğuna inanıyorum, ancak Stack Overflow ( programlama yönüne vurgu yaparak ve minimal tekrarlanabilir bir örnek vererek ) sormak istiyorsanız , bana bildirin ve burada kapatacağım.
chl

Cmogram kullanmalısınız . İhtiyacınız olan her şeyi yapar.
Yan Song

Yanıtlar:


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)  

Gördüğünüz gibi, ilk grafikteki çizgiler ikincideki ile aynıdır.


@Boyut: çözüm için +1. Ancak, ham değerleri gösteren dağılım grafiği yerine her bir bin için ortalama değere sahip olmak istiyorum (lütfen yukarıdaki stata örneğini çalıştırın). CI harika.
Metrikler

1
Ne demek istediğinden pek emin değilim. Her kutuda yumuşatılmış araçları nasıl elde ettiğinizi gösteren kod ekledim. Eğer aradığınız bu değilse, lütfen aklınızdakileri daha ayrıntılı olarak açıklayın. Anlayabildiğim kadarıyla, bu grafikler genellikle ham verileri ve yumuşatılmış araçları gösterir.
Dimitriy V. Masterov

Lee ve Lemieux'dan alıntı yapmak için (s. 31, 2009): "Verileri grafikleştirmenin standart bir yolu, atama değişkenini (burada) birkaç bölmeye ayırmak ve kesimin her iki tarafında iki ayrı bölme olmasını sağlamaktır (aynı bölmede birlikte karıştırılmış ve muamele edilmemiş gözlemlerin karıştırılmasını önlemek için) Daha sonra, sonuç değişkeninin ortalama değeri her bölme için hesaplanabilir ve kutuların orta noktalarına göre grafiklenebilir ". Yani, 50 kutu varsa, sol ve sağda yalnızca 25 veri noktası olacak ve tüm ham verileri (örneğin, referansın Grafik 6 (b): söz konusu güncellenmiştir)
Metrikler

1
Şimdi açık! Çekirdeğe katılıyorum. Ama şimdi derece 0 olmadığından emin misin? Bu, eşit ağırlıklı ortalama yumuşatmaya karşılık gelir.
Dimitriy V. Masterov

1
Bunun normal bir çekirdek ve derece 0 polinomu olan lpoly'ye karşılık geldiğine inanıyorum
Dimitriy V. Masterov

7

İşte hazır bir algoritma. Calonico, Cattaneo ve Titiunik kısa süre önce sağlam bant genişliği seçimi için bir prosedür önerdi. Teorik çalışmalarını hem Stata hem de R için uyguladılar ve aynı zamanda bir komplo komutuyla birlikte geliyorlar . İşte R'de bir örnek:

# 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)

Bu size bu grafiği verecektir: resim açıklamasını buraya girin


Merhaba, CI nasıl eklenir?
Krantz
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.