【发布时间】:2013-04-08 19:17:56
【问题描述】:
我想优化一个函数,参数总和设置为 1 这里有函数
varxyz<-function(param){
a<-param[1]
b<-param[2]
c<-param[3]
a^2*matcov[1,1]+b^2*matcov[2,2]+c^2*matcov[3,3]+2*a*b*matcov[1,2]+2*a*c*matcov[1,3]+2*b*c*matcov[2,3]
}
parammv <- optim(c(0.3,0.3,0.4),varxyz,method="L-BFGS-B",lower=c(0.1,0.1,0.1))
其中 matcov 是协方差矩阵
如何将三个参数的总和设置为 1? 谢谢解答
【问题讨论】:
-
?optim开始吧,也许吧。 -
只优化2个参数,第三个固定为
c = 1 - (a + b) -
您正在寻找
constrOptim,请查看ui和ci参数。有关详细信息,请参阅?constrOptim。 -
@Jilber
ConstrOptim?但是如何设置约束=1?也许通过给 2 个约束 >= 1 和 -
@baptiste 我也是这么想的,但是你如何指定 c 的下限?
标签: r optimization parameters sum fixed