简体   繁体   English

如何在R中对参数估计施加约束?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM