aidsEst {micEcon}R Documentation

Estimation of the Almost Ideal Demand System (AIDS)

Description

aidsEst does a full demand analysis with the Almost Ideal Demand System (AIDS): econometric estimation, calculation of elasticities, ...

Usage

 aidsEst( pNames, wNames, xtName, data = NULL,
      ivNames = NULL, qNames = wNames,
      method = "LA:L", hom = TRUE, sym = TRUE,
      elaFormula = "Ch", pxBase,
      estMethod = ifelse( is.null( ivNames ), "SUR", "3SLS" ),
      maxiterMk = 50, tolMk = 1e-5, alpha0 = 0, ... )

Arguments

pNames a vector of strings containing the names of prices.
wNames a vector of strings containing the names of expenditure shares.
xtName a name of the total expenditure variable.
data a data frame containing the data.
ivNames a vector of strings containing the names of instrumental variables.
qNames an optional vector of strings containing the names of the quantities (just to label elasticities).
method the method to estimate the aids (see details).
hom should the homogeneity condition be imposed?
sym should the symmetry condition be imposed?
elaFormula the elasticity formula (see aidsEla).
pxBase The base to calculate the LA-AIDS price indices (see aidsPx).
estMethod estimation method (e.g. "SUR", see systemfit).
maxiterMk maximum number of iterations of the Michalek and Keyzer estimation.
tolMk tolerance level of the Michalek and Keyzer iteration.
alpha0 the intercept of the translog price index (α_0).
... arguments passed to systemfit.

Details

At the moment two basic estimation methods are available: The 'Linear Approximate AIDS' (LA) and the iterative estimation method of Michalek and Keyzer (MK).
The LA-AIDS can be estimated with
* Stone price index ('LA:S'),
* Stone price index with lagged shares ('LA:SL'),
* loglinear analogue to the Paasche price index ('LA:P'),
* loglinear analogue of the Laspeyres price index ('LA:L'), and
* Tornqvist price index ('LA:T').

The iterative estimation method of Michalek and Keyzer needs starting values for the (translog) price index. Which price index is used to calculate the initial price index can be specified in the same way as for the LA-AIDS (e.g. 'MK:L')

Value

a list of class aidsEst containing following objects:

coef a list containing the vectors/matrix of the estimated coefficients (alpha = α_i, beta = β_i, gamma = gamma_{ij}.
ela a list containing the elasticities (see aidsEla).
r2 R^2-values of all budget share equations.
r2q R^2-values of the estimated quantities.
wFitted fitted budget shares.
wResid residuals of the budget shares.
qObs observed quantities / quantitiy indices.
qFitted fitted quantities / quantitiy indices.
qResid residuals of the estimated quantities.
iter iterations of SUR/3SLS estimation a vector containing the iterations of each iteration of the Michalek and Keyzer estimation.
iterMk iterations of the Michalek and Keyzer estimation.
method the method used to estimate the aids (see details).
lnp log of the price index used for estimation.
hom was the homogeneity condition imposed?
sym was the symmetry condition imposed?
estMethod estimation method (see systemfit).
rcovformula formula used to calculate the estimated residual covariance matrix (see systemfit).

Author(s)

Arne Henningsen ahenningsen@agric-econ.uni-kiel.de

References

Deaton, A.S. and J. Muellbauer (1980) An Almost Ideal Demand System. American Economic Review, 70, p. 312-326.

Michalek, J. and M. A. Keyzer (1992) Estimation of a two-stage LES-AIDS consumer demand system for eight EC countries. European Review of Agricultural Economics, 19 (2), p. 137-163.

See Also

aidsEla, aidsCalc.

Examples

   ## Repeating the demand analysis of Blanciforti, Green & King (1986)
   data( Blanciforti86 )
   estResult <- aidsEst( c( "pFood1", "pFood2", "pFood3", "pFood4" ),
      c( "wFood1", "wFood2", "wFood3", "wFood4" ), "xFood",
      data = Blanciforti86, method = "LA:SL", elaFormula = "Ch",
      maxiter = 1, rcovformula = 1, tol = 1e-7 )
   print( estResult )

   ## Repeating the evaluation of different elasticity formulas of
   ## Green & Alston (1990)
   data( Blanciforti86 )
   pNames <- c( "pFood1", "pFood2", "pFood3", "pFood4" )
   wNames <- c( "wFood1", "wFood2", "wFood3", "wFood4" )

   # AIDS
   estResultA <- aidsEst( pNames, wNames, "xFood",
    data = Blanciforti86[ 2:nrow( Blanciforti86 ), ], maxiter = 1,
      elaFormula = "AIDS", rcovformula=1, tol=1e-7,
   method = "MK:L" )
   print( diag( estResultA$ela$marshall ) )

   # LA-AIDS + formula of AIDS
   estResultL1 <- aidsEst( pNames, wNames, "xFood",
      data = Blanciforti86, maxiter = 1, elaFormula = "AIDS",
      rcovformula=1, tol=1e-7, method = "LA:SL" )
   print( diag( estResultL1$ela$marshall ) )

   # LA-AIDS + formula of Eales + Unnevehr
   estResultL2 <- aidsEst( pNames, wNames, "xFood",
      data = Blanciforti86, maxiter = 1, elaFormula = "EU",
      rcovformula=1, tol=1e-7, method = "LA:SL" )
   print( diag( estResultL2$ela$marshall ) )

   # LA-AIDS + formula of Chalfant:
   estResultL3 <- aidsEst( pNames, wNames, "xFood",
      data = Blanciforti86, maxiter = 1, elaFormula = "Ch",
      rcovformula=1, tol=1e-7, method = "LA:SL" )
   print( diag( estResultL3$ela$marshall ) )

[Package micEcon version 0.1-6 Index]