Notice: On March 31, it was **announced** that Statalist is moving from an email list to a **forum**. The old list will shut down on April 23, and its replacement, **statalist.org** is already up and running.

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

From |
Austin Nichols <austinnichols@gmail.com> |

To |
statalist@hsphsun2.harvard.edu |

Subject |
Re: st: Constrained Regression in Stata |

Date |
Fri, 3 Jun 2011 15:53:21 -0400 |

Steve-- True that (1-exp(_b[/b1])-exp(_b[/b2])) need not be positive, in which case another parametrization would be required to meet the poster's desiderata (possibly just switching the order of b1, b2, b3 would work in many cases); did you mean to constrain all coefs to be less than one as well? On Fri, Jun 3, 2011 at 3:08 PM, Steven Samuels <sjsamuels@gmail.com> wrote: > In Austin's example, the third coefficient is constrained to be: (1-exp(_b[/b1])-exp(_b[/b2]. > I don't see that this guarantees that the coefficient will be positive. The following code does, though in this example, the results are identical: > > *************************************** > nl (gpm= (exp({b1})/(1+exp({b1})+exp({b2})))*wt /// > + (exp({b2})/(1+exp({b1})+exp({b2})))*l /// > + (1/(1+exp({b1})+exp({b2})))*tn /// > +{_cons}) > > nlcom (exp(_b[/b1])/(1+exp(_b[/b1])+exp(_b[/b2]))) /// > (exp(_b[/b2])/(1+exp(_b[/b1])+exp(_b[/b2]))) /// > (1/(1+exp(_b[/b1])+exp(_b[/b2]))), post > ***************************************************** > > > Steve > > On Jun 3, 2011, at 10:05 AM, Austin Nichols wrote: > > If you want to impose all coefs are nonnegative and sum to one, try: > > sysuse auto, clear > g gpm=1/mpg > g wt=weight/1000 > g l=length/1000 > g tn=turn/1000 > reg gpm wt l tn, nohe > * constrained to be positive: > nl (gpm=exp({b1})*wt+exp({b2})*l+exp({b3})*tn+{_cons}), nolog > nlcom (exp(_b[/b1])) (exp(_b[/b2])) (exp(_b[/b3])), post > * constrained to be positive and sum to one: > nl (gpm=exp({b1})*wt+exp({b2})*l+(1-exp({b1})-exp({b2}))*tn+{_cons}) > nlcom (exp(_b[/b1])) (exp(_b[/b2])) (1-exp(_b[/b1])-exp(_b[/b2])), post > > But imposing such assumptions tends to result in very implausible > models, unless the unconstrained coefs are very close to satisfying > your constraints. See also p.1188 of [R] nl. > > On Fri, Jun 3, 2011 at 2:03 AM, Nick Cox <njcoxstata@gmail.com> wrote: >> This is an FAQ. See >> >> How do I fit a regression with interval constraints in Stata? >> Isabel Cañette, StataCorp >> October 2006; updated July 2008; minor revisions April 2011 >> http://www.stata.com/support/faqs/stat/intconst.html >> >> Nick >> >> On Fri, Jun 3, 2011 at 12:24 AM, Meg22 <meadhbh2@gmail.com> wrote: >> >>> I need to do a constrained regression in stata-I need all the beta >>> coefficents to be positive and sum to 1. >>> >>> I have 11 independent variables so my regression is: >>> reg Rrf bills it lt cor lcvalue lcgrowth medcap smallcap noncanbonds us jap >>> if fundno ==`i' >>> >>> I need all the betas to be positive, sum to 1 and there to be a constant. * * 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/

**Follow-Ups**:**Re: st: Constrained Regression in Stata***From:*Austin Nichols <austinnichols@gmail.com>

**References**:**st: Constrained Regression in Stata***From:*Meg22 <meadhbh2@gmail.com>

**Re: st: Constrained Regression in Stata***From:*Nick Cox <njcoxstata@gmail.com>

**Re: st: Constrained Regression in Stata***From:*Austin Nichols <austinnichols@gmail.com>

**Re: st: Constrained Regression in Stata***From:*Steven Samuels <sjsamuels@gmail.com>

- Prev by Date:
**Re: st: Constrained Regression in Stata** - Next by Date:
**Re: st: Constrained Regression in Stata** - Previous by thread:
**Re: st: Constrained Regression in Stata** - Next by thread:
**Re: st: Constrained Regression in Stata** - Index(es):