Bookmark and Share

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

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

st: Re: Determining residuals following adjustment in a regression model

From   Daniel Herbert Opi <>
Subject   st: Re: Determining residuals following adjustment in a regression model
Date   Thu, 19 Dec 2013 12:48:06 +1100

Thanks Maarten,

You are right, I seem to have been getting the models mixed up before
the predict command. I have checked and confirmed that the residuals
are indeed different.

I have a follow up question but I think it might fall into a slightly
different heading so I'll send a separate email.

Many thanks

On Wed, Dec 18, 2013 at 6:50 AM, Daniel Herbert Opi wrote:
> I am carrying out a regression model and I am interested in
> determining the residuals for each single observation. The model is
> adjusted for at least one variable. But I realise the residuals
> generated in the adjusted model are identical to those in those in the
> unadjusted model.

That is incorrect as you can see in the example below:

*------------------ begin example ------------------
sysuse auto, clear
reg price i.foreign i.rep78
predict resid_adj, resid
reg price i.foreign
predict resid_unadj if rep78 < ., resid
scatter resid_adj resid_unadj ||              ///
    function reference = x, range(-3200 9900) ///
    ytitle("adjusted residuals")              ///
    xtitle("unadjusted residuals")
*------------------- end example -------------------
* (For more on examples I sent to the Statalist see:
* )

> Is there a way of determining residuals that take into account the
> adjustment in the model.
> Example of the commands in I've used in stata:
> The adjusted model
> xi:regress continous_variable i.variable2 i.variable3
> The unadjusted model
> xi:regress continous_variable i.variable2
> The prediction command I've used:
> predict resid_sample, resid

My guess of what happens is that you first estimated both models where
the unadjusted model is the last model, and only after that used the
predict command. -predict- will use the last model, so when you do
this this way you will get the predicted residuals for the unadjusted
model. So, to get the residuals you want you first estimate the
adjusted model, use -predict- to get the adjusted residuals, only then
you estimate the unadjusted model, and you can then use -predict- to
get the unadjusted residuals.

Also note that you did not tell us which version of Stata you use, so
per the Statalist FAQ we assume you use the latest version (13). In
that case it would be better not to use the -xi:- prefix. Instead you
should use the factor variable notation, see -help fvvarlist-. In this
case it is simple: just remove the -xi:- part from your commands and
leave everything else unchanged.

Hope this helps,

Maarten L. Buis
Reichpietschufer 50
10785 Berlin
*   For searches and help try:

© Copyright 1996–2018 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   Site index