如何使用explicitPrefs软件包?

时间:2018-07-09 13:21:57

标签: r

因此,我早些时候没有提供MWE就问了这个问题。具体到我想了解的内容,请考虑我有510个观察结果。所有510主题在每个商品束之间做出10选择。 revealedprefs程序包可帮助计算“偏好偏好公理”所提供的束之间选择的经济合理性。

但是,我无法识别谁违反了给定的显性偏好公理。考虑MWE13主题中的一个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.framesD的两个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违规者列表,以进一步分析其个人违法行为的严重程度。

1 个答案:

答案 0 :(得分:0)

问“谁是Garp违规者”,尤其是“他们的个人违规行为有多严重”,实际上是没有意义的,因为Garp(和Sarp)主要用于检查是否违反了周期偏好。

例如,说有三个捆绑包X1,X2,X3,并且直接首选项为:

  • X1优先于X2(但X2优先于X1)
  • X2优先于X3(但X3优先于X2)
  • X3优先于X1(但X1优先于X3)

在这种情况下,不存在扭曲变形(直接偏好中没有对称性),但是存在Sarp / Garp违反(X1间接地优先于X3,X3直接地优先于X1)。

移除三个束中的任何一个都可以消除违规循环,并且可以说三个束中的任何一个都不比其他束更“违反”。

此外, revealedPrefs 包中的Garp / Sarp函数仅报告发现的第一个违规循环(如果有),而不报告所有可能的违规循环。