// Simulate data set
clear
set obs 1000
set seed 1
generate x = runiform()
generate z = runiform()
generate u = rnormal()
generate y1 = 0 + x + 0 * z + u
generate y2 = 0 + 10 * x^2 + 0 * z + u
generate y3 = exp(-1 + x + 0 * z + u)
// Correctly specified model
regress y1 x z
rvfplot, name(rvf1, replace) title(Fitted values vs. residuals) nodraw
rvpplot x, name(rvpx1, replace) title(Predictor variable x vs. residuals) nodraw
rvpplot z, name(rvpz1, replace) title(Predictor variable z vs. residuals) nodraw
graph combine rvf1 rvpx1 rvpz1, col(3) xsize(7) ysize(2) ///
title(Residual plots of correctly specified model) ///
name(correct, replace) nodraw
// Missing out on quadratic relationship
regress y2 x z
rvfplot, name(rvf2, replace) title(Fitted values vs. residuals) nodraw
rvpplot x, name(rvpx2, replace) title(Predictor variable x vs. residuals) nodraw
rvpplot z, name(rvpz2, replace) title(Predictor variable z vs. residuals) nodraw
graph combine rvf2 rvpx2 rvpz2, col(3) xsize(7) ysize(2) ///
title(Residual plots of model missing quadratic term) ///
name(quadractic, replace) nodraw
// Missing out on exponential relationship
regress y3 x z
rvfplot, name(rvf3, replace) title(Fitted values vs. residuals) nodraw
rvpplot x, name(rvpx3, replace) title(Predictor variable x vs. residuals) nodraw
rvpplot z, name(rvpz3, replace) title(Predictor variable z vs. residuals) nodraw
graph combine rvf3 rvpx3 rvpz3, col(3) xsize(7) ysize(2) ///
title(Residual plots of model missing exponential shape) ///
name(exponential, replace) nodraw
graph combine correct quadractic exponential, col(1) xsize(7) ysize(6) altshrink
Dec 27, 2017
Random graphs (122): Specification checks of OLS regression
Labels:
Random graphs,
regress,
rvfplot,
rvpplot,
Simulation
