You need to constrain your parameters such that 0 < vector[1] < 1 and vector[2] > 0.
You could try the `spg' function in package "BB" or the `L-BFGS-B' function in optim to perform this box-constrained optimization. There are other options as well including the `nlminb' function. Ravi. -----Original Message----- From: r-help-boun...@r-project.org [mailto:r-help-boun...@r-project.org] On Behalf Of Hiba Baroud Sent: Tuesday, June 15, 2010 1:33 PM To: r-help@r-project.org Subject: [R] Error in nlm : non-finite value supplied by 'nlm' Hello, I am trying to compute MLE for non-Gaussian AR(1). The error term follows a difference poisson distribution. This distribution has one parameter (vector[2]). So in total I want to estimate two parameters: the AR(1) paramter (vector[1]) and the distribution parameter. My function is the negative loglikelihood derived from a mixing operator. f=function(vector) -sum(log((vector[1]*data$I)+((1-vector[1])*((exp(-2*vector[2]))*besselI(2*ve ctor[2],data$PC))))) nlm(f,p=c(-0.2354,0.00003269)) Error in nlm(f, p = c(-0.2354, 3.269e-05)) : non-finite value supplied by 'nlm' In addition: There were 50 or more warnings (use warnings() to see the first 50) warnings() Warning messages: 1: In besselI(2 * vector[2], data$PC) : value out of range in 'bessel_i' # all warnings are the same I would like to know what are the possible ways to avoid having non-finite value. Thank you very much. H. _________________________________________________________________ Hotmail: Trusted email with Microsofts powerful SPAM protection. [[alternative HTML version deleted]] ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.