gpt4 book ai didi

r - 固定参数总和的R优化

转载 作者:行者123 更新时间:2023-12-03 17:33:03 24 4
gpt4 key购买 nike

我想优化一个功能,并将参数总和设置为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?
谢谢答案

最佳答案

由于这是二次优化问题,因此可以使用quadprog

# Sample data
n <- 3
matcov <- var(matrix(rnorm(2*n^2),2*n,n))

library(quadprog)
solve.QP(matcov, rep(0,n), matrix(1,nc=1,nr=n), 1, meq=1)

# With lower- and upper-bound constraints:
solve.QP(
matcov, rep(0,n),
cbind(
rep(1,n), # Equality constraint
diag(n), # Lower bound constraint
-diag(n) # Upper bound constraint
),
c(
1, # Equality constraint RHS
rep(.1,n), # Lower bound
rep(-1,n) # - Upper bound
),
meq = 1 # The first constraint is an equality
)

关于r - 固定参数总和的R优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16036131/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com