[R] Optimization to fit data to custom density distribution

Johannes Radinger johannesradinger at gmail.com
Sat Mar 21 15:27:25 CET 2015


Thanks for the fast response. The fitdistr() function works well for the
predefined density functions. However, what is the recommended approach to
optimize/fit a density function described by two superimposed normal
distributions? In my case it is N1(mean=0,sd1)*p+N2(mean=0,sd2)*(1-p). With
fitdistr one can only choose among the 15 distributions. Probably this
needs an approach using optim()? However I am so far unfamiliar with these
packages. So any suggestion ist welcome. :)

/Johannes

On Sat, Mar 21, 2015 at 2:16 PM, Prof Brian Ripley <ripley at stats.ox.ac.uk>
wrote:

> One way using the standard R distribution:
>
> library(MASS)
> ?fitdistr
>
> No optimization is needed to fit a normal distribution, though.
>
>
> On 21/03/2015 13:05, Johannes Radinger wrote:
>
>> Hi,
>>
>> I am looking for a way to fit data (vector of values) to a density
>> function
>> using an optimization (ordinary least squares or maximum likelihood fit).
>> For example if I have a vector of 100 values generated with rnorm:
>>
>> rnorm(n=100,mean=500,sd=50)
>>
>> How can I fit these data to a Gaussian density function to extract the
>> mean
>> and sd value of the underlying normal distribution. So the result should
>> roughly meet the parameters of the normal distribution used to generate
>> the
>> data. The results will ideally be closer the true parameters the more data
>> (n) are used to optimize the density function.
>>
>
> That's a concept called 'consistency' from the statistical theory of
> estimation.  If you skipped that course, time to read up (but it is
> off-topic here).
>
> --
> Brian D. Ripley,                  ripley at stats.ox.ac.uk
> Emeritus Professor of Applied Statistics, University of Oxford
> 1 South Parks Road, Oxford OX1 3TG, UK
>

	[[alternative HTML version deleted]]



More information about the R-help mailing list