optim()和求解R中的对角矩阵(拟合参数错误)
我试图在以下问题中找到解决方案: 可复制性的任意值:optim()和求解R中的对角矩阵(拟合参数错误),r,optimization,matrix,diagonal,R,Optimization,Matrix,Diagonal,我试图在以下问题中找到解决方案: 可复制性的任意值: AZ2k <- seq(1:14) noAZ2k <- matrix(seq(1:25), 14, 50) par <- rep(0.02 , 50) vw <- function(w) { t(AZ2k - noAZ2k %*% par)%*%w%*%(AZ2k - noAZ2k %*% par ) } vweights <- optim(diag(1,14), vw, gr = NUL
AZ2k <- seq(1:14)
noAZ2k <- matrix(seq(1:25), 14, 50)
par <- rep(0.02 , 50)
vw <- function(w)
{
t(AZ2k - noAZ2k %*% par)%*%w%*%(AZ2k - noAZ2k %*% par )
}
vweights <- optim(diag(1,14), vw, gr = NULL,
method = c("L-BFGS-B"),
lower = 0, upper = 10000,control = list( factr = 1e4, maxit = 1000, pgtol = .01 ),
hessian = FALSE)
我得到了一个结果,但是当我尝试运行优化时,它说这些值不合适,这让我感到惊讶
我可能遗漏了一些非常明显的东西,但我就是找不到哪里出了问题,除非optim只是使用了一个错误的函数,但我无法找到合适的替代方法 您的w参数已转换为向量,因此需要将其强制转换为具有正确维度的矩阵:
vw <- function(w){
w <- matrix(w,nrow=14,ncol=14,byrow=T)
t(AZ2k - noAZ2k %*% par)%*%w%*%(AZ2k - noAZ2k %*% par )
}
vw <- function(w){
w <- matrix(w,nrow=14,ncol=14,byrow=T)
t(AZ2k - noAZ2k %*% par)%*%w%*%(AZ2k - noAZ2k %*% par )
}