Re: fit a BinomialDistribution to exptl data?
- To: mathgroup at smc.vnet.net
- Subject: [mg80466] Re: fit a BinomialDistribution to exptl data?
- From: dh <dh at metrohm.ch>
- Date: Thu, 23 Aug 2007 01:04:58 -0400 (EDT)
- References: <fagso0$8ad$1@smc.vnet.net>
Hi Gordon, FindFit will fit functions that depend on continuous parameters. n is a discrete parameter. Mathematica choose to give a step function for non-integer n, however, FindFit will fail because small change in n will mostly not change the function value. Therefore, what you can do is to replace CDF[..] by a function that is not a step function in n, e.g.: myFun[n_,p_,k_]:=CDF[BinomialDistribution[Floor[n],pp],k]+(CDF[BinomialDistribution[Ceiling[n],pp],k]-CDF[BinomialDistribution[Floor[n],pp],k])(n-Floor[n]) this is certainly not tuned for speed, but will make FindFit happy. hope this helps, Daniel Gordon Robertson wrote: > Given a list of data values, or a list of x-y data points for > plotting the data as an empirical distribution function, how can I > fit a BinomialDistribution to the data? The help documentation for > FindFit shows examples in which the user indicates which function > should be fit (e.g. FindFit[data, a x Log[b + c x], {a, b, c}, x]), > and I've been unable to find an example in which a statistical > distribution is being fit to data. Mathematica complains when I try the > following with an xy list of data that specified an EDF: FindFit > [xyvals, CDF[BinomialDistribution[n, pp], k], {n, pp}, k]. > > G > -- > Gordon Robertson > Canada's Michael Smith Genome Sciences Centre > Vancouver BC Canada > >