首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R系数中的mlogit和未知随机参数

R系数中的mlogit和未知随机参数
EN

Stack Overflow用户
提问于 2020-03-17 05:48:07
回答 1查看 283关注 0票数 1

我正试着在我的数据上运行mlogit。我的数据是:

代码语言:javascript
复制
> head(df[c(1:3, 33:45)])
      ID Gender Age Option equipment.A equipment.B equipment.C clean.A clean.B clean.C people.A people.B people.C price.A price.B
1 108630      M  56      A        3        3        1      1      3      3         2         3         2     4     3
2 115547      F  34      B        3        3        1      1      3      3         2         3         2     4     3
3 118359      F  51      C        3        3        1      1      3      3         2         3         2     4     3
4 126656      F  40      C        3        3        1      1      3      3         2         3         2     4     3
5 127439      F  26      C        3        3        1      1      3      3         2         3         2     4     3
6 130846      M  69      C        3        3        1      1      3      3         2         3         2     4     3
  price.C
1     4
2     4
3     4
4     4
5     4
6     4

我的代码是:

代码语言:javascript
复制
Result <- mlogit.data(mydata, shape = "wide", choice = "Option", varying = 34:45)
Result.mxl <- mlogit(Option ~ equipment + clean + people + price | 0, Result)
summary(Result.mxl)

然后,我的输出是:

代码语言:javascript
复制
Frequencies of alternatives:
     A      B      C 
0.3745 0.3525 0.2730 

nr method
4 iterations, 0h:0m:0s 
g'(-H)^-1g = 3.12E-07 
gradient close to zero 

Coefficients :
         Estimate Std. Error z-value  Pr(>|z|)    
equipment2  0.467333   0.100203  4.6639 3.103e-06 ***
equipment3  0.431747   0.089822  4.8067 1.535e-06 ***
clean2    1.278133   0.094188 13.5701 < 2.2e-16 ***
clean3    1.603504   0.118145 13.5724 < 2.2e-16 ***
people2 0.438747   0.094280  4.6537 3.261e-06 ***
people3 0.292673   0.115142  2.5419   0.01103 *  
price2     0.641272   0.111956  5.7279 1.017e-08 ***
price3     0.786393   0.100451  7.8286 4.885e-15 ***
price4     1.045555   0.151903  6.8830 5.859e-12 ***
price5     1.965825   0.211786  9.2821 < 2.2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Log-Likelihood: -2009.3

所以问题是我想要得到一个只有一个“设备”,“干净”,“人”和“价格”的观察值的表,以及随机系数表。(类似下面的例子:https://cran.r-project.org/web/packages/mlogit/vignettes/e3mxlogit.html)

我尝试向我的代码中添加另一个参数,然后运行:

代码语言:javascript
复制
Result.mxl <- mlogit(Option ~ equipment + clean + people + price | 0, Result, 
                   rpar = c(equipment = 'n', clean = 'n', people = 'n', price = 'n'), 
                   panel = TRUE, id.var = "id", alt.levels = c("A","B", "C"))

但是现在我得到了一个错误:

代码语言:javascript
复制
Error in mlogit.start(formula = formula, data = data, mf = mf, start = start,  : 
  unknown random parameter

我将非常感谢你的帮助!

EN

回答 1

Stack Overflow用户

发布于 2021-05-23 02:03:05

如果您使用因子变量,mlogit显然会首先使用新名称为每个因子级别创建新变量。然后,它使用这些名称,因此如果您使用原始名称,则会声明“未知随机变量”。您可以通过运行普通的多项式logit来确定因子名称是什么。然后使用coef(summary())查看新变量的名称(每个因子级别一个),并使用这些名称告诉mlogit应该对哪些变量使用随机系数。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60713637

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档