R-系数与未知随机参数的mlogit
我正在尝试对我的数据运行mlogit。 我的数据是:R-系数与未知随机参数的mlogit,r,coefficients,mlogit,R,Coefficients,Mlogit,我正在尝试对我的数据运行mlogit。 我的数据是: > 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
> 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
我的代码是:
Result <- mlogit.data(mydata, shape = "wide", choice = "Option", varying = 34:45)
Result.mxl <- mlogit(Option ~ equipment + clean + people + price | 0, Result)
summary(Result.mxl)
我将非常感谢你的帮助 如果使用因子变量,mlogit显然首先为每个因子级别使用新名称创建新变量。然后,如果使用原始名称,它将与这些名称一起工作,并因此声明“未知随机变量”。您可以通过运行一个普通的多项式logit来确定因子名称。然后使用coef(summary())查看新变量的名称(每个因子级别一个),并使用这些名称告诉mlogit应该使用随机系数来表示哪些变量。如果使用因子变量,mlogit显然首先使用新名称为每个因子级别生成新变量。然后,如果使用原始名称,它将与这些名称一起工作,并因此声明“未知随机变量”。您可以通过运行一个普通的多项式logit来确定因子名称。然后使用coef(summary())查看新变量的名称(每个因子级别一个),并使用这些名称告诉mlogit它应该使用随机系数来表示哪些变量。您最终解决过这个问题吗?我遇到了同样的问题,正如下面链接到的帖子中的另一个用户一样。如果你找到了解决方案,请发帖子,如果没有,我会联系mlogit的作者,看看最新版本中是否有bug。你曾经在其他帖子中解决过这个问题吗?我遇到了同样的问题,正如下面链接到的帖子中的另一个用户一样。如果你找到了解决方案,请发帖子,如果没有,我会联系mlogit的作者,看看最新版本中是否有bug。其他职位
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
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"))
Error in mlogit.start(formula = formula, data = data, mf = mf, start = start, :
unknown random parameter