Re: Fitting data
- To: mathgroup at smc.vnet.net
- Subject: [mg29567] Re: Fitting data
- From: "Richard" <wzn at jongnederland.nl>
- Date: Mon, 25 Jun 2001 20:42:22 -0400 (EDT)
- References: <9h401r$4a6$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
An normal distibution wasn't a good example. What if I collected data from an experiment that I modeled by (for example): u(t)= a1 * sin(a2*t) + a3*exp(a4^3). How can I find a1, a2, a3 and a4 so that my function fits the data as good as possible? Thanx!! ----- Original Message ----- From: <BobHanlon at aol.com> To: mathgroup at smc.vnet.net Subject: [mg29567] Re: Fitting data > > In a message dated 2001/6/23 2:01:40 AM, wzn at jongnederland.nl writes: > > >How can I fit an function to data in mathematica? For example: in an > >experiment I collect data with a normal distrubution. I want to fit a normal > >curve to this data, with unknown mean and variance. Can I do this with > >the > >mean-squares-method or do I need an iterative algorithm or something like > >that? > > Fitting a distribution is not the same thing as fitting a function. > > For a normal distribution it is quite straightforward. The maximum > likelihood > estimation of the mean of the distribution is Mean[data] > > The maximum likelihood estimation of the standard deviation of the > distribution is StandardDeviationMLE[data] > > Needs["Statistics`NormalDistribution`"]; > Needs["Graphics`Colors`"]; > > Let the "unknown" mean and standard deviation be > > {m, s} = {5*Random[], 2*Random[]} > > {1.3655769021908775, 0.2746217115738358} > > Taking a random sampling from this distribution > > data = RandomArray[NormalDistribution[m, s], {100}]; > > The parameter estimates are then > > {me, se} = {Mean[data], StandardDeviationMLE[data]} > > {1.3879937672329135, 0.28629145363687175} > > Comparing the estimate of the distribution with the actual distribution > > Plot[{PDF[NormalDistribution[m, s], x], PDF[NormalDistribution[me, se], x], > CDF[NormalDistribution[m, s], x], > CDF[NormalDistribution[me, se], x]}, {x, m-2s, m+2s}, > PlotStyle -> {Blue, Red}, ImageSize -> 400]; > > > Bob Hanlon > Chantilly, VA USA >