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.

Reply via email to