相关疑难解决方法(0)

约束优化

我正在使用模型的输出,其中存在可能不符合先验预期的参数估计.我想写一个函数,迫使这些效用估计值符合这些预期.为此,该函数应最小化起始值和新估计之间的平方偏差之和.由于我们有先验预测,因此优化应遵循以下约束:

B0 < B1
B1 < B2
...
Bj < Bj+1 
Run Code Online (Sandbox Code Playgroud)

例如,下面的原始参数估计是针对B2和B3的翻转翻转.列DeltaDelta^2显示原始参数估计和新系数之间的偏差.我想尽量减少列Delta^2.我在Excel中对此进行了编码,并显示了Excel的Solver如何在提供约束条件的情况下优化此问题:

Beta    BetaRaw    Delta    Delta^2    BetaNew
B0       1.2       0        0          1.2
B1       1.3       0        0          1.3
B2       1.6       -0.2     0.04       1.4
B3       1.4       0        0          1.4
B4       2.2       0        0          2.2
Run Code Online (Sandbox Code Playgroud)

通过阅读后?optim?constrOptim,我不能神交如何设置这在R.我敢肯定,我只是作为一个有点迟钝,但可以在正确的方向上使用一些指针!

3/24/2012 - 添加了赏金,因为我不够聪明,无法翻译第一个答案.

这里有一些R代码应该在正确的路径上.假设测试版开始于:

betas <- c(1.2,1.3,1.6,1.4,2.2)
Run Code Online (Sandbox Code Playgroud)

我想尽量减少以下功能 b0 <= b1 <= b2 <= b3 <= b4

f <- function(x) {
  x1 <- x[1]
  x2 <- x[2] …
Run Code Online (Sandbox Code Playgroud)

r

12
推荐指数
1
解决办法
6090
查看次数

标签 统计

r ×1