Sei sulla pagina 1di 4

UNIVERSIDAD NACIONAL DEL ALTIPLANO

ESCUELA DE POST GRADO


DOCTORADO EN ECONOMIA Y POLITICAS PBLICAS
Curso: Mtodos Cuantitativos para polticas pblicas
Profesor: Dr. Alfredo Pelayo Calatayud Mendoza

Taller prctico N 15

Mtodo de Regresin Discontinua (RD): Caso Banglads


Ttulo: Impacto del microcrdito en el gasto total per cpita en Banglads: 1991-1998
Hiptesis: Aquellos personas que reciben microcrdito tienen un mayor gasto total per cpita con
relacin al grupo que no recibe beneficios.
Objetivo: Evaluar el impacto del microcrdito en el gasto total per cpita utilizando como lnea de base
los datos de 1991.
Se pide:
1. Evaluar el impacto del programa microcrditos
aplicando:

con el mtodo de Regresin Discontinua

A. La discontinuidad de Sharp
B. La discontinuidad de Fuzzy
DO-FILE EDITOR
*******REGRESIN DISCONTINUA***********************
use "E:\USB_P_2014\hh_98.dta", clear
gen lexptot=ln(1+exptot)
gen lnland=ln(1+hhland/100)
*****A). Program for Sharp Discontinuity;
drop if (hhland<50 & (dmmfd==0|dfmfd==0))|(hhland>=50 & (dmmfd==1|dfmfd==1))
capture prog drop rd_sharp
prog rd_sharp, rclass
args outcome
confirm var `outcome'
tempname outrd1 outrd0 outcome1 outcome0
locpoly `outcome' lnland if hhland<50, gen(`outrd1') at(lnland) nogr tri w(3) d(1)
locpoly `outcome' lnland if hhland>=50, gen(`outrd0') at(lnland) nogr tri w(3) d(1)
sum `outrd1' if hhland>=45 & hhland<50, meanonly
scalar `outcome1'=r(mean)
sum `outrd0' if hhland>=50 & hhland<55, meanonly
scalar `outcome0'=r(mean)
return scalar diff_outcome=`outcome1'-`outcome0'
end
****Participation;
set seed 12345

bootstrap "rd_sharp lexptot" impact_sharp=r(diff_outcome), reps(100) nowarn


gen t_impact_sharp=_b[impact_sharp]/_se[impact_sharp]
sum t_impact_sharp
use "E:\USB_P_2014\hh_98.dta", clear
gen lexptot=ln(1+exptot)
gen lnland=ln(1+hhland/100)
*****B) Program for Fuzzy Discontinuity;
capture prog drop rd_fuzzy
prog rd_fuzzy, rclass
args treatment outcome
confirm var `treatment'
confirm var `outcome'
tempname treatrd1 treatrd0 outrd1 outrd0 treat1 treat0 outcome1 outcome0
locpoly `treatment' lnland if hhland<50, gen(`treatrd1') at(lnland) nogr tri w(3) d(1)
locpoly `treatment' lnland if hhland>=50, gen(`treatrd0') at(lnland) nogr tri w(3) d(1)
locpoly `outcome' lnland if hhland<50, gen(`outrd1') at(lnland) nogr tri w(3) d(1)
locpoly `outcome' lnland if hhland>=50, gen(`outrd0') at(lnland) nogr tri w(3) d(1)
sum `treatrd1' if hhland>=45 & hhland<=55, meanonly
scalar `treat1'=r(mean)
sum `treatrd0' if hhland>=45 & hhland<=55, meanonly
scalar `treat0'=r(mean)
sum `outrd1' if hhland>=45 & hhland<=55, meanonly
scalar `outcome1'=r(mean)
sum `outrd0' if hhland>=45 & hhland<=55, meanonly
scalar `outcome0'=r(mean)
return scalar impact=(`outcome1'-`outcome0')/(`treat1'-`treat0')
end
***Female participation;
set seed 123
bootstrap "rd_fuzzy dfmfd lexptot" impact_fuzzy_f=r(impact), reps(100) nowarn
gen t_impact_fuzzy_f=_b[impact_fuzzy_f]/_se[impact_fuzzy_f]
sum t_impact_fuzzy_f

Resultados:
*******REGRESIN DISCONTINUA***********************
.
. use "E:\USB_P_2014\hh_98.dta", clear
.
. gen lexptot=ln(1+exptot)
. gen lnland=ln(1+hhland/100)
.

. *****A). Program for Sharp Discontinuity;


. drop if (hhland<50 & (dmmfd==0|dfmfd==0))|(hhland>=50 & (dmmfd==1|dfmfd==1))
(886 observations deleted)
. capture prog drop rd_sharp
. prog rd_sharp, rclass
1.
args outcome
2.
confirm var `outcome'
3.
tempname outrd1 outrd0 outcome1 outcome0
4.
locpoly `outcome' lnland if hhland<50, gen(`outrd1') at(lnland) nogr tri w(3)
d(1)
5.
locpoly `outcome' lnland if hhland>=50, gen(`outrd0') at(lnland) nogr tri w(3)
d(1)
6.
sum `outrd1' if hhland>=45 & hhland<50, meanonly
7.
scalar `outcome1'=r(mean)
8.
sum `outrd0' if hhland>=50 & hhland<55, meanonly
9.
scalar `outcome0'=r(mean)
10.
return scalar diff_outcome=`outcome1'-`outcome0'
11. end
.
. ****Participation;
. set seed 12345
. bootstrap "rd_sharp lexptot" impact_sharp=r(diff_outcome), reps(100) nowarn
command:
statistic:

rd_sharp lexptot
impact_s~p = r(diff_outcome)

Bootstrap statistics

Number of obs
Replications

=
=

243
100

-----------------------------------------------------------------------------Variable
| Reps Observed
Bias Std. Err. [95% Conf. Interval]
-------------+---------------------------------------------------------------impact_sharp |
92 -.1264224 .0023491 .1116639 -.3482292
.0953843
(N)
|
-.3132059
.0937947
(P)
|
-.3132059
.125849 (BC)
-----------------------------------------------------------------------------Note: N
= normal
P
= percentile
BC = bias-corrected
. gen t_impact_sharp=_b[impact_sharp]/_se[impact_sharp]
. sum t_impact_sharp
Variable |
Obs
Mean
Std. Dev.
Min
Max
-------------+-------------------------------------------------------t_impact_s~p |
243
-1.132169
0 -1.132169 -1.132169
.
.
. use "E:\USB_P_2014\hh_98.dta", clear
.
. gen lexptot=ln(1+exptot)
. gen lnland=ln(1+hhland/100)
.
. *****B) Program for Fuzzy Discontinuity;
.
. capture prog drop rd_fuzzy
. prog rd_fuzzy, rclass
1.
args treatment outcome
2.
confirm var `treatment'
3.
confirm var `outcome'
4.
tempname treatrd1 treatrd0 outrd1 outrd0 treat1 treat0 outcome1 outcome0
5.
locpoly `treatment' lnland if hhland<50, gen(`treatrd1') at(lnland) nogr tri
w(3) d(1
> )

