Pbset1 Dofile
Pbset1 Dofile
Page 1
PS1.do - Printed on 1/27/2017 3:41:49 PM
71 return list
72 gen beta= r(cov_12)/r(Var_2)
73 display beta
74 * Q 18*
75 * Now regress w and wout selection.
76 reg lw adfe
77 reg lw adfe if adfe>0 & adfe<99 & lw>$p0050 & lw< $p9995
78 *ereturn -- Post the estimation results:
79 ereturn list
80 * one additional yr of sc increases earnings by 4.8 percent.
81 * see http://www.ats.ucla.edu/stat/stata/faq/returned_results.htm for e():
82 gen SST_3=e(mss)+e(rss)
83 gen SSE=e(mss)
84 display SSE/SST_3
85 display e(r2)
86 reg lw adfe if adfe>0 & adfe<99 & lw>$p0050 & lw< $p9995
87 predict lwp if adfe>0 & adfe<99 & lw>$p0050 & lw< $p9995
88 predict resids if adfe>0 & adfe<99 & lw>$p0050 & lw< $p9995, res
89 corr lwp resids
90 * Uncorrelated!
91 hist resids, normal
92 * more or less normally distributed
93
94 * Problem 2 *
95 * Q1*
96 clear
97 set obs 500
98 * Q2*
99 help random
100 * Q3*
101 gen pi=runiform()
102 * let xi be 0 if pi <=0.3 and 1 otherwise.
103 gen xi=(pi>0.3)
104 tab xi
105 * Q4*
106 * Now gen yi
107 gen yi=rnormal(1,1)
108 replace yi=rnormal(2,2) if xi==1
109 * OR: gen yi=rnormal(1,1)*(xi==0)+rnormal(2,2)*(xi=1)
110 * OR: gen yi=rnormal(xi+1,xi+1)
111 * Q5*
112 reg pi yi
113 reg yi xi
114 * Q7*
115 * Increase sample size to see if estimator tends to true values as N gets large
116 foreach i in 500 1000 5000{
117 clear
118 set obs `i'
119 gen pi=runiform()
120 * let xi be 0 if pi <=0.3 and 1 otherwise.
121 gen xi=(pi>0.3)
122 tab xi
123 * Now gen yi
124 gen yi=rnormal(1,1)
125 replace yi=rnormal(2,2) if xi==1
126 * OR: gen yi=rnormal(1,1)*(xi==0)+rnormal(2,2)*(xi=1)
127 * OR: gen yi=rnormal(xi+1,xi+1)
128 reg pi xi
129 scalar beta_`i'=_b[xi]
130 reg yi xi
131 scalar alp_`i'=_b[xi]
132 }
133
134 display beta_500
135 display beta_1000
136 display beta_5000
137 display alp_500
138 di alp_1000
139 di alp_5000
140
141 * Problem 3*
142 clear
143 * Q1*
144 * infile: Read non-Stata data into memory
145 infile prate mrate totpart totelg age totemp sole ltotemp using
Page 2
PS1.do - Printed on 1/27/2017 3:41:49 PM
401k.raw
146 sum prate
147 sum mrate
148 *OR
149 tabstat prate mrate, statistics(mean)
150 * Note mrate is in decimals and prate is in percentages.
151 * Q2*
152 reg prate mrate
153 ereturn list
154 display e(N)
155 display e(r2)
156 * Q3*
157 * store the fitted values
158 predict pred
159 * store the residuals
160 predict resids, res
161 egen totresids=sum(resids)
162 display totresids
163 * Yes
164 * Even with no matching contribution bt firm, 83 percent of workers participate in 401k
plan.
165 * A one percentage point increase in mrate increases prate by 0.059 percentage points.
Since a one unit increase in mrate is actually an increase of 100 percentage points.
166 * Q4*
167 gen mrate2=mrate*100
168 reg prate mrate2
169 reg prate mrate
170 ereturn list
171 display _b[_cons]+_b[mrate]*3.5
172 display e(r2)
173 scatter prate mrate
174 gen mrate_r=round(mrate,0.1)
175 bysort mrate_r: egen prate_mean=mean(prate)
176 scatter prate_mean mrate_r
177 twoway (scatter prate_mean mrate_r) (line pred mrate)
178
Page 3