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.