R 寻找带循环的optim函数的参数估计?
我想用optim函数计算模型的参数。我尝试使用最符合逻辑的值作为参数估计,但不幸的是,它们不起作用,因为optim函数无法与我给出的初始参数估计一起工作。 我想也许我可以写一个循环来测试参数估计的不同组合,并存储这些组合(或者仅仅是第一个组合),从而得到optim$convergence==0 然而,我没有成功地编写这样一个循环。所以我想知道是否有人能帮我解决这个问题。或者知道解决问题的更好方法 我的代码如下所示R 寻找带循环的optim函数的参数估计?,r,model-fitting,R,Model Fitting,我想用optim函数计算模型的参数。我尝试使用最符合逻辑的值作为参数估计,但不幸的是,它们不起作用,因为optim函数无法与我给出的初始参数估计一起工作。 我想也许我可以写一个循环来测试参数估计的不同组合,并存储这些组合(或者仅仅是第一个组合),从而得到optim$convergence==0 然而,我没有成功地编写这样一个循环。所以我想知道是否有人能帮我解决这个问题。或者知道解决问题的更好方法 我的代码如下所示 FN <- function(par, x, k, N){ a1 <
FN <- function(par, x, k, N){
a1 <- par[1]
aa <- par[2]
b1 <- par[3]
bb <- par[4]
a2 <- par[5]
aa2 <- par[6]
b2 <- par[7]
bb2 <- par[8]
p <- cbind ((a1+aa*(Data$FDS=="low")) + ((b1+bb*(Data$FDS=="low")) * x),
1 - (((a2+aa2*(Data$FDS=="low")) * (x ^ 2))/(((b2+bb2*(Data$FDS=="low")) ^ 2) + (x ^ 2))))[cbind(1:length(Data$Location_2), Data$Location_2)]
zprob1 <- par [9]
zprob2 <- par [10]
nll <- -sum(dzibinom(x = k, prob = p, size = N,
zprob = c(zprob1,zprob2)[Data$Location_2], log = T))
return(nll)
}
opt1 <- optim(par = c(a1 = 0.38 , aa = 0.0001, b1 = 0.04, bb = 0, a2 = 0.61, aa2 = 0.0001, b2 = 1.6, bb2=0.00001, zprob1 = 0.93, zprob2 = 0.89),
x = Data$Day, k = Data$k,
N = Data$N, fn = FN, hessian = TRUE)
opt2
FN我们有机会吗?有机会吗?