"Realloc" не может перераспределить память с adaptItegrate

Я попытался свести к минимуму -2 правдоподобие, используя функцию nlm в R. Один из компонентов моей функции правдоподобия - это двойной интеграл, который был рассчитан с использованием adaptItegrate. С некоторыми предварительно заданными начальными значениями я получил значение вероятности довольно быстро (менее 1 минуты). Однако, когда я использую функцию nlm для оптимизации, мне потребовалось довольно много времени (почти 1 час) для первой итерации, и в итоге я получил сообщение об ошибке "перераспределение памяти". Кто-нибудь знает, почему это могло произойти? И как я могу это исправить. Это моя двойная интегральная функция:

doubleint= function(y){
    h<- function(x){
      sig1*sig2*exp(-sig1*(y-x[1]))*exp(-sig2*(y-x[2]))*
        laplace(alpha1/beta1*(exp(beta1*y)-exp(beta1*x[1]))+alpha2/beta2*(exp(beta2*y)-exp(beta2*x[2])))
    }    
    sol=adaptIntegrate(h,lowerLimit=c(0,0),upperLimit=c(y,y),fDim = 1,doChecking=FALSE,tol=1e-5)$integral
    return(sol)
  }

0 ответов

Другие вопросы по тегам