我做了一个函数,它返回 (X'X)^-1 的确定项。我需要在我创建的函数上使用 optim 函数,以便为我提供 X 矩阵的最佳值。我在让 optim 工作时遇到问题,但我的功能运行良好。
fr <- function(x,nc,nr) {
Xd <- matrix(c(rep(1,nr),x),nrow=nr,ncol=nc) #### Design matrix
det(solve((t(Xd)%*%Xd))) #### det(FIM)
}
我试过 x 作为向量和矩阵;
x <-
matrix(c(0.1,0.2,0.3,0.2,0.1,0,0.1,0.2,0.1,0.2,0.1,0.2,0.1,0.2,0.1,0.2,0.1,0.2,0.1,0.2),nro w = 10, ncol = 2)
x <- c(0.1,0.2,0.3,0.2,0.1,0,0.1,0.2,0.1,0.2,0.1,0.2,0.1,0.2,0.1,0.2,0.1,0.2,0.1,0.2)
这些是我用 optim 尝试过的一些变体,但都没有成功;
optim((x, 3, 10), fr)
optim(fn = fr, par = c(x=x, nc=3, nr=10))
optim(c(x,3,10), fr)
我收到不同的错误,有时是因为 optim 中的 x 后面有一个逗号,有时是 .Internal 关于 nrow 丢失的错误。