FitBenchmarking: A tool for comparing fitting software


Keywords
benchmark, comparison, fitting, least, squares, optimisation
License
BSD-3-Clause
Install
pip install FitBenchmarking==1.1.0

Documentation

Build Status Coverage Status

FitBenchmarking

FitBenchmarking is tool for comparing different minimizers/fitting software based on their accuracy and runtimes.

Quick start

Python 2.7 will be needed for running/installing this. Instructions for setting up python are available here.

  1. Download this repository or clone it using git: git clone https://github.com/mantidproject/fitbenchmarking.git
  2. Open up a terminal (command prompt) and go into the fitbenchmarking directory.
  3. Once you are in the right directory, type python setup.py install.
  4. Install mantid, platform specific instructions here.
  5. Open the mantidpython terminal
    • Ubuntu: in a normal terminal cd to /opt/Mantid/bin and run ./mantidpython
    • Windows: go to where you installed Mantid and search for a file called mantidpython

Finally, in this terminal, run example_scripts/example_runScript.py, located in the example_scripts folder. This example script fit benchmarks Mantid using all the available minimizers. The resulting tables can be found in example_scripts/results.

What the tool does

The tool creates a table/tables that shows a comparison between the different minimizers available in a fitting software (e.g. scipy or mantid), based on their accuracy and/or runtimes. An example of a table is:

Example Table

This is the result of fitbenchmarking mantid on a set of neutron data. The results are normalised with respect to the best minimizer per problem. The problem names link to html pages that display plots of the data and the fit that was performed, together with initial and final values of the parameters. Here is an example of the final plot fit.

Example Plot

Currently Benchmarking