Dear Statalist,
I am trying to built my own codes following old Poi's command "nlsur quaids". (2008)
At the time I am trying to compare my results with new Poi's command "QUAIDS" (2012)
I am trying to compare outcomes step by step with adding each variables one by one. With not quadratic function
the results are similar while I am adding quadratic function,[CODE]replace `w1' = (`a1' + `g11'*`lnp1' + `g12'*`lnp2' + `g13'*`lnp3' + `g14'*`lnp4' + `b1'*(`lnm' - `lnpindex') + `l1'/`bofp'*(`lnm' - `lnpindex')^2)[/CODE] the results come with differences coefficients.
My purpose with issue of comparing is that to be sure I am coding on right way.
I highly appreciate your help or recommendation in this issue, might be my way of adding the quadratic terms is wrong or.....??
Thank you
I have STATA 13.1
I am using example data from
In my codes, I included also demographics characteristics
My codes:
Thank you
I am trying to built my own codes following old Poi's command "nlsur quaids". (2008)
Code:
http://www.stata-journal.com/sjpdf.html?articlenum=st0029_1
Code:
http://www.stata-journal.com/sjpdf.html?articlenum=st0268
I am trying to compare outcomes step by step with adding each variables one by one. With not quadratic function
Code:
replace `w1' = (`a1' + `g11'*`lnp1' + `g12'*`lnp2' + `g13'*`lnp3' + `g14'*`lnp4' + `b1'*(`lnm' - `lnpindex')
My purpose with issue of comparing is that to be sure I am coding on right way.
I highly appreciate your help or recommendation in this issue, might be my way of adding the quadratic terms is wrong or.....??
Thank you
I have STATA 13.1
I am using example data from
Code:
webuse food
My codes:
Code:
clear all webuse food, clear *** create dummy variables randomly **** generate x1 = int(runiform()*4) generate x2 = (runiform() > 0.7) rename lnexp lnm ********************************************** ***********************MODEL ******************* ***************************************************** set trace off program nlsurquaids version 13.1 syntax varlist(min=10 max=10) if, at(name) tokenize `varlist' args w1 w2 w3 lnp1 lnp2 lnp3 lnp4 lnm x1 x2 tempname a1 a2 a3 a4 scalar `a1' = `at'[1,1] scalar `a2' = `at'[1,2] scalar `a3' = `at'[1,3] scalar `a4' = 1-`a1'-`a2'-`a3' *************************************************** tempname b1 b2 b3 b4 scalar `b1' = `at'[1,4] scalar `b2' = `at'[1,5] scalar `b3' = `at'[1,6] scalar `b4' = -`b1'-`b2'-`b3' *************************************************** tempname g11 g12 g13 g14 tempname g21 g22 g23 g24 tempname g31 g32 g33 g34 tempname g41 g42 g43 g44 ************************************************** scalar `g11' = `at'[1,7] scalar `g12' = `at'[1,8] scalar `g13' = `at'[1,9] scalar `g14' = -`g11'-`g12'-`g13' ************************************************* scalar `g21' = `g12' scalar `g22' = `at'[1,10] scalar `g23' = `at'[1,11] scalar `g24' = -`g21'-`g22'-`g23' ************************************************* scalar `g31' = `g13' scalar `g32' = `g23' scalar `g33' = `at'[1,12] scalar `g34' = -`g31'-`g32'-`g33' ************************************************* scalar `g41' = `g14' scalar `g42' = `g24' scalar `g43' = `g34' scalar `g44' = -`g41'-`g42'-`g43' ************************************************* tempname l1 l2 l3 l4 scalar `l1' = `at'[1,13] scalar `l2' = `at'[1,14] scalar `l3' = `at'[1,15] scalar `l4' = -`l1'-`l2'-`l3' **********Household demographics**************** tempname r11 r12 tempname r21 r22 tempname r31 r32 scalar `r11' = `at'[1,16] scalar `r12' = `at'[1,17] scalar `r21' = `at'[1,18] scalar `r22' = `at'[1,19] scalar `r31' = `at'[1,20] scalar `r32' = `at'[1,21] **************************************************************************************************** quietly { tempvar lnpindex gen double `lnpindex' = (-0.5 + `a1'*`lnp1' + `a2'*`lnp2' + `a3'*`lnp3' + `a4'*`lnp4') forvalues i = 1/4 { forvalues j = 1/4 { replace `lnpindex' = `lnpindex' + 0.5*`g`i'`j''*`lnp`i''*`lnp`j'' } } ///The b(p) term in the QUAIDS model: tempvar bofp gen double `bofp' = 0 forvalues i = 1/4 { replace `bofp' = `bofp' + `lnp`i''*`b`i'' } replace `bofp' = exp(`bofp') **************************************************************************************************************************************** replace `w1' = (`a1' + `g11'*`lnp1' + `g12'*`lnp2' + `g13'*`lnp3' + `g14'*`lnp4' + /// `b1'*(`lnm' - `lnpindex') + `l1'/`bofp'*(`lnm' - `lnpindex')^2 + `r11'*`x1' +`r12'*`x2') replace `w2' = (`a2' + `g21'*`lnp1' + `g22'*`lnp2' + `g23'*`lnp3' + `g24'*`lnp4' + /// `b2'*(`lnm' - `lnpindex') + `l2'/`bofp'*(`lnm' - `lnpindex')^2 + `r21'*`x1' +`r22'*`x2') replace `w3' = (`a3' + `g31'*`lnp1' + `g32'*`lnp2' + `g33'*`lnp3' + `g34'*`lnp4' + /// `b3'*(`lnm' - `lnpindex') + `l3'/`bofp'*(`lnm' - `lnpindex')^2 + `r31'*`x1' +`r32'*`x2') } end nlsur quaids @ w1 w2 w3 lnp1 lnp2 lnp3 lnp4 lnm x1 x2, ifgnls nequations(3) param(a1 a2 a3 /// g11 g21 g31 g22 g32 g33 b1 b2 b3 l1 l2 l3 r11 r12 r13 r21 r22 r23)
Thank you
Comment