2

我试图使用 mlogit 包估计 R 中的混合效应 logit。如果有人能指出我的错误在哪里,我将不胜感激。

我的原始数据有一个面板结构——每个人在 6 个不同的场景中做出选择。每次他有 4 个选项(3 个品牌,没有得到任何东西)。也就是说,数据集中的每个人都有 24 行。

我几乎没有个人特定的人口统计数据。还有一些特定于替代品的特征:一个是价格(每种情况下的每个替代品都不同),其他只是替代品特定的虚拟变量。这些假人表示同一产品的特定品牌。每个虚拟变量的系数根据人口特征而变化。

我已经阅读了 Yves Croissant 的关于 R 中多项式 logit 模型估计的 pdf,并且能够将数据调整为适合 mlogit 估计的格式。

data.logit = mlogit.data(data, shape = "long", 
                         alt.var = "alt_id",
                         choice = "pick",
                         id.var = "idnum",
                         sep = "")

me.logit = mlogit (pick ~ price | gender + age + educ + income, 
                   data.logit,
                   reflevel = 4,
                   rpar = c("brand1:(intercept)" = "n",
                            "brand2:(intercept)" = "n",
                            "brand3:(intercept)" = "n"),
                   R = 500,
                   halton = NA, 
                   panel = TRUE)
summary(me.logit)

我得到的结果对我来说没有意义。对于两个品牌,替代特定常数(假人系数)是负数,价格系数显然也是负数。然后这些品牌的 WTP 变成负数,这绝对是错误的。

我认为我在使用时分配参数的方式可能存在错误mlogit.data

4

0 回答 0