因此,我早些时候没有提供MWE
就问了这个问题。具体到我想了解的内容,请考虑我有510
个观察结果。所有510
主题在每个商品束之间做出10
选择。 revealedprefs
程序包可帮助计算“偏好偏好公理”所提供的束之间选择的经济合理性。
但是,我无法识别谁违反了给定的显性偏好公理。考虑MWE
个13
主题中的一个10
,就像data.frame
一样:
demand1 price1 demand2 price2 demand3 price3 demand4 price4 demand5 price5 demand6 price6 demand7 price7 demand8 price8 demand9 price9 demand10 price10
1 20.00 0.33 40.00 0.50 45.00 2.00 30.00 2.00 20.00 3.00 40.00 1.00 30.00 1.00 10.00 0.25 10.00 0.50 10.00 4.00
2 0.00 1.00 0.00 3.00 0.00 0.33 5.00 2.00 0.00 4.00 0.00 2.00 4.00 0.25 0.00 1.00 0.00 0.50 0.00 0.50
3 20.00 3.00 10.00 0.50 30.00 2.00 25.00 0.50 0.00 1.00 0.00 1.00 20.00 0.50 40.00 4.00 5.00 0.25 10.00 0.33
4 10.00 0.33 10.00 2.00 0.00 4.00 0.00 1.00 0.00 2.00 0.00 0.50 0.00 1.00 0.00 0.50 0.00 3.00 0.00 0.25
5 20.00 1.00 20.00 4.00 5.00 0.25 10.00 3.00 3.00 0.33 20.00 2.00 20.00 0.50 30.00 2.00 15.00 0.50 10.00 1.00
7 2.00 0.33 2.00 0.25 1.00 0.50 1.00 4.00 2.00 2.00 1.00 1.00 1.00 0.50 1.00 1.00 10.00 3.00 1.00 2.00
8 20.00 0.25 10.00 0.33 25.00 2.00 30.00 1.00 40.00 2.00 50.00 1.00 20.00 0.50 25.00 0.50 30.00 3.00 30.00 4.00
10 20.00 3.00 30.00 2.00 40.00 2.00 10.00 0.50 40.00 1.00 15.00 0.50 10.00 1.00 10.00 4.00 10.00 4.00 10.00 0.25
11 15.00 0.50 20.00 1.00 15.00 2.00 30.00 2.00 20.00 0.50 10.00 4.00 10.00 0.25 0.00 3.00 30.00 1.00 10.00 0.33
12 10.00 3.00 10.00 0.33 30.00 1.00 40.00 1.00 10.00 0.25 20.00 0.50 25.00 2.00 20.00 2.00 25.00 0.50 20.00 4.00
13 20.00 1.00 20.00 4.00 5.00 0.25 10.00 3.00 40.00 0.33 10.00 2.00 0.00 0.50 25.00 2.00 20.00 0.50 10.00 1.00
14 0.00 0.33 0.00 1.00 0.00 0.50 0.00 3.00 0.00 2.00 0.00 0.50 0.00 0.25 0.00 1.00 5.00 2.00 5.00 4.00
15 15.00 0.50 10.00 4.00 50.00 1.00 40.00 0.50 20.00 3.00 10.00 0.33 10.00 0.25 20.00 1.00 20.00 0.50 30.00 2.00
然后,我们需要确保需求数据框和价格数据框按照revealedPrefs
包的要求是分开的。我使用此代码来分隔条目并相应地命名它们,如revealedprefs
;
odd_indexes<-seq(1,19,2)
even_indexes<-seq(2,20,2)
demandmwe <- mwefinal[1:13, odd_indexes,1]
pricemwe <- mwefinal[1:13, even_indexes,1]
garpymwe <- list(D = demandmwe, P = pricemwe)
这样,对象garpymwe
包含两个data.frames
和D
的两个P
的列表。在revealedprefs
包装上;
#Testing Garp
install.packages("revealedPrefs")
library(revealedPrefs)
summary(checkGarp(garpymwe$D, garpymwe$P))
所有作品都超级好,我得到的结果是违反了显示偏好的广义公理(GARP)。
GARP rationality test: violation found.
Method: Depth-first search with tabu list.
Afriat parameter: 1 (no optimization error allowed)
Violating observations: 2 > 12 > 2
: (direct preferences)
Other axioms:
* WARP : violated (symmetry of direct preferences, unequal quantities).
* SARP : violated (symmetry of indirect preferences, unequal quantities).
我唯一不了解的是谁完全违反了公理?显然,Violating observations: 2 > 12 > 2
上有一个我无法真正解释的语句。我想检索GARP违规者列表,以进一步分析其个人违法行为的严重程度。
答案 0 :(得分:0)
问“谁是Garp违规者”,尤其是“他们的个人违规行为有多严重”,实际上是没有意义的,因为Garp(和Sarp)主要用于检查是否违反了周期偏好。
例如,说有三个捆绑包X1,X2,X3,并且直接首选项为:
在这种情况下,不存在扭曲变形(直接偏好中没有对称性),但是存在Sarp / Garp违反(X1间接地优先于X3,X3直接地优先于X1)。
移除三个束中的任何一个都可以消除违规循环,并且可以说三个束中的任何一个都不比其他束更“违反”。
此外, revealedPrefs 包中的Garp / Sarp函数仅报告发现的第一个违规循环(如果有),而不报告所有可能的违规循环。