// 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
Showing posts with label rvpplot. Show all posts
Showing posts with label rvpplot. Show all posts
Dec 27, 2017
Random graphs (122): Specification checks of OLS regression
Labels:
Random graphs,
regress,
rvfplot,
rvpplot,
Simulation
Subscribe to:
Posts (Atom)
