# Re: st: Expression too long error

 From Kaleb Michaud To statalist@hsphsun2.harvard.edu Subject Re: st: Expression too long error Date Tue, 20 Apr 2004 17:58:56 -0700

Larry,

Try the following using the forvalues loop.

replace `1' = \$T*top3 + \$T*\$D*top3L1 + \$T*(\$D^2)*top3L2
forvalues i = 2/43 {
replace `1' = `1' + \${C`i'}*k`i'
}

then create the same thing for the "W" components, etc

forvalues i = 2/104 {
replace `1' = `1' + \${W`i'}*t`i'
}

I'm not even sure you'd need the \${}, but there just in case. It should simplify things greatly - "for" loops are your friends!

Kaleb Michaud

At 05:40 PM 4/20/2004, you wrote:

Hi,

I am trying to estimate a nonlinear equation using -nl-, thus I have to first define the equation to be estimated using -nlfcns-.(see the e-mail chain below for my original question to the Stata list about fixed effects and nonlinear estimation). My problem is that I get the following error message when attempting to run the program:

expression too long
error #130 occurred in program nldeltatr
r(130);

The source of this error is the following very long equation that has about 150 variables:

replace `1'=\$T*top3 + \$T*\$D*top3L1 + \$T*(\$D^2)*top3L2 + \$C2*k2 + \$C3*k3 + \$C4*k4 + \$C5*k5 + \$C6*k6 + \$C7*k7 + \$C8*k8 + \$C9*k9 + \$C10*k10 + \$C11*k11 + \$C12*k12 + \$C13*k13 + \$C14*k14 + \$C15*k15 + \$C16*k16 + \$C17*k17 + \$C18*k18 + \$C19*k19 + \$C20*k20 + \$C21*k21 + \$C22*k22 + \$C23*k23 + \$C24*k24 + \$C25*k25 + \$C26*k26 + \$C27*k27 + \$C28*k28 + \$C29*k29 + \$C30*k30 + \$C31*k31 + \$C32*k32 + \$C33*k33 + \$C34*k34 + \$C35*k35 + \$C36*k36 + \$C37*k37 + \$C38*k38 + \$C39*k39 + \$C40*k40 + \$C41*k41 + \$C42*k42 + \$C43*k43 + \$W2*t2 + \$W3*t3 + \$W4*t4 + \$W5*t5 + \$W6*t6 + \$W7*t7 + \$W8*t8 + \$W9*t9 + \$W10*t10 + \$W11*t11 + \$W12*t12 + \$W13*t13 + \$W14*t14 + \$W15*t15 + \$W16*t16 + \$W17*t17 + \$W18*t18 + \$W19*t19 + \$W20*t20 + \$W21*t21 + \$W22*t22 + \$W23*t23 + \$W24*t24 + \$W25*t25 + \$W26*t26 + \$W27*t27 + \$W28*t28 + \$W29*t29 + \$W30*t30 + \$W31*t31 + \$W32*t32 + \$W33*t33 + \$W34*t34 + \$W35*t35 + \$W36*t36 + \$W37*t37 + \$W38*t38 + \$W39*t39 + \$W40*t40 + \$W41*t41 + \$W42*t42 + \$W43*t43 + \$W44*t44 + \$W45*t45 + \$W46*t46 + \$W!
47*t47 + \$W48*t48 + \$W49*t49 + \$W50*t50+ \$W51*t51 + \$W52*t52 + \$W53*t53 + \$W54*t54 + \$W55*t55 + \$W56*t56 + \$W57*t57 + \$W58*t58 + \$W59*t59 + \$W60*t60+ \$W61*t61 + \$W62*t62 + \$W63*t63 + \$W64*t64 + \$W65*t65 + \$W66*t66 + \$W67*t67 + \$W68*t68 + \$W69*t69 + \$W70*t70+ \$W71*t71 + \$W72*t72 + \$W73*t73 + \$W74*t74 + \$W75*t75 + \$W76*t76 + \$W77*t77 + \$W78*t78 + \$W79*t79 + \$W80*t80+ \$W81*t81 + \$W82*t82 + \$W83*t83 + \$W84*t84 + \$W85*t85 + \$W86*t86 + \$W87*t87 + \$W88*t88 + \$W89*t89 + \$W90*t90+ \$W91*t91 + \$W92*t92 + \$W93*t93 + \$W94*t94 + \$W95*t95 + \$W96*t96 + \$W97*t97 + \$W98*t98 + \$W99*t99 + \$W100*t100+ \$W101*t101 + \$W102*t102 + \$W103*t103 + \$W104*t104

