If your problem was as you described it, you'd simply find the 1st derivative of your eq. w.r.t. k, equate to 0, and then solve for k (and check that the solution is a maximum). But I guess what you really want to do is to estimate k from data given your equation and _another model_ for the likelihood of the data. If that is the case then you haven't yet defined the model for the likelihood of the data as a function of your single parameter k. You have to define an R function that contains your process model (apparently your equation) and your likelihood model, which will be made from some probability model for the data. Try this to get help on how to write new functions: ?"function" After defining this function with the two models then you can maximize the likelihood of the data as a function of the process model parameter k. If there is only one parameter then it is recommended to use optimise(), instead of optim(). It is not necessary to maximize, just minimize the negative of the log(likelihood) once you have defined what this likelihood is.
HTH Rubén -----Original Message----- From: r-help-boun...@r-project.org on behalf of mlar...@rsmas.miami.edu Sent: Sat 10/2/2010 3:11 AM To: r-help@r-project.org Subject: [R] [Fwd: RE: maximum likelihood problem] I forgot to add that I first gave a starting value for K. Nonlinear least squares won't work because my errors are not normally distributed. Any advide on my maximum likelihood function would be greatly appreciated. ---------------------------- Original Message ---------------------------- Subject: RE: [R] maximum likelihood problem From: "Ravi Varadhan" <rvarad...@jhmi.edu> Date: Fri, October 1, 2010 5:10 pm To: mlar...@rsmas.miami.edu r-help@r-project.org -------------------------------------------------------------------------- Do you want to do a nonlinear least-squares estimation (which is MLE if the errors are Gaussian)? If so, you have to define a function that takes the parameter (k) and data matrix (LR, T, LM), as arguments, and returns a scalar, which is the residual sum of squares. Then you can optimize (minimize) that function. Ravi. -----Original Message----- From: r-help-boun...@r-project.org [mailto:r-help-boun...@r-project.org] On Behalf Of mlar...@rsmas.miami.edu Sent: Friday, October 01, 2010 4:40 PM To: r-help@r-project.org Subject: [R] maximum likelihood problem I am trying to figure out how to run maximum likelihood in R. Here is my situation: I have the following equation: equation<-(1/LR-(exp(-k*T)*LM)*(1-exp(-k))) LR, T, and LM are vectors of data. I want to R to change the value of k to maximize the value of equation. My attempts at optim and optimize have been unsuccessful. Are these the recommended functions that I should use to maximize my equation? With optim I wanted the function to be maximized so I had to make the fnscale negative. Here is what I put: L<-optim(k,equation,control=(fnscale=-1)) My result: Error: could not find function "fn" Here is what I put for optimize: L<-optimise(equation,k,maximum=TRUE) My result: Error: 'xmin' not less than 'xmax' Any advise would be greatly appreciated. Mike ______________________________________________ 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. ______________________________________________ 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. [[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.