calibration module
- class surmise.calibration.calibrator(emu=None, y=None, x=None, thetaprior=None, yvar=None, method='directbayes', args={})[source]
Bases:
object
A class to represent a calibrator. Fits a calibrator model provided in
calibrationmethods/[method].py
where [method] is the user option with default listed above.Tip
To use a new calibrator, just drop a new file to the
calibrationmethods/
directory with the required formatting.- Example:
calibrator(emu=emu, y=y, x=x, thetaprior=thetaprior, method='directbayes', args=args)
- Parameters:
emu (surmise.emulation.emulator, optional) – An emulator class instance as defined in surmise.emulation. The default is None.
y (numpy.ndarray, optional) – Array of observed values at x. The default is None.
x (numpy.ndarray, optional) – An array of x values that match the definition of “emu.x”. Currently, existing methods supports only the case when x is a subset of “emu.x”. The default is None.
thetaprior (class, optional) –
class instance with two built-in functions. The default is None.
Important
If a calibration method requires sampling, then the prior distribution of the parameters should be included into the calibrator. In this case, thetaprior class should include two methods:
lpdf(theta)
Returns the log of the pdf of a given theta with size
(len(theta), 1)
rnd(n)
Generates n random variable from a prior distribution.
- Example:
class prior_example: def lpdf(theta): return sps.uniform.logpdf( theta[:, 0], 0, 1).reshape((len(theta), 1)) def rnd(n): return np.vstack((sps.uniform.rvs(0, 1, size=n)))
yvar (numpy.ndarray, optional) – The vector of observation variances at y. The default is None.
method (str, optional) – A string that points to the file located in
calibrationmethods/
you would like to use. The default is ‘directbayes’.args (dict, optional) – Optional dictionary containing options you would like to pass to [method].fit(x, theta, f, args) or [method].predict(x, theta args) The default is {}.
- Raises:
ValueError – If the dimension of the data do not match with the fitted emulator.
- Return type:
None.
- fit(args=None)[source]
Calls “calibrationmethods.[method].fit” where “[method]” is the user option.
- Parameters:
args (dict) – A dictionary containing options you would like to pass
- predict(x=None, args=None)[source]
Returns predictions at x.
- Example:
calibrator.predict(x=x, args=args)
- Parameters:
x (numpy.ndarray, optional) – An array of inputs to the model where to predict. The default is None.
args (dict, optional) – A dictionary containing options. The default is None.
- Returns:
An instance of calibration class prediction.
- Return type:
- class surmise.calibration.prediction(info, cal)[source]
Bases:
object
A class to represent a calibration prediction. predict.info will give the dictionary from the method.
- Example:
prediction.lpdf() prediction.mean() prediction.var() prediction.rnd()