[英]how to put constraints on parameter estimation in R?
I am fitting a logit model on R using mlogit package. 我正在使用mlogit软件包在R上拟合logit模型。 All the parameters of the dummy variables (var1, var2, var3) are normally distributed. 虚拟变量的所有参数(var1,var2,var3)均呈正态分布。 How can I put a constraint on one variable (var1) to make its parameter zero-mean? 如何对一个变量(var1)施加约束以使其参数为零均值? The current code returns a non-zero mean for var1. 当前代码为var1返回非零均值。 Thanks! 谢谢!
model <- mlogit(outcome ~ var1 + var2 + var3 | 0 ,
data=data,
rpar = c(var1 = "n",
var2 = "n",
var3 = "n"),
correlation = FALSE,
R = 100,
halton = NA)
I know it is relatively easy in STATA to put constraints on parameters. 我知道在STATA中对参数施加约束相对容易。 for my model, my code in STATA is: 对于我的模型,我在STATA中的代码是:
constraint 1 _b[var1]=0
mixlogit choice var1 var2 var3, group(qid) id(id) constraint(1)
I just want to know how to do the same thing in R. Thanks! 我只想知道如何在R中执行相同的操作。谢谢!
based on gmnl
package, we can constrain the estimation using maxLik. 基于gmnl
包,我们可以使用maxLik约束估计。 For this question, 对于这个问题,
A <- matrix (c(1,0,0,0,0,0, -1,0,0,0,0,0))
B <- matrix (c(0, 0))
model <- gmnl(outcome ~ var1 + var2 + var3 | 0 ,
data=data,
rpar = c(var1 = "n",
var2 = "n",
var3 = "n"),
constraints = list (eqA=A, eqB=B),
model = "mixl",
correlation = FALSE,
R = 100,
halton = Null)
The constraints mean in math 约束意味着数学
1* mean(var1) + 0*mean(var2) + 0*mean(var3) + 0*sd(var1) + 0*sd(var2) > + 0*sd(var3) = 0;
and 和
-1* mean(var1) + 0*mean(var2) + 0*mean(var3) + 0*sd(var1) + 0*sd(var2) + 0*sd(var3) = 0
so that the mean of var1 has to be 0 in the estimation. 因此在估算中var1的平均值必须为0。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.