Description Usage Arguments Value Definitions References See Also Examples
This function allows the user to check whether a given data set is consistent with the Generalized Axiom of Revealed Preference at efficiency e (eGARP) and computes the number of eGARP violations. We say that a data set satisfies GARP at efficiency level e if q_t R_e q_s implies ep_s'q_s ≤ p_s'q_t. It is clear that by setting e = 1, we obtain the standard version of GARP as defined in Varian (1982). While if e < 1, we allow for some optimization error in the choices to make the data set consistent with GARP. The smaller the e is, the larger will be the optimization error allowed in the test. It is well known that GARP is a necessary and sufficient condition for a data set to be rationalized by a continuous, strictly increasing, and concave preference function (see Afriat (1967) and Varian (1982)).
1 |
p |
A T X N matrix of observed prices where each row corresponds to an observation and each column corresponds to a consumption category. T is the number of observations and N is the number of consumption categories. |
q |
A T X N matrix of observed quantities where each row corresponds to an observation and each column corresponds to a consumption category.T is the number of observations and N is the number of consumption categories. |
efficiency |
The efficiency level e, is a real number between 0 and 1, which allows for a small margin of error when checking for consistency with the axiom. The default value is 1, which corresponds to the test of consistency with the exact GARP. |
The function returns two elements. The first element (passgarp) is a binary indicator telling us whether
the data set is consistent with GARP at efficiency level e. It takes a value 1 if the data set is eGARP
consistent and a value 0 if the data set is eGARP inconsistent. The second element (nviol) reports the
number of eGARP violations. If the data set is eGARP consistent, nviol is 0. Note that the maximum
number of violations in an eGARP inconsistent data is T(T-1).
For a given efficiency level 0 ≤ e ≤ 1, we say that:
bundle q_t is directly revealed preferred to bundle q_s at efficiency level e (denoted as q_t R^D_e q_s) if ep_t'q_t ≥ p_t'q_s.
bundle q_t is strictly directly revealed preferred to bundle q_s at efficiency level e (denoted as q_t P^D_e q_s) if ep_t'q_t > p_t'q_s.
bundle q_t is revealed preferred to bundle q_s at efficiency level e (denoted as q_t R_e q_s) if there exists a (possibly empty) sequence of observations (t,u,v,\cdots,w,s) such that q_t R^D_e q_u, q_u R^D_e q_v, \cdots, q_w R^D_e q_s.
Afriat, Sydney N. "The construction of utility functions from expenditure data." International economic review 8, no. 1 (1967): 67-77.
Varian, Hal R. "The nonparametric approach to demand analysis." Econometrica: Journal of the Econometric Society (1982): 945-973.
sarp for the Strong Axiom of Revealed Preference and warp for
the Weak Axiom of Revealed Preference.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | # define a price matrix
p = matrix(c(4,4,4,1,9,3,2,8,3,1,
8,4,3,1,9,3,2,8,8,4,
1,4,1,8,9,3,1,8,3,2),
nrow = 10, ncol = 3, byrow = TRUE)
# define a quantity matrix
q = matrix(c( 1.81,0.19,10.51,17.28,2.26,4.13,12.33,2.05,2.99,6.06,
5.19,0.62,11.34,10.33,0.63,4.33,8.08,2.61,4.36,1.34,
9.76,1.37,36.35, 1.02,3.21,4.97,6.20,0.32,8.53,10.92),
nrow = 10, ncol = 3, byrow = TRUE)
# Test consistency with GARP and compute the number of GARP violations
garp(p,q)
# Test consistency with GARP and compute the number of GARP violations at e = 0.95
garp(p,q, efficiency = 0.95)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.