c2-c43 and t2-t104 are sets of dummy variables. I could demean the data and get rid of c2-c43, but even without c2-c43 the expression is still too long.

The manual suggests breaking up the expression into smaller parts. Does anyone know how such an expression could be broken up or is estimating this equation in this form too much too ask?

Thanks,
Larry Chavis
Ph.D. Student
chavis_larry@gsb.stanford.edu
(650)724-4909

-----Original Message-----
From: owner-statalist@hsphsun2.harvard.edu
[mailto:owner-statalist@hsphsun2.harvard.edu]On Behalf Of Chavis, Larry
Wilson
Sent: Tuesday, April 20, 2004 10:37 AM
To: statalist@hsphsun2.harvard.edu
Subject: st: Nonlinear Least Squares and Fixed Effects

Mark,

Thanks for your input. Greene's series of papers on nonlinear models and fixed effects is certainly helpful. I'll have to go over the paper more carefully, but initially it seems I may be OK in terms of consistency since the data covers a larger number of time periods. It seems that these models generally get better as T increases (but that is just a first guess). Greene certainly seems to be optimistic that panel data and nonlinear models can coexist.

As far as the other issues goes, de-meaning would seem to give me more flexibility. Maybe I could wipe out the fixed effects and then use the -nlfcns- to estimate the nonlinear model. -cnsreg- is close to what I need but it only accepts linear constraints and I would like to add a nonlinear one.

Thanks again,

Larry Chavis
Ph.D. Student
chavis_larry@gsb.stanford.edu
(650)724-4909

-----Original Message-----
From: owner-statalist@hsphsun2.harvard.edu
[mailto:owner-statalist@hsphsun2.harvard.edu]On Behalf Of Mark Schaffer
Sent: Tuesday, April 20, 2004 8:10 AM
To: statalist@hsphsun2.harvard.edu
Subject: Re: Nonlinear Least Squares and Fixed Effects

Larry,

Is your estimation going to be consistent? Sometimes, with fixed
effects models, the incidental parameters problem makes the estimator
inconsistent.

http://www.stern.nyu.edu/~wgreene/fixedeffects.doc

In your first example, it looks like you might be able to de-mean the
data by hand to wipe out the fixed effects and then do a constrained
linear estimation with -cnsreg-.

Hope this helps.

--Mark

Subject: st: Nonlinear Least Squares and Fixed Effects
Date sent: Mon, 19 Apr 2004 13:28:34 -0700
From: "Chavis, Larry Wilson" <chavis_larry@gsb.stanford.edu>
To: <statalist@hsphsun2.harvard.edu>

>
>
> Hi,
>
> I am working with panel data and I am trying to impose some nonlinear constraints on an equation with a large number of fixed effects. So far I have been unsuccessful and I have a couple of questions in this regard. Any advice you could provide would be greatly appreciated.
>
>
> 1) For one specification I have run the following linear regression -xtreg lnunit dummy1 dummy2 dummy3 week2-week104, fe i(id)-. Basically I have about 8,000 products (id's) that I have data on for 104 weeks. I would also like to estimate this while constraining the coefficients on dummy1
dummy2 and dummy3 in a nonlinear fashion (i.e. _b[dummy1] = (_b[dummy2]^2) / _b[dummy3]. I am able to test the restriction post-estimation using -testnl-, but I would like to incorporate the restrictions into the regression. Any ideas?
>
>
> 2) Similarly I could aggregate the data by country so that the panel data now represents 43 countries over 104 weeks. Now the data is a manageable size to use the -nl- command and set up the regression using -nlfcns-. The only problem is that I am not sure how to set up the fixed effects
dummies in the equation. The only thing I can think of is to us the brute force method and just type in something like - '1' = \$B1 * week1 + \$B2 * week2 + \$B3 week3 + ......-. This seems a little cumbersome since I have over 140 fixed effect dummies. I would also have to type a similarly long
list to declare and initialize the parameters. I thought of using -for num- to declare and initialize the sequence of variables, but I am still stuck when it comes to the actual equation. Is there something akin to a summation sign that I could use in this situation?
>
>
> Thanks,
> Larry Chavis
>

*
* For searches and help try:
* http://www.stata.com/support/faqs/res/findit.html
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/
```*
*   For searches and help try:
*   http://www.stata.com/support/faqs/res/findit.html
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/
```