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 |
ogundarikolawole <ogundarikolawole@daad-alumni.de> |

To |
"statalist@hsphsun2.harvard.edu" <statalist@hsphsun2.harvard.edu> |

Subject |
RE: st: nlsur function evaluator program QUAIDS with demographics |

Date |
Sat, 9 Mar 2013 00:38:48 +0000 |

Hi all, I think people keep on confusing the usefulness of Poi's new command called "quaids" to reality of the economic data often used for empirical analysis of demand system. Those that understood the role of data generating process (DGP) governing any economic data before using any software are the one talking about the shortcoming of the Poi's new user free command in STATA just mentioned, especially when data is censored. The Poi's quaids in STATA cannot handle censored data but it is useful for an idea data with no problem of any censoring. So, if you are a researcher estimating demand system and your data is censored, then estimating demand elasticities using Poi's new user free command in STATA (quaids) will produce a biased results. The best approach is to figure out with a little programming experince on how to take into account the censoring problem in the data by modify the nlsur function evaluator program QUAIDS also provided by Poi some years back. The most frequent approach is by Shonkwiler, J.S., and S.T. Yen. 1999. “Two-Step Estimation of A Censored System of Equations.” American Journal of Agricultural Economics 81: 972-982. However, a number of contributors on this STATA list has used this approach. Below is the a typical nlsur function evaluator program QUAIDS with demographics, which also take into account censoring problem in economic data posted by one of the STATA contributors some months ago. program nlsurquaidsNNP version 12.1 syntax varlist(min=16 max=16) if, at(name) tokenize `varlist' args w1 w2 w3 lnp1 lnp2 lnp3 lnp4 lnm x1 x2 pdf1 pdf2 pdf3 cdf1 cdf2 cdf3 // With four goods, there are 15 parameters that can be // estimated, after eliminating one of the goods and // imposing adding up, symmetry, and homogeneity // constraints, in the QUAIDS model // Here, we extract those parameters from the `at' // vector, and impose constraints as we go along 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' // constant and 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] // pdf tempname d1 d2 d3 scalar `d1' = `at'[1,22] scalar `d2' = `at'[1,23] scalar `d3' = `at'[1,24] // Okay, now that we have all the parameters, we can // calculate the expenditure shares. quietly { // First get the price index // I set a_0 = 5 tempvar lnpindex gen double `lnpindex' = 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') // Finally, the expenditure shares for 3 of the 4 // goods (the fourth is dropped to avoid singularity) replace `w1' = (`a1' + `g11'*`lnp1' + `g12'*`lnp2' + /// `g13'*`lnp3' + `g14'*`lnp4' + /// `b1'*(`lnm' - `lnpindex') + /// `l1'/`bofp'*(`lnm' - `lnpindex')^2 + /// `r11'*`x1' +`r12'*`x2')*`cdf1'+ /// `d1'*`pdf1' replace `w2' = (`a2' + `g21'*`lnp1' + `g22'*`lnp2' + /// `g23'*`lnp3' + `g24'*`lnp4' + /// `b2'*(`lnm' - `lnpindex') + /// `l2'/`bofp'*(`lnm' - `lnpindex')^2 + /// `r21'*`x1' +`r22'*`x2')*`cdf2' + /// `d2'*`pdf2' replace `w3' = (`a3' + `g31'*`lnp1' + `g32'*`lnp2' + /// `g33'*`lnp3' + `g34'*`lnp4' + /// `b3'*(`lnm' - `lnpindex') + /// `l3'/`bofp'*(`lnm' - `lnpindex')^2 + /// `r31'*`x1' +`r32'*`x2')*`cdf3' + /// `d3'*`pdf3' } end

**Follow-Ups**:**RE: st: nlsur function evaluator program QUAIDS with demographics***From:*Murat Genc <murat.genc@otago.ac.nz>

**References**:**Re: st: nlsur function evaluator program QUAIDS with demographics***From:*Jorge Eduardo Pérez Pérez <perez.jorge@ur.edu.co>

**Re: st: nlsur function evaluator program QUAIDS with demographics***From:*Roberta Distante <r_distante@yahoo.it>

**Re: st: nlsur function evaluator program QUAIDS with demographics***From:*olorunfemi sola <solafem7@yahoo.co.uk>

- Prev by Date:
**Re: st: Treatment of missing values in surveys in Stata (subpop)** - Next by Date:
**[no subject]** - Previous by thread:
**Re: st: nlsur function evaluator program QUAIDS with demographics** - Next by thread:
**RE: st: nlsur function evaluator program QUAIDS with demographics** - Index(es):