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.
- Return type
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