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 |
Steve Samuels <sjsamuels@gmail.com> |

To |
statalist@hsphsun2.harvard.edu |

Subject |
Re: st: RE: Bounded Inequality Constraints |

Date |
Tue, 6 Dec 2011 18:18:48 -0500 |

I also could not get Dmitriy's original auto problem to converge. In the absence of other software, I'd suggest a grid search for the minimum sum of squares. Visualizing the problem geometrically, it's easy to see the following: in the one-predictor case, if the least squares estimate is outside the required bounds, the constrained estimate will be the value of the nearest boundary point. But with the two (or more) predictors, if the LS estimates are correlated and one satisfies the inequalities, its constrained value still could be forced to a boundary point. I'd like to know what kind of problem Dmitriy has that bounds so many parameters. Steve sjsamuels@gmail.com On Dec 6, 2011, at 10:19 AM, Feiveson, Alan H. (JSC-SK311) wrote: oops! - misplaced parentheses messed it up - this is correct for the "cheating" verison: . nl (price = {A=14500} + (2+3*invlogit( {c1=-.187} ) )*weight + (-100+30*invlogit( {c2=-.24} ) )*mpg + (-120+30*invlog > it( {c3=0} ) )*length ) (obs = 74) Iteration 0: residual SS = 4.15e+08 Iteration 1: residual SS = 4.08e+08 Iteration 2: residual SS = 4.08e+08 Iteration 3: residual SS = 4.08e+08 Iteration 4: residual SS = 4.08e+08 Iteration 5: residual SS = 4.08e+08 Iteration 6: residual SS = 4.08e+08 Iteration 7: residual SS = 4.08e+08 Source | SS df MS -------------+------------------------------ Number of obs = 74 Model | 226957412 3 75652470.6 R-squared = 0.3574 Residual | 408107984 70 5830114.06 Adj R-squared = 0.3298 -------------+------------------------------ Root MSE = 2414.563 Total | 635065396 73 8699525.97 Res. dev. = 1358.703 ------------------------------------------------------------------------------ price | Coef. Std. Err. t P>|t| [95% Conf. Interval] -------------+---------------------------------------------------------------- /A | 14542.44 5890.631 2.47 0.016 2793.944 26290.93 /c1 | 1.314505 2.331609 0.56 0.575 -3.335742 5.964753 /c2 | -.2397128 11.354 -0.02 0.983 -22.88456 22.40513 /c3 | .0175751 5.296615 0.00 0.997 -10.54619 10.58134 ------------------------------------------------------------------------------ Parameter A taken as constant term in model & ANOVA table . di (2+3*invlogit( 1.314505 ) ) 4.3647981 . di (-100+30*invlogit( -.2397128) ) -86.789286 . di (-120+30*invlogit( -.2397128) ) -106.78929 (in other words, I get back the OLS estimates) With more realistic constraints, this has some promise of working. Al -----Original Message----- From: owner-statalist@hsphsun2.harvard.edu [mailto:owner-statalist@hsphsun2.harvard.edu] On Behalf Of Feiveson, Alan H. (JSC-SK311) Sent: Tuesday, December 06, 2011 9:02 AM To: statalist@hsphsun2.harvard.edu Subject: RE: st: RE: Bounded Inequality Constraints Dmitriy, Nick - Sorry, but I think I "solved" the problem "backwards" in the sense that my parameters c1, c2, c3 lie in the required bounds, but not the coefficients of weight, mpg and length, which are the transformed parameters. I tried doing it the other way, to constrain the coefficients; e.g. nl (price = {A=14500} + (2+3*invlogit( {c1=-.187} )*weight ) + (-100+30*invlogit( {c2=-.24} )*mpg ) + (-120+30*invlogit( {c3=0} )*length ) ) but I get garbage, even when I cheated and modified the constraints so that the coefficients are in the range of what you get with OLS. OLS results: . reg price weight mpg length Source | SS df MS Number of obs = 74 -------------+------------------------------ F( 3, 70) = 12.98 Model | 226957412 3 75652470.6 Prob > F = 0.0000 Residual | 408107984 70 5830114.06 R-squared = 0.3574 -------------+------------------------------ Adj R-squared = 0.3298 Total | 635065396 73 8699525.97 Root MSE = 2414.6 ------------------------------------------------------------------------------ price | Coef. Std. Err. t P>|t| [95% Conf. Interval] -------------+---------------------------------------------------------------- weight | 4.364798 1.167455 3.74 0.000 2.036383 6.693213 mpg | -86.78928 83.94335 -1.03 0.305 -254.209 80.63046 length | -104.8682 39.72154 -2.64 0.010 -184.0903 -25.64607 _cons | 14542.43 5890.632 2.47 0.016 2793.94 26290.93 ------------------------------------------------------------------------------ So I constrained the coefficient for mpg to lie between -100 and -70, and the coefficent for length to lie between -120 and -90. The initial values are what transforms to the OLS estimates. Still I get convergence problems. Al -----Original Message----- From: owner-statalist@hsphsun2.harvard.edu [mailto:owner-statalist@hsphsun2.harvard.edu] On Behalf Of Dmitriy Glumov Sent: Tuesday, December 06, 2011 7:52 AM To: statalist@hsphsun2.harvard.edu Subject: Re: st: RE: Bounded Inequality Constraints Al, Thank you very much for showing the tranformation, this is very helpful. However, I have some trouble understanding the values you chose in the transformation (I apologize for using a bad example), so would it be possible for you to briefly go over them. In particular would this transformation account for the upper bound of 5, if the coefficients were to go that far? Again, thank you for the help and consideration. Dmitriy On Mon, Dec 5, 2011 at 12:09 PM, Feiveson, Alan H. (JSC-SK311) <alan.h.feiveson@nasa.gov> wrote: > Dmitriy - The example from the auto data doesn't work very well, but if you want to crank it out by brute force, you could use nonlinear least squares with a logit transformation: > > nl (price = {A} + logit( ( {c1=3.5}-2)/3) * weight + logit( ( {c2=3.5}-2)/3) * mpg + logit( ( {c3=3.5}-2)/3) * length ) > > > > Source | SS df MS > -------------+------------------------------ Number of obs = 74 > Model | -2.6420e+09 3 -880670066 R-squared = -4.1602 > Residual | 3.2771e+09 70 46815365.6 Adj R-squared = -4.3814 > -------------+------------------------------ Root MSE = 6842.176 > Total | 635065396 73 8699525.97 Res. dev. = 1512.858 > > ------------------------------------------------------------------------------ > price | Coef. Std. Err. t P>|t| [95% Conf. Interval] > -------------+---------------------------------------------------------------- > /A | 1677.936 5890.632 0.28 0.777 -10070.56 13426.43 > /c1 | 3.870228 .822251 4.71 0.000 2.2303 5.510156 > /c2 | 2.000028 .0023649 845.71 0.000 1.995311 2.004744 > /c3 | 2.000001 .0000529 37836.18 0.000 1.999896 2.000106 > ------------------------------------------------------------------------------ > Parameter A taken as constant term in model & ANOVA table > > > > The coefficients c2 and c2 are estimated at their lowest allowable value (2.0) because they are negative in the unrestricted model. In this example, I didn't try to restrict the constant term ("A"). > > Al Feiveson > > > > > > -----Original Message----- > From: owner-statalist@hsphsun2.harvard.edu [mailto:owner-statalist@hsphsun2.harvard.edu] On Behalf Of Dmitriy Glumov > Sent: Monday, December 05, 2011 8:21 AM > To: statalist@hsphsun2.harvard.edu > Subject: st: Bounded Inequality Constraints > > Dear Statalist Users, > > I need to include inequality constraints into the regression I am > working on. In particular, I would like the coefficients of all the > independent variables to be between 2.5 and 5. To provide you with an > example, suppose I was using an Auto dataset and running the following > simple regression: > > regress price mpg weight length > > This regression needs to be constrained in such a way so that the > coefficients for mpg, weight, and length all stay bounded between 2.5 > and 5 (and disregarded if they are outside this range). I know there > has been a fair amount of discussion in regards to this topic and > Maarten has posted this solution > (http://www.stata.com/support/faqs/stat/intconst.html), but I wasn't > sure if there's potentially an another, perhaps more appropriate way, > to solve the problem I am dealing with - one that requires bounding > (rather than a one-sided inequality). Moreover, I could not figure out > how to transform the solution that Maarten posted into the one where > both bounds are accounted for. Hence, any help with this would be > greatly appreciated. Thank you for your consideration. > > Regards, > Dmitriy > * > * 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/ > > * > * 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/ * * 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/ * * 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/ * * 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/ * * 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: RE: Bounded Inequality Constraints***From:*Dmitriy Glumov <glumovdm@gmail.com>

**References**:**st: Bounded Inequality Constraints***From:*Dmitriy Glumov <glumovdm@gmail.com>

**st: RE: Bounded Inequality Constraints***From:*"Feiveson, Alan H. (JSC-SK311)" <alan.h.feiveson@nasa.gov>

**Re: st: RE: Bounded Inequality Constraints***From:*Dmitriy Glumov <glumovdm@gmail.com>

**RE: st: RE: Bounded Inequality Constraints***From:*"Feiveson, Alan H. (JSC-SK311)" <alan.h.feiveson@nasa.gov>

**RE: st: RE: Bounded Inequality Constraints***From:*"Feiveson, Alan H. (JSC-SK311)" <alan.h.feiveson@nasa.gov>

- Prev by Date:
**st: execution of the heckman command** - Next by Date:
**Re: st: execution of the heckman command** - Previous by thread:
**RE: st: RE: Bounded Inequality Constraints** - Next by thread:
**Re: st: RE: Bounded Inequality Constraints** - Index(es):