Skip to content
Back to formatted view

Raw Message

Message-ID: <x2llnhnk8y.fsf@biostat.ku.dk>
Date: 2004-02-06T00:07:25Z
From: Peter Dalgaard
Subject: for help about MLE in R
In-Reply-To: <BAY13-F46KKA9vRZhs600062a51@hotmail.com>

"Edward Sun" <edwardweisun at hotmail.com> writes:

> Dear Sir,
> 
> I am using R to estimate two parameters in Normal distribution. I
> generated 100 normal distributed numbers, on which to estimate the
> parameter. The syntax is:
> 
> >fn<-function(x)-50*log((y)^2)+50*log(2*pi)-(1/2*(z^2))*(sum((x-y)^2))
> >out<-nlm(fn, x, hessian=TRUE)
> 
> but it does not work. Could you please help me to compose the syntax
> for the purpose that find maximum likelihood estimates of the
> generated random numbers by direct maximization of the likelihood
> function?

Apologies if this wasn't a homework question, but

a) That is not the likelihood function. Try fn(0). What is the z doing
in there? The log((y)^2) makes the whole thing vector valued, which
you do not want. Get this right first and perhaps do a plot of the
function values.

b) Second argument to nlm is supposed to be a starting value for the
parameter (e.g., 0.5), and you seem to be thinking differently. Also
note that you are feeding the log-likelihood to a *minimizer*.

-- 
   O__  ---- Peter Dalgaard             Blegdamsvej 3  
  c/ /'_ --- Dept. of Biostatistics     2200 Cph. N   
 (*) \(*) -- University of Copenhagen   Denmark      Ph: (+45) 35327918
~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk)             FAX: (+45) 35327907