Learn R Programming

micEcon (version 0.1-3)

aidsEst: 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 ($\alpha_0$)
...
argunents passed to systemfit

Value

  • a list of class aidsEst containing following objects:
  • coefa list containing the vectors/matrix of the estimated coefficients (alpha = $\alpha_i$, beta = $\beta_i$, gamma = $\gamma_{ij}$.
  • elaa list containing the elasticities (see aidsEla).
  • r2$R^2$-values of all budget share equations.
  • r2q$R^2$-values of the estimated quantities.
  • wFittedfitted budget shares.
  • wResidresiduals of the budget shares.
  • qObsobserved quantities / quantitiy indices.
  • qFittedfitted quantities / quantitiy indices.
  • qResidresiduals of the estimated quantities.
  • iteriterations of SUR/3SLS estimation a vector containing the iterations of each iteration of the Michalek and Keyzer estimation.
  • iterMkiterations of the Michalek and Keyzer estimation.
  • methodthe method used to estimate the aids (see details).
  • lnplog of the price index used for estimation.
  • homwas the homogeneity condition imposed?
  • symwas the symmetry condition imposed?
  • estMethodestimation method (see systemfit).
  • rcovformulaformula used to calculate the estimated residual covariance matrix (see 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')

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

Run this code
## 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 ) )

Run the code above in your browser using DataLab