clear all set obs 200 gen x1 = runiform(-5,5) gen x2 = runiform(0,5) generate y = -2 + x1 - 0.5*x2 + rnormal() regress y x* est sto lin0 predict y0 regress y x1 est sto lin1 predict y1 regress y x2 est sto lin2 predict y2 est tab lin0 lin1 lin2, se stats(r2) graph matrix y0 y1 y2, name(linear) generate ypr = invlogit(-2 + x1 - 0.5*x2) //histogram ypr // beta distribution generate ylogit = runiform() > ypr logit ylogit x1 x2 est sto logt0 predict yl0 logit ylogit x1 est sto logt1 predict yl1 logit ylogit x2 est sto logt2 predict yl2 est tab logt0 logt1 logt2, se stats(ll) graph matrix yl0 yl1 yl2, name(logit) drop ypr yl* generate ypr = invlogit(x1 + x2) //histogram ypr // beta distribution generate ylogit = runiform() < ypr logit ylogit x1 x2 predict yl0 predict ylxb0, xb logit ylogit x1 predict yl1 predict ylxb1, xb logit ylogit x2 predict yl2 predict ylxb2, xb graph matrix yl0 yl1 yl2, name(equal) graph matrix ylxb0 ylxb1 ylxb2