The Monte Carlo plugin is used to obtain estimates of the confidence limits for a model’s parameters. This is in the context where experimental data exists and a parameter minimization method, such as Levenberg-Marquardt or Nelder-Mead has already been used in order to find a parameter minimum.
The Monte Carlo algorithm is used subsequently at this minimum and will give an estimate of parameter confidence limits corresponding to the variance in the original experimental data.
The plugin has properties such as the size of the Monte Carlo population, minimization algorithm to use (e.g. Nelder-Mead or Levenberg-Marquardt), and on output, confidence limits for each involved parameter.
Plugin properties are documented in more detail in the next section.
Available properties in the Monte Carlo plugin are listed in the table below.
The execute() function will start the Monte Carlo algorithm. Depending on the problem at hand, the algorithm may run for a long time.
The execute(bool inThread), method supports a boolean argument indicating if the execution of the plugin work will be done in a thread, or not. Threading is fully implemented in the Monte Carlo plugin.
The inThread argument defaults to false.
Each generated Monte Carlo dataset is available in a file named, MCDataSets.dat (saved in current working directory).
The Monte Carlo plugin uses all of the available plugin events, i.e. the PluginStarted, PluginProgress and the PluginFinished events.
The available data variables for each event are internally treated as pass through variables, so any data, for any of the events, assigned prior to the plugins execute function (in the assignOn() family of functions), can be retrieved unmodified in the corresponding event function.
Event | Arguments | Purpose and argument types |
PluginStarted | void*, void* | Signal to application that the plugin has started. Both parameters are pass through parameters and are unused internally by the plugin. |
PluginProgress | void*, void* | Communicating progress of fitting. Both parameters are pass through parameters and are unused internally by the plugin. |
PluginFinished | void*, void* | Signals to application that execution of the plugin has finished. Both parameters are pass through parameters and are unused internally by the plugin. |
The following Python script illustrates how the plugin can be used.