warp {revpref} | R Documentation |
Tests consistency with the Weak Axiom of Revealed Preference at efficiency
Description
This function allows the user to check whether a given data set is consistent with the Weak Axiom of Revealed
Preference at efficiency level (
WARP) and computes the number of
WARP violations.
We say that a data set satisfies WARP at efficiency level
if
and
implies
(see the definition of R^D_e below). The exact WARP, with
, is a necessary and sufficient
condition for a data set to be rationalizable by a continuous, strictly increasing, piecewise strictly concave,
and skew-symmetric preference function (see Aguiar et al. (2020)). Moreover, Rose (1958) showed that for the case
of two goods (
), WARP is equivalent to the Strong Axiom of Revealed Preference (SARP). In other words,
when there are only two consumption categories, transitivity has no empirical bite.
Usage
warp(p, q, efficiency = 1)
Arguments
p |
A |
q |
A |
efficiency |
The efficiency level |
Value
The function returns two elements. The first element (passwarp
) is a binary indicator telling us
whether the data set is consistent with WARP at a given efficiency level . It takes a value 1 if the data set
is
WARP consistent and a value 0 if the data set is
WARP inconsistent.
The second element (
nviol
) reports the number of WARP violations. If the data set is
WARP
consistent,
nviol
is 0. Note that the maximum number of violations in an WARP inconsistent data is
.
Definitions
For a given efficiency level , we say that:
bundle
is directly revealed preferred to bundle
at efficiency level
(denoted as
) if
.
References
Aguiar, Victor, Per Hjertstrand, and Roberto Serrano. "A Rationalization of the Weak Axiom of Revealed Preference." (2020).
Rose, Hugh. "Consistency of preference: the two-commodity case." The Review of Economic Studies 25, no. 2 (1958): 124-125.
See Also
sarp
for the Strong Axiom of Revealed Preference and garp
for
the Generalized Axiom of Revealed Preference.
Examples
# 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 WARP and compute the number of WARP violations
warp(p,q)
# Test consistency with WARP and compute the number of WARP violations at e = 0.95
warp(p,q, efficiency = 0.95)