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: Two seemingly similar NL estimations give different results


From   Michael Boehm <[email protected]>
To   [email protected]
Subject   Re: st: Two seemingly similar NL estimations give different results
Date   Thu, 23 Jan 2014 10:21:40 +0100

Dear Nick,

Thanks for your answer. I am not quite sure I understand it though.
All the parameters we estimate are free to vary in both
implementations of the -nl- command (more detailed code below), but
the estimates are different. Or do I misunderstand something?

program nlexppremia
version 13.1
syntax varlist(min=4 max=4) [aw fw iw] if, at(name)

// Retrieve variables
        local lhs:    word 1 of `varlist'
        local s:       word 2 of `varlist'
        local j:       word 3 of `varlist'
        local e:       word 4 of `varlist'

// Retrieve parameters, stored in "at"
tempname bG pi lambdaL1_0 lambdaL2_0 lambdaEL1_0 lambdaEL2_0
lambdaL1_1 lambdaL2_1 lambdaEL1_1 lambdaEL2_1
    scalar `bG' = `at'[1,1]
    scalar `pi' = `at'[1,2]
    scalar `lambdaL1_0' = `at'[1,3]
    scalar `lambdaL2_0' = `at'[1,4]
    scalar `lambdaEL1_0' = `at'[1,5]
    scalar `lambdaEL2_0' = `at'[1,6]
    scalar `lambdaL1_1' = `at'[1,7]
    scalar `lambdaL2_1' = `at'[1,8]
    scalar `lambdaEL1_1' = `at'[1,9]
    scalar `lambdaEL2_1' = `at'[1,10]

// replace the lhs directly:
    replace `lhs' = `bG'+(`lambdaL1_0'*j+`lambdaL2_0'*j^2) +
log(1+`pi'*exp(`lambdaEL1_0'*j+`lambdaEL2_0'*j^2)*`e') if `s'==0
    replace `lhs' = `bG'+(`lambdaL1_1'*j+`lambdaL2_1'*j^2) +
log(1+`pi'*exp(`lambdaEL1_1'*j+`lambdaEL2_1'*j^2)*`e') if `s'==1
end

nl exppremia @ lhs s j e, nparameters(10)

********************************************************************

program nlexppremia
version 13.1
syntax varlist(min=4 max=4) [aw fw iw] if, at(name)

// Retrieve variables
        local lhs:    word 1 of `varlist'
        local s:       word 2 of `varlist'
        local j:       word 3 of `varlist'
        local e:       word 4 of `varlist'

// Retrieve parameters, stored in "at"
tempname bG pi lambdaL1_0 lambdaL2_0 lambdaEL1_0 lambdaEL2_0
lambdaL1_1 lambdaL2_1 lambdaEL1_1 lambdaEL2_1
    scalar `bG' = `at'[1,1]
    scalar `pi' = `at'[1,2]
    scalar `lambdaL1_0' = `at'[1,3]
    scalar `lambdaL2_0' = `at'[1,4]
    scalar `lambdaEL1_0' = `at'[1,5]
    scalar `lambdaEL2_0' = `at'[1,6]
    scalar `lambdaL1_1' = `at'[1,7]
    scalar `lambdaL2_1' = `at'[1,8]
    scalar `lambdaEL1_1' = `at'[1,9]
    scalar `lambdaEL2_1' = `at'[1,10]

// Compute RHS of regression
    tempvar RHS
    qui gen `RHS'=.
    replace `RHS' = `bG'+(`lambdaL1_0'*j+`lambdaL2_0'*j^2) +
log(1+`pi'*exp(`lambdaEL1_0'*j+`lambdaEL2_0'*j^2)*`e') if `s'==0
    replace `RHS' = `bG'+(`lambdaL1_1'*j+`lambdaL2_1'*j^2) +
log(1+`pi'*exp(`lambdaEL1_1'*j+`lambdaEL2_1'*j^2)*`e') if `s'==1

//Assign lhs=rhs
    replace `lhs' = `RHS'

end

nl exppremia @ lhs s j e, nparameters(10)

********************************************************************
*
*   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