How to use Qnfit
How to use Qnfit for curve fitting
Before attemting to use QNFIT you should fit one a of the
test files to see just how it works with properly formatted
data. A good example would be to fit gauss3.tf1, selecting
the expert mode, then fitting a sum of three Gaussian pdfs
(spikes) with no constant term. Use the graphical deconvolution
option to see how the best fit curve is composed of three
independent contributing sub-functions. Also explore the
option to calculate error bars interactively from data with
replicates
You can curve-fit with sequences of models or the same model
from different start estimates. You can decide to fix any of
the parameters at constant values or else define windows, e.g.
Lower limit =< Parameter value =< Upper limit
to constrain any sub-set of parameters. Once you have chosen
a single model (or a model from a sequence) and decided upon
appropriate parameter limits (and constraints), you can then
start curve-fitting using the initial starting estimates, or
give the program a chance to improve upon these by a random
search within the window set by the parameter limits.
The program minimises the normalised weighted sum of squared
residuals WSSQ/NDOF which has expectation unity at the solution
point if the model is correct and accurate weights are used.
It is assumed that you can suppy good
estimates of standard errors of the data for weighting.
Otherwise set all weights to unit (i.e. all s(i) = 1) and do
unweighted regression.
Supply all your observations in sequence, not as means and standard
errors of means, or biased statistics will result. If you ever
supply Simfit with data consisting of means of replicates rather
than the original data, you are doing something wrong.
You can fit functions of 1, 2 or 3 independent variables or
scalar differential equations, by selecting models from a dll
library or by supplying models as ASCII text files.
For functions of 1 variable use MAKFIL to make a file like this:
... Title
... No. rows No. columns (i.e.n, 3)
... x f(x) s.e.f(x)
Edit/weight such files using EDITFL.
For functions of 2 or 3 variables use MAKMAT for a file like
... Title
... No. rows No. columns (e.g. n, 4)
... x y g(x,y) s.e.g(x,y)
or
... Title
... No. rows No. columns (e.g.n, 5)
... x y z h(x,y,z) s.e.h(x,y,z)
Here n is the number of observations, x, y, z are values of the
known independent variables (i.e error free)
while f(x), g(x,y), h(x,y,z) are the observed function values
(i.e. with experimental error) while the s.e. are the estimated
standard errors for weighting w = 1/s.e.^2.
Setting s.e. = 1 results in unweighted fitting.
Edit such files using EDITMT.
If possible, with k parameters, end data files like this
begin{limits}
lower limit 1 starting estimate 1 upper limit 1
lower limit 2 starting estimate 2 upper limit 2
lower limit 3 starting estimate 3 upper limit 3
...
...
lower limit k starting estimate k upper limit k
end{limits}
as with test file gauss3.tf1. Or you can end data files as follows
... last line of data ...
No. extra lines (> k + 1)
k
lower limit 1 starting estimate 1 upper limit 1
lower limit 2 starting estimate 2 upper limit 2
lower limit 3 starting estimate 3 upper limit 3
...
...
lower limit k starting estimate k upper limit k
...
as with test file gauss3.tf2.
These techniques allow you to use EXPERT mode where defaults are read
from the file but can still be over-ridden interactively.
See other test files such as qnfit.tf1, qnfit.tf2, and qnfit.tf3 for examples.
Configuring QNFIT
Here is a list of the configuration options that can be set when the
program starts, or after a model has been fitted.
- Best-fit model: display and file a short summary
This summarises the results from optimisation
and should always be switched on.
- Best-fit model: display and file table of parameters
This summarises the parameters and standard errors
resulting from the optimisation and should always
be switched on.
- Best-fit model: plot data with best-fit curve
For functions of one variable this should always
be switched on.
However, functions of two or three
variables need more careful interpretation of the
surfaces and contours and these facilities may not be
be provided in this version.
- Best-fit model: display and file correlation matrix
Only needed by experienced users.
- Best-fit model: display and file Hessian eigenvalues, etc.
Only needed by very experienced users.
- Table of residuals: display
Probably only needed for relatively short data sets.
- Table of residuals: file
Certainly only needed for relatively short data sets.
- Table of residuals: Save As ...
Only needed by experts who wish to write the residuals
to file for further analysis.
- Analysis of residuals: display
A useful summary that should always be switched on.
- Analysis of residuals: file
A useful summary that should always be written to the results file.
- Analysis of residuals: display diagnostic plots
A vital way to assess goodness of fit, especially the
half normal plot.
- Parameters: warning if there are a large number
May be switched on for inexperienced users or group use to alert
users to the possibility that an incorrect or over-determined model
has been selected.
- Parameters: display limits provided by data file
Allows users to check limits supplied on the end of
the data file using the begin{limits} ... end{limits} technique.
- Parameters: display when at limits before fitting
A reminder of variables that are fixed before fitting.
- Parameters: display when at limits after fitting
A warning about which parameters have reached limits.
- Parameters: random search for starting estimates
If the model is correct, the data extensive and accurate,
and good starting estimates are available, this should not
be used.
It should only be used to explore parameter space
for the possibility of several minima in the objective function,
as in global optimisation.
- Data: check for x not in increasing order, etc.
This is automatically switched on for differential equations to be
sure x is in non-decreasing order, which is assumed by the ODE
solvers.
It also checks for very large or very small data values,
which suggests re-scaling, or for very large or very small signal to
noise ratios, which suggest noisy or impossibly accurate data.
So it could be switched on if convergence is not taking place.
- Data: suppress or restore values interactively
This offers users the chance to explore the effect of suppressing
or restoring data points, e.g. possible outliers.
The initial defaults will be suitable for most purposes, but advanced
users may wish to switch on appropriate additional options.
Back to Help Menu or End Help