Bookmark and Share

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


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

Re: st: RE: what is wrong with my nl function in stata?


From   张志强 <[email protected]>
To   "[email protected]" <[email protected]>
Subject   Re: st: RE: what is wrong with my nl function in stata?
Date   Thu, 30 Jan 2014 22:43:26 +0800

Thank you Kieran. I follow your advises and found that it does not work at all.
May be I need to follow the local macro function approach, Thank you
,I will try my best to figure it out!

OMG, the nl command is difficult man!!

2014-01-30 张志强 <[email protected]>:
> Thank you Kieran. I follow your advises and found that it does not work at
> all.
> May be I need to follow the local macro function approach, Thank you ,I will
> try my best to figure it out!
>
> OMG, the nl command is difficult man!!
>
> 2014-01-30 Kieran McCaul <[email protected]>:
>> ...
>>
>> I don't use -nl-, but I think there should be a space after "@" and
>> "initial()" is an option of -nl-, so your call to nlwage1 should look like
>> this:
>>
>>
>> nl wage1 @ lnwage income prov1 prov2 prov3, parameters(k0 k1 k2)
>> initial(k0 0.05 k1 0.02 k2 0.03)
>>
>> -----Original Message-----
>> From: [email protected]
>> [mailto:[email protected]] On Behalf Of ???
>> Sent: Thursday, 30 January 2014 7:52 AM
>> To: [email protected]
>> Subject: Re: st: RE: what is wrong with my nl function in stata?
>>
>> thanks kieran, after I add the *, the program still can not work.
>> besides, the prov variable of my program is the d_ij variable in my nl
>> function. I found Professor Nick once help someone to estimate the same
>> equation with local macro, it is on the website :
>>
>> http://stackoverflow.com/questions/18815618/nonlinear-least-squares-in-stata-how-to-model-summation-over-variables-sets
>> something like:
>>
>> forval j = 1/3 {
>> local call `call' S_over_H_`j'^({alpha2}) * exp({alpha3} * distance_`j') }
>>
>> nl (ln_wage = {alpha0} + {alpha1} * ln(`call')
>>
>> but i still can not figure out how to use the local macro for my nl
>> evaluation program, can someone help me with this?
>> Thanks
>>
>> Happy Chinese lunar new year!
>>
>> 2014-01-30 Kieran McCaul <[email protected]>:
>>> ...
>>>
>>> There is a "*" missing in the second exp() term:
>>>
>>> gen double
>>> `eterm'=`income'*exp(`k2'*`prov1')+`income'*exp(`k2'`prov2')+`income'*exp(`k2'*`prov3')
>>> `if'
>>>
>>> It should be:
>>>
>>> gen double
>>> `eterm'=`income'*exp(`k2'*`prov1')+`income'*exp(`k2'*`prov2')+`income'*exp(`k2'*`prov3')
>>> `if'
>>>
>>>
>>>
>>> -----Original Message-----
>>> From: [email protected]
>>> [mailto:[email protected]] On Behalf Of ???
>>> Sent: Thursday, 30 January 2014 12:56 AM
>>> To: [email protected]
>>> Subject: st: what is wrong with my nl function in stata?
>>>
>>> Dear all
>>> I try to estimate a nonlinear lease square function in stata,It need
>>> to estimate a compound summation terms like
>>> lnwage_ij=ko+k1*ln(∑(income*exp(k2*d_ij) , d_ijis the distance between
>>> individual observation i and observation j. My problems is how to deal
>>> with the ∑ in my nl evaluation function. My naive code are as follows,
>>>
>>> the code is as follows:
>>> program nlwage1
>>> version 12
>>> syntax varlist(min=5 max=5) if, at(name) local lnwage : word 1 of
>>> `varlist'
>>> local income : word 2 of `varlist'
>>> local prov1: word 3 of `varlist'
>>> local prov2: word 4 of `varlist'
>>> local prov3:word 5 of `varlist'
>>>
>>> tempname k0 k1 k2
>>> scalar `k0' = `at'[1, 1]
>>> scalar `k1' = `at'[1, 2]
>>> scalar `k2' = `at'[1, 3]
>>>
>>> tempvar eterm
>>>
>>> gen double
>>> `eterm'=`income'*exp(`k2'*`prov1')+`income'*exp(`k2'`prov2')+`income'*
>>> exp(`k2'*`prov3')
>>> `if'
>>>
>>> replace `lnwage' = `k0' +`k1'*log(`eterm') `if'
>>>
>>> end
>>>
>>> nl wage1 @lnwage income prov1 prov2 prov3, parameters(k0 k1 k2)
>>> initial(k0 0.05 k1 0.02 k2 0.03)
>>>
>>>
>>> it return error
>>>
>>> nlwage1 returned 199
>>> verify that nlwage1 is a function evaluator program
>>>
>>> What is wrong with my stata code?
>>> I sincerely hope that someone can help me
>>>
>>> Zhiqiangzhang
>>>
>>> *
>>> * For searches and help try:
>>> * http://www.stata.com/help.cgi?search
>>> * http://www.stata.com/support/faqs/resources/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/faqs/resources/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/faqs/resources/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/faqs/resources/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/faqs/resources/statalist-faq/
*   http://www.ats.ucla.edu/stat/stata/


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