Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

From |
Nick Cox <[email protected]> |

To |
[email protected] |

Subject |
Re: Re: st: using subgroup regression coefficients in further regressions |

Date |
Sun, 22 Jul 2012 15:52:23 +0100 |

This looks like a different question to me, but the principles are the same. 0. Initialise a variable to hold results outside the loop 1. After each regression, you use its estimation results. What you want may be most easily calculated in terms of something like _b[X1] * X1 + _b[X2] * X2 2. Typically you will -replace- results of the variable created in 0 for some observations only. However, I don't understand how this differs from a problem best handled by -predict- or why no constant (intercept) appears in your expressions. Nick On Sun, Jul 22, 2012 at 3:42 PM, Peter Hofmann <[email protected]> wrote: > Thank you for the fast reply, Nick. Your hint improves my first step, however > the original question is still unanswered. Obviously I did not pose the > question clear enough, so I try again: > > After the regression I want to use the estimated coefficients (betas) of each > subgroup (control groups) to calculate the y-hat (=expected dependent > variable) of the > treatment observations (each corresponding to its specific subgroup) by: > > treatment1: > yhat_1 = beta-hat1 * X1 + beta-hat2 * X2 > > treatment2: > yhat_2 = beta-hat3 * X3 + beta-hat4 * X4 > ..... > > The calculated y-hats of the treatments can now be compared to the real y's > of the treatments. > > Any help is appreciated! > Peter > > > On Thu, Jul 19, 2012 at 2:00 PM, Nick Cox <[email protected]> wrote: > >> That code won't work at all. Apart from some fantasy syntax, the >> second time around the loop the -generate- would fail as the variable >> already exists. > >> But as you want residuals, you can get them directly: > >> gen res = . >> sum subgroupvar, meanonly > >> qui forvalues i = `r(min)'/`r(max)' { >> reg y x1 x2 if subgroupvar==`i' >> predict work, residual >> replace res = work if subgroupvar==`i' >> drop work >> } > >> Note, if only as a style point, that putting returned results into >> scalars, and then scalars into locals, is in this case two more steps >> than needed. > > > > On Thu, Jul 19, 2012 at 1:12 PM, Peter Hofmann <[email protected]> wrote: >> Dear all, >> >> Currently I use one regression for each subgroup of my control sample >> and save the subgroup-betas. >> Now I want to use the respective betas for a regression on the >> treatment observations that correspond to the respective subgroup (to >> extract the residuals from these regressions with the treatment >> values). >> >> Currently I use: >> . sum subgroupvar >> . scalar min1=r(min) >> . local j=min1 >> . scalar max1=r(max) >> . local k=max1 >> . forvalues i=`j'(1)`k' { >> . reg y x1 x2 if subgroupvar==`i' >> . mat bhat = e(b) >> . svmat bhat, names(bhat_`i'_) >> . } >> >> But now I do not know how to proceed: >> I want to use the respective subgroup betas in a regression on the >> treatment observations (treatments are indicated by a dummy). >> >> I supposed it should look similar to: >> . forvalues i=`j'(1)`k' { >> . g yhat = `bhat_*_1' * var1 + `bhat_*_2' * var2 if subgroupvar==`i' >> . } >> But that results in: >> . + invalid name >> . r(198); >> * * For searches and help try: * http://www.stata.com/help.cgi?search * http://www.stata.com/support/statalist/faq * http://www.ats.ucla.edu/stat/stata/

**References**:**Re: Re: st: using subgroup regression coefficients in further regressions***From:*Peter Hofmann <[email protected]>

- Prev by Date:
**Re: Re: st: using subgroup regression coefficients in further regressions** - Next by Date:
**st: RE: drop variables in panel data with loop** - Previous by thread:
**Re: Re: st: using subgroup regression coefficients in further regressions** - Next by thread:
**Re: Re: st: using subgroup regression coefficients in further regressions** - Index(es):