带约束的R线性模型

带约束的R线性模型,r,mathematical-optimization,R,Mathematical Optimization,我想拟合一个线性模型 y ~ a_1 * x_1 + ... + a_n * x_n 带参数约束 a_1,...,a_n >=0 及 a_1+…+a\n您可以使用constrOptim,并定义成本函数最小二乘和约束,以便ui%*%a>=ci 假设n=3。您需要以下约束: a1 >= 0 a2 >= 0 a3 >= 0 -a1 -a2 -a3 >= -1 因此,您必须提供constrOptim以下参数

我想拟合一个线性模型

y ~ a_1 * x_1 + ... + a_n * x_n
带参数约束

a_1,...,a_n >=0 


a_1+…+a\n您可以使用
constrOptim
,并定义成本函数最小二乘和约束,以便
ui%*%a>=ci

假设
n=3
。您需要以下约束:

 a1         >=  0
     a2     >=  0
         a3 >=  0
-a1 -a2 -a3 >= -1
因此,您必须提供
constrOptim
以下参数:

ui = rbind(c(1,0,0),
           c(0,1,0),
           c(0,0,1),
           c(-1,-1,-1))

ci = c(0,0,0,-1)
如果不使用渐变,请在
constrOptim
中明确设置
grad=NULL

希望能有帮助

ui = rbind(c(1,0,0),
           c(0,1,0),
           c(0,0,1),
           c(-1,-1,-1))

ci = c(0,0,0,-1)