Seite 1 von 1

Simulation (d=0,d=1, y, x)

BeitragVerfasst: Mi 28. Mai 2014, 11:55
von nash
Hallo,

ich möchte mit Stata12 eine, im Grunde einfache Simulation machen. Ich habe nur eine variable x, ein outcome y (abhängig von x und einem treatment -->d*alpha) und einen treatment indicator d (d==1 für treatment gruppe). Jetzt kann ich ja theoretisch x generieren, sagen wir für 200 observations. Dann "gilt diese Verteilung aber für alle 200". Ich hätte gerne, dass sich die Verteilung der Variable für treated and controls unterscheidet, das Problem ist aber, dass sich erst nach dem generieren der Variable entscheidet, ob eine observation d=1 oder d=0 ist.

Meine einzige Lösung bis jetzt ist nicht wirklich zufrieden stellend:

set obs 200
generate x=rnormal()
replace x=rnormal(2,1) if _n>150
gen u = invnorm(uniform())
gen e = invnorm(uniform())
gen d=-0.5+1.5*x+u
replace d=(d>1)
gen y=10*x+d*100+e (100=alpha)

Hier habe ich dann den Fall, dass die obser. ab 150 eine viel höhere W`keit haben in die treatment Gruppe zu kommen.

Ich möchte dann später propensity score matching mit psmatch2 machen.

Vielen Dank für eure Hilfe