tag:blogger.com,1999:blog-2198942534740642384.post8504123911182071885..comments2023-10-24T03:16:41.009-07:00Comments on Econometrics Beat: Dave Giles' Blog: Reported "Accuracy" for Regression ResultsDave Gileshttp://www.blogger.com/profile/05389606956062019445noreply@blogger.comBlogger2125tag:blogger.com,1999:blog-2198942534740642384.post-53072061619654760522011-12-19T08:30:22.874-08:002011-12-19T08:30:22.874-08:00Mr. Ed: Fair enough point. The question is, though...Mr. Ed: Fair enough point. The question is, though, without knowing you have "classical reporting error", as you put it, how many d.p. are you entitled to report?Dave Gileshttps://www.blogger.com/profile/05389606956062019445noreply@blogger.comtag:blogger.com,1999:blog-2198942534740642384.post-57843104059168856922011-12-19T02:28:17.843-08:002011-12-19T02:28:17.843-08:00and what about the law of large numbers?
when the...and what about the law of large numbers?<br /><br />when the reporting error in y is orthogonal to x i don't expect it to affect my estimates<br /><br />as to x, i would expect classical reporting error to lead to attenuation bias<br /><br />a little monte carlo using rounding confirms this:<br /><br />clear all<br /><br />cap program drop mysim<br />program mysim, rclass<br />args obs<br /> drop _all<br /> set obs `obs'<br /> <br /> tempvar x y<br /> tempname vx vxs<br /><br /> g `x' = rnormal()<br /> sum `x'<br /> scalar `vx' = r(Var)<br /><br /> // no measurement error because of rounding<br /> g `y' = 1 + `x' + rnormal()<br /> reg `y' `x'<br /> return scalar c0 = _b[_cons]<br /> return scalar b0 = _b[`x']<br /><br /> replace `y' = round(`y', 1)<br /> <br /> // only y rounded<br /> reg `y' `x'<br /> return scalar c1 = _b[_cons]<br /> return scalar b1 = _b[`x']<br /><br /> replace `x' = round(`x', 1)<br /> sum `x'<br /> scalar `vxs' = r(Var)<br /><br /> // both y and x are now rounded<br /> reg `y' `x'<br /> return scalar c2 = _b[_cons]<br /> return scalar b2 = _b[`x']<br /> <br /> // correct for measurement error bias because of rounding<br /> return scalar b3 = _b[`x'] * `vxs' / `vx'<br />end<br /><br />simulate c0 = r(c0) b0=r(b0) c1 = r(c1) b1=r(b1) c2 = r(c2) b2=r(b2) b3 = r(b3) , reps(4000) : mysim 1000<br /><br /><br />. tabstat *, c(s)<br /><br /> variable | mean<br />-------------+----------<br /> c0 | .9996326<br /> b0 | 1.000041<br /> c1 | .9995353<br /> b1 | 1.00018<br /> c2 | .9996875<br /> b2 | .9235341<br /> b3 | 1.000294<br />------------------------Mr. Ed.https://www.blogger.com/profile/11270002723489623735noreply@blogger.com