6.
locpoly `treatment' lnland if hhland>=50, gen(`treatrd0') at(lnland) nogr tri
w(3) d(
> 1)
7.
locpoly `outcome' lnland if hhland<50, gen(`outrd1') at(lnland) nogr tri w(3)
d(1)
8.
locpoly `outcome' lnland if hhland>=50, gen(`outrd0') at(lnland) nogr tri w(3)
d(1)
9.
sum `treatrd1' if hhland>=45 & hhland<=55, meanonly
10.
scalar `treat1'=r(mean)
11.
sum `treatrd0' if hhland>=45 & hhland<=55, meanonly
12.
scalar `treat0'=r(mean)
13.
sum `outrd1' if hhland>=45 & hhland<=55, meanonly
14.
scalar `outcome1'=r(mean)
15.
sum `outrd0' if hhland>=45 & hhland<=55, meanonly
16.
scalar `outcome0'=r(mean)
17.
.
return scalar impact=(`outcome1'-`outcome0')/(`treat1'-`treat0')
18. end
.
.
. ***Female participation;
. set seed 123
. bootstrap "rd_fuzzy dfmfd lexptot" impact_fuzzy_f=r(impact), reps(100) nowarn
command:
statistic:

rd_fuzzy dfmfd lexptot


impact_f~f = r(impact)

Bootstrap statistics

Number of obs
Replications

=
=

1129
100

-----------------------------------------------------------------------------Variable
| Reps Observed
Bias Std. Err. [95% Conf. Interval]
-------------+---------------------------------------------------------------impact_fuz~f |
100 -1.702198
1.92124 3.571683 -8.789193
5.384796
(N)
|
-10.52238
9.24404
(P)
|
-13.93708 -.0473376 (BC)
-----------------------------------------------------------------------------Note: N
= normal
P
= percentile
BC = bias-corrected
. gen t_impact_fuzzy_f=_b[impact_fuzzy_f]/_se[impact_fuzzy_f]
. sum t_impact_fuzzy_f
Variable |
Obs
Mean
Std. Dev.
Min
Max
-------------+-------------------------------------------------------t_impact_f~f |
1129
-.4765815
0 -.4765815 -.4765815

Interpretacin:
El microcrdito tiene un impacto negativo (-12.6% y -170%) tanto con el mtodo
de discontinuidad de Sharp y Fuzzy, respectivamente. Sin embargo, en ambos
casos, los coeficientes no son significativos.

Potrebbero piacerti anche