TableModel
- class sherpa.models.basic.TableModel(name='tablemodel')[source] [edit on github]
Bases:
ArithmeticModel
Tabulated values in this model are simply linearly scaled.
After initializing this model, the independent and dependent arrays need to be loaded using the
load
method before the model can be used (see examples below); interpolation is used if the grids of the data and the table do not match.When used with an integrated data set (for example,
Data1DInt
) the independent axis loaded should be the left-edge of the bin, and the dependent axis is the integrated value for that bin.This model can also be used as to fit indexed data where the independent axis is not a continuous variable, e.g. the independent variable may hold the index for a number of stars and the dependent variable some measured property for each star. In this case, the independent variable needs to be loaded as
None
and the length of the dependent array needs to match the length of the data array exactly.- ampl
The linear scaling factor for table values
See also
Examples
Below is an example for the “indexed” use:
>>> import numpy as np >>> from sherpa.models.basic import TableModel >>> from sherpa.data import Data1D >>> from sherpa.stats import Chi2 >>> from sherpa.optmethods import NelderMead >>> from sherpa.fit import Fit >>> d = Data1D('data', [1,2,3,4,5], [1.2, .4, 2.2, .3, 1.], ... staterror=[.2, .2, .2, .2, .2]) >>> tm = TableModel('tabmodel') >>> tm.load(None, np.array([.6, .2, 1.1, .2, .5])) >>> fit = Fit(d, tm) >>> res = fit.fit()
This even works for masked data, if the model’s
fold
method is called first, which informs the model which values are masked.>>> d = Data1D('data', [1,2,3,4,5], ... np.ma.masked_invalid([np.nan, np.nan, 2.2, .3, 1.]), ... staterror=[.2, .2, .2, .2, .2]) >>> tm = TableModel('tabmodel') >>> tm.load(None, np.array([.6, .2, 1.1, .2, .5])) >>> tm.fold(d) >>> fit = Fit(d, tm) >>> res = fit.fit()
Attributes Summary
The maximum size of the cache.
The dimensionality of the model, if defined, or None.
The hard maximum values for the thawed parameters.
The hard minimum values for the thawed parameters.
The maximum limits of the thawed parameters.
The minimum limits of the thawed parameters.
The thawed parameters of the model.
Methods Summary
apply
(outer, *otherargs, **otherkwargs)Clear the cache.
Display the cache status.
calc
(p, x0[, x1])Evaluate the model on a grid.
fold
(data)freeze
()Freeze any thawed parameters of the model.
get_x
()get_y
()guess
(dep, *args, **kwargs)Set an initial guess for the parameter values.
load
(x, y)reset
()Reset the parameter values.
set_center
(*args, **kwargs)startup
([cache])Called before a model may be evaluated multiple times.
teardown
()Called after a model may be evaluated multiple times.
thaw
()Thaw any frozen parameters of the model.
Attributes Documentation
- cache = 5
The maximum size of the cache.
- ndim = None
The dimensionality of the model, if defined, or None.
- thawedparhardmaxes
The hard maximum values for the thawed parameters.
The minimum and maximum range of the parameters can be changed with thawedparmins and thawedparmaxes but only within the range given by thawedparhardmins to thawparhardmaxes.
See also
- thawedparhardmins
The hard minimum values for the thawed parameters.
The minimum and maximum range of the parameters can be changed with thawedparmins and thawedparmaxes but only within the range given by thawedparhardmins to thawparhardmaxes.
See also
- thawedparmaxes
The maximum limits of the thawed parameters.
Get or set the maximum limits of the thawed parameters of the model as a list of numbers. If there are no thawed parameters then [] is used. The ordering matches that of the pars attribute.
See also
thawedpars
,thawedarhardmaxes
,thawedparmins
- thawedparmins
The minimum limits of the thawed parameters.
Get or set the minimum limits of the thawed parameters of the model as a list of numbers. If there are no thawed parameters then [] is used. The ordering matches that of the pars attribute.
See also
thawedpars
,thawedarhardmins
,thawedparmaxes
- thawedpars
The thawed parameters of the model.
Get or set the thawed parameters of the model as a list of numbers. If there are no thawed parameters then [] is used. The ordering matches that of the pars attribute.
See also
Methods Documentation
- apply(outer, *otherargs, **otherkwargs) [edit on github]
- cache_clear() [edit on github]
Clear the cache.
- cache_status() [edit on github]
Display the cache status.
Information on the cache - the number of “hits”, “misses”, and “requests” - is displayed at the INFO logging level.
Example
>>> pl.cache_status() powlaw1d.pl size: 5 hits: 633 misses: 240 check= 873
- calc(p, x0, x1=None, *args, **kwargs)[source] [edit on github]
Evaluate the model on a grid.
- Parameters
p (sequence of numbers) – The parameter values to use. The order matches the
pars
field.*args – The model grid. The values can be scalar or arrays, and the number depends on the dimensionality of the model and whether it is being evaluated over an integrated grid or at a point (or points).
- fold(data)[source] [edit on github]
- freeze() [edit on github]
Freeze any thawed parameters of the model.
- get_center() [edit on github]
- get_x()[source] [edit on github]
- get_y()[source] [edit on github]
- guess(dep, *args, **kwargs) [edit on github]
Set an initial guess for the parameter values.
Attempt to set the parameter values, and ranges, for the model to match the data values. This is intended as a rough guess, so it is expected that the model is only evaluated a small number of times, if at all.
- load(x, y)[source] [edit on github]
- reset() [edit on github]
Reset the parameter values.
Restores each parameter to the last value it was set to. This allows the parameters to be easily reset after a fit.
- set_center(*args, **kwargs) [edit on github]
- startup(cache=False) [edit on github]
Called before a model may be evaluated multiple times.
- Parameters
cache (bool, optional) – Should a cache be used when evaluating the models.
See also
- teardown() [edit on github]
Called after a model may be evaluated multiple times.
See also
- thaw() [edit on github]
Thaw any frozen parameters of the model.
Those parameters that are marked as “always frozen” are skipped.