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 Strong Axiom of Revealed Preference at efficiency level e (eSARP) and computes the number of eSARP violations. We say that a data set satisfies SARP at efficiency level e if q_t R_e q_s implies ep_s'q_s < p_s'q_t (see the definition of R_e below). It is clear that by setting e = 1, we obtain the standard version of SARP. While if e < 1, we allow for some optimization error in the choices to make the data set consistent with SARP. The smaller the e is, the larger will be the optimization error allowed in the test. It is well known that SARP is a necessary and sufficient condition for a data set to be rationalized by a continuous, strictly increasing, and strictly concave preference function (see Matzkin and Richter (1991)).
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 SARP. |
The function returns two elements. The first element (passsarp
) is a binary indicator telling us whether
the data set is consistent with SARP at a given efficiency level e. It takes a value 1 if the data set
is eSARP consistent and a value 0 if the data set is eSARP inconsistent.
The second element (nviol
) reports the number of eSARP violations. If the data is eSARP
consistent, nviol
is 0. Note that the maximum number of violations in an eSARP 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.
Matzkin, Rosa L., and Marcel K. Richter. "Testing strictly concave rationality." Journal of Economic Theory 53, no. 2 (1991): 287-303.
garp
for the Generalized 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 SARP and compute the number of SARP violations
sarp(p,q)
# Test consistency with SARP and compute the number of SARP violations at e = 0.95
sarp(p,q, efficiency = 0.95)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.