Learn R Programming

micEcon (version 0.5-6)

aidsElas: Elasticities of the AIDS model

Description

These functions calculate and print the demand elasticities of an AIDS model.

Usage

aidsElas( coef, prices = NULL, shares = NULL, totExp = NULL,
      method = "AIDS", priceIndex = "TL", basePrices = NULL, baseShares = NULL,
      quantNames = NULL, priceNames = NULL, coefCov = NULL, df = NULL )

## S3 method for class 'aidsEst': elas( object, method = NULL, observedShares = FALSE, ... )

## S3 method for class 'aidsElas': print( x, ... )

Arguments

coef
a list containing the coefficients alpha, beta and gamma.
prices
a vector of the prices at which the elasticities should be calculated.
shares
a vector of the shares at which the elasticities should be calculated.
totExp
total expenditure at which the elasticities should be calculated.
method
the elasticity formula to be used (see details).
priceIndex
the price index (see details).
basePrices
a vector specifying the base prices for the Paasche, Laspeyres, and Tornqvist price index.
baseShares
a vector specifying the base expenditure shares for the Laspeyres, simplified Laspeyres, and Tornqvist index.
quantNames
an optional vector of strings containing the names of the quantities to label elasticities.
priceNames
an optional vector of strings containing the names of the prices to label elasticities.
coefCov
variance covariance matrix of the coefficients (optional).
df
degrees of freedom to calculate P-values of the elasticities (optional).
object
an object of class aidsEst.
observedShares
logical. Using observed shares for calculating the demand elasticities?
x
an object of class aidsElas.
...
additional arguments of elas.aidsEst are passed to aidsEla; additional arguments of print.aidsElas are currently ignored.

Value

  • a list of class aidsElas containing following elements:
  • methodthe elasticity formula used to calculate these elasticities.
  • priceIndexthe price index used (see details).
  • dfdegrees of freedom to calculate P-values of the elasticities (only if argument df is provided).
  • expvector of expenditure elasticities.
  • hicksmatrix of Hicksian (compensated) price elasticities.
  • marshallmatrix of Marshallian (uncompensated) price elasticities.
  • allVcovvariance covariance matrix of all elasticities.
  • expVcovvariance covariance matrix of the expenditure elasticities.
  • hicksVcovvariance covariance matrix of the Hicksian (compensated) price elasticities.
  • marshallVcovvariance covariance matrix of the Marshallian (uncompensated) price elasticities.
  • expStErstandard errors of the expenditure elasticities.
  • hicksStErstandard errors of the Hicksian (compensated) price elasticities.
  • marshallStErstandard errors of the Marshallian (uncompensated) price elasticities.
  • expTvalt-values of the expenditure elasticities.
  • hicksTvalt-values of the Hicksian (compensated) price elasticities.
  • marshallTvalt-values of the Marshallian (uncompensated) price elasticities.
  • expPvalP-values of the expenditure elasticities.
  • hicksPvalP-values of the Hicksian (compensated) price elasticities.
  • marshallPvalP-values of the Marshallian (uncompensated) price elasticities.

Details

Argument priceIndex has two effects: first it determines the price index that is used for calculating (fitted) expenditure shares, if argument shares is not provided (see aidsCalc); second it determines which version of the formulas for calculating demand elasticities of the LA-AIDS are used, because formulas B1/LA, B2, and Go/Ch have different versions depending on the price index.

elas.aidsEst is a wrapper function to aidsElas that extracts the estimated coefficients (coef), mean expenditure shares (wMeans), mean prices (pMeans), names of the prices (priceNames), estimated coefficient variance covariance matrix (coef$allcov), and degrees of freedom (est$df) from the object of class aidsEst and passes them to aidsElas. If argument method in elas.aidsEst is not specified, the default value depends on the estimation method. If the demand system was estimated by the linear approximation (LA), the default method is 'Ch'. If the demand system was estimated by the iterative linear least squares estimator (ILLE), the default method is 'AIDS'.

At the moment the elasticity formulas of the orginal AIDS (AIDS), the formula of Goddard (1983) or Chalfant (1987) (Go or Ch), the formula of Eales and Unnevehr (1988) (EU), the formula of Green and Alston (1990) or the first of Buse (1994) (GA or B1) and the second formula of Buse (1994) (B2) are implemented.

The variance covariance matrices of the elasticities are calculated using the formula of Klein (1953, p. 258) (also known as the delta method). At the moment this is implemented only for the elasticity formulas of the orginal AIDS.

References

Chalfant, J.A. (1987) A Globally Flexible, Almost Ideal Demand System. Journal of Business and Economic Statistics, 5, p. 233-242.

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

Eales J.S. and L.J. Unnevehr (1988) Demand for beef and chicken products: separability and structural change. American Journal of Agricultural Economics, 70, p. 521-532. Klein L.R. (1953) A Textbook of Econometrics. Row, Petersen and Co., New York.

See Also

aidsEst

Examples

Run this code
data( Blanciforti86 )
   # Data on food consumption are available only for the first 32 years
   Blanciforti86 <- Blanciforti86[ 1:32, ]

   estResult <- aidsEst( c( "pFood1", "pFood2", "pFood3", "pFood4" ),
      c( "wFood1", "wFood2", "wFood3", "wFood4" ), "xFood",
      data = Blanciforti86 )
   wMeans <- colMeans( Blanciforti86[ , c( "wFood1", "wFood2",
      "wFood3", "wFood4" ) ] )
   aidsElas( estResult$coef, shares = wMeans, method = "Ch",
      priceIndex = "S" )

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

   # AIDS estimation and elasticities
   estResultA <- aidsEst( priceNames, shareNames, "xFood",
      data = Blanciforti86[ -1, ],
      method = "IL", maxiter = 100 )
   diag( elas( estResultA, method = "AIDS" )$marshall )

   # LA-AIDS estimation
   estResultLA <- aidsEst( priceNames, shareNames, "xFood",
      data = Blanciforti86, priceIndex = "SL", maxiter = 100 )

   # LA-AIDS + formula of AIDS
   diag( elas( estResultLA, method = "AIDS" )$marshall )

   # LA-AIDS + formula of Eales + Unnevehr
   diag( elas( estResultLA, method = "EU" )$marshall )

   # LA-AIDS + formula of Goddard or Chalfant:
   diag( elas( estResultLA, method = "Go" )$marshall )
   diag( elas( estResultLA, method = "Ch" )$marshall )

   # LA-AIDS + formula of Green + Alston (= 1st of Buse):
   diag( elas( estResultLA, method = "GA" )$marshall )

Run the code above in your browser using DataLab