normal_sample(num=1, sigma=1, correlate=True, id=None, otherids=(), numcores=None)¶
Sample the fit statistic by taking the parameter values from a normal distribution.
For each iteration (sample), change the thawed parameters by drawing values from a uni- or multi-variate normal (Gaussian) distribution, and calculate the fit statistic.
- num (int, optional) – The number of samples to use (default is 1).
- sigma (number, optional) – The width of the normal distribution (the default is 1).
- correlate (bool, optional) – Should a multi-variate normal be used, with parameters
set by the covariance matrix (
True) or should a uni-variate normal be used (
- id (int or str, optional) – The data set containing the model expression. If not given then the default identifier is used, as returned by get_default_id.
- otherids (sequence of int or str, optional) – For when multiple source expressions are being used.
- numcores (optional) – The number of CPU cores to use. The default is to use all the cores on the machine.
A NumPy array table with the first column representing the statistic and later columns the parameters used.
All thawed model parameters are sampled from the Gaussian distribution, where the mean is set as the best-fit parameter value and the variance is determined by the diagonal elements of the covariance matrix. The multi-variate Gaussian is assumed by default for correlated parameters, using the off-diagonal elements of the covariance matrix.
The model fit to the default data set has three free parameters. The median value of the statistic calculated by normal_sample is returned:
>>> ans = normal_sample(num=10000) >>> ans.shape (1000, 4) >>> np.median(ans[:,0]) 119.82959326927781