Bookmark and Share

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

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

st: Testing homogeneity and symmetry in QAIDS model with bootstraped standard errors.

From   Jorge Eduardo Pérez Pérez <>
To   <>
Subject   st: Testing homogeneity and symmetry in QAIDS model with bootstraped standard errors.
Date   Thu, 20 Jan 2011 01:32:46 -0500

Dear Statalist,

I am estimating a Quadratic Almost Ideal Demands Sistem (QAIDS) as in
Banks, Blundell and Lewbel (1997) (full reference at the end)

I am aware of Brian Poi's routines to estimate this system via the
-nlsur- command, but since I want to correct for endogeneity of total
expenditure, I am using the Iterative Least Squares Estimator of
Blundell and Robin (1999). Basically, I estimate a reduced form for
total expenditure, then I use the estimated residuals as additional
regressors in the share equations of the demand system. I want to
account for heteroskedasticity and clustering in my data, so I am
bootstrapping the standard errors.

I want to test symmetry and homogeneity in my estimated system. An
standard likelihood ratio test would not be valid in this case since
the assumptions are not met. I have implemented two approaches to do

1. Carry out the bootstrap estimation and use -test- afterwards, i.e:
bs, rep(1000) cluster(city) : ile
test  [share1]g11 + [share1]g12 + [share1]g13 + [share1]g14 +
[share1]g15 + [share1]g16 + [share1]g17 = 0, notest
test [share2]g21 + [share2]g22 + [share2]g23 + [share2]g24 +
[share2]g25 + [share2]g26 + [share2]g27 = 0, notest accum
test [share6]g61 + [share6]g62 + [share6]g63 + [share6]g64 +
[share6]g65 + [share6]g66 + [share6]g67 = 0, accum
where -ile- is my own command for the iterative least squares estimator.

2. Calculate a chi-squared statistic (again via -test-) in each step
of the bootstrap, then test symmetry and homogeneity using the
empirical distribution of the chi-squared statistics, i.e

program define homtest, rclass
test  [share1]g11 + [share1]g12 + [share1]g13 + [share1]g14 +
[share1]g15 + [share1]g16 + [share1]g17 = 0, notest
test [share2]g21 + [share2]g22 + [share2]g23 + [share2]g24 +
[share2]g25 + [share2]g26 + [share2]g27 = 0, notest accum
test [share6]g61 + [share6]g62 + [share6]g63 + [share6]g64 +
[share6]g65 + [share6]g66 + [share6]g67 = 0, accum
return scalar chi=r(chi2)
bs chi=r(chi), rep(1000) cluster(city) saving(chi, replace): homtest
matrix b=e(b)
local chis=e(b)[1,1]
use chi, clear
quietly count if chi>`chis'
display "p-value = " r(N)/_N

These two approaches yield very different results. I am rejecting the
null with the first approach, while not rejecting with the second

Which one is correct?  I think, in the first approach, Stata is using
the bootstrap estimate of the covariance matrix to compute the Wald
test. In the second approach, Stata computes the Wald test using the
OLS covariance matrix in each step. The only difference between these
approaches should be some asymptotic refinement with the second
approach, but I have more than 7000 observations, so they should be

Full references:
Engel Curves and Consumer Demand”. The Review of Economics and
Statistics, 79(4),pp. 527–539.
BLUNDELL, RICHARD y ROBIN, JEAN MARC (1999). “Estimation in Large and
Disaggregated Demand Systems: An Estimator for Conditionally Linear
Journal of Applied Econometrics, 14(3), pp. 209–232.
Jorge Eduardo Pérez Pérez

*   For searches and help try:

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