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: cnsreg with singular

From   Demetris Christodoulou <>
To   "" <>
Subject   st: cnsreg with singular
Date   Wed, 7 Sep 2011 09:50:35 +1000

My question is how does cnsreg deals with a singular matrix?

Consider the following example:

. sysuse auto
. generate mpgrep78 = mpg + rep78
. regress price mpg rep78 mpgrep78

Due to perfect collinearity (i.e. a singular design matrix), linear OLS drops one of the explanatory variables.
But I can force 'estimation' by:

. constraint 1 mpgrep78 = mpg + rep78
. cnsreg price mpg rep78 mpgrep78, cons(1)

This produces estimates for all three explanatory variables. 
I noticed that the estimates of cnsreg are exactly the same, as taking the estimates of regress and apply the linear relationship to calculate the third parameter. 

This is what Greene (2010, p.274) suggests as well but in a more elaborate context using multiple regressions. That is, estimate the M-1 parameters and then use the linear relationship to calculate the M parameter. 
Can someone please confirm whether this is what Stata does too?

Or does it use some more complex iterative numerical optimisation procedure, perhaps even involving a singular value decomposition?

I am using Stata/MP2 version 11.2 on Mac.

many thanks in advance, 
*   For searches and help try:

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