clear
set seed 1
set obs 5000
// Create variables
gen e = rnormal()
gen x_true = rnormal()
gen y_true = 1 + 2 * x_true + 3 * e
gen y_observed = y_true + e
gen x_observed = x_true + e
label var y_true "Y"
label var x_true "X"
label var y_observed "Y w/ error"
label var x_observed "X w/ error"
// Loop over variables
foreach y of varlist y_observed y_true {
foreach x of varlist x_observed x_true {
regress `y' `x'
local b = round( _b[`x'], .01)
local se = round(_se[`x'], .01)
twoway (scatter `y' `x', msymbol(p)) ///
(lfit `y' `x') ///
, name(`y'`x', replace) ///
ytitle(`: variable label `y'') ///
xtitle(`: variable label `x'') ///
title("{it:B} = `b', {it:SE} = `se'") ///
legend(off) nodraw
}
}
// Combine plots
graph combine y_truex_true ///
y_truex_observed ///
y_observedx_true ///
y_observedx_observed, ///
xcommon ycommon col(2) row(2) ///
title("Measurement error in the outcome vs. in the predictor")
Showing posts with label Measurement error. Show all posts
Showing posts with label Measurement error. Show all posts
Aug 1, 2017
Measurement error in the outcome vs. in the predictor
Labels:
Measurement error,
Simulation,
twoway scatter
Subscribe to:
Posts (Atom)
