【问题标题】:R linear model with constraints带约束的 R 线性模型
【发布时间】:2019-08-02 11:05:22
【问题描述】:

我想拟合一个线性模型

y ~ a_1 * x_1 + ... + a_n * x_n

有参数约束

a_1,...,a_n >=0 

a_1 + ... + a_n <= 1 

在 R.

有没有一种优雅而快速的方法来做到这一点,并且不使用 quadprog 包的solve.QP。 如果能为提议的解决方案概述一个简短但详细的用例,那就太好了。

【问题讨论】:

    标签: r mathematical-optimization


    【解决方案1】:

    您可以将constrOptim 与成本函数最小二乘和定义的约束一起使用ui %*% a &gt;= 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

    希望对你有帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-11-18
      • 1970-01-01
      • 1970-01-01
      • 2011-03-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多