normal_sample
- sherpa.astro.ui.normal_sample(num=1, sigma=1, correlate=True, id: IdType | None = None, otherids: Sequence[IdType] = (), 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.
- Parameters:
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 (False
)?id (int, str, or None, optional) – The data set that provides the data. If not given then all data sets with an associated model are used simultaneously.
otherids (sequence of int or str, optional) – Other data sets to use in the calculation.
numcores (optional) – The number of CPU cores to use. The default is to use all the cores on the machine.
- Returns:
A NumPy array table with the first column representing the statistic and later columns the parameters used.
- Return type:
samples
See also
fit
Fit a model to one or more data sets.
set_model
Set the source model expression for a data set.
set_stat
Set the statistical method.
t_sample
Sample from the Student’s t-distribution.
uniform_sample
Sample from a uniform distribution.
Notes
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.
Examples
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