Default classes¶
single_starting_point¶
- class profile_likelihood.default.single_starting_point.single_starting_point(start0)¶
Default class to get and process initial guesses used in the optimization.
- Parameters
- start0
(Optional) Initial guess used when the optimization is done around the best-fit parameter.
- Attributes
- nguess
(Required) Number of different initial guess.
- start0
(Optional) Initial guess used when the optimization is done around the best-fit parameter.
- nparams
(Optional) Number of parameters.
- start
(Optional) Values of the starting points.
Methods
get_points
(ii)(Required) Return 2D array of starting points for optimizations corresponding to each fixed parameter value.
(Required) Reset the starting points to
self.start0
.update
(results_opt, ii)(Required) Update the initial guesses.
- get_points(ii)¶
(Required) Return 2D array of starting points for optimizations corresponding to each fixed parameter value.
- Parameters
- ii: int
Location of index of parameters held fixed in the list of index given.
- Returns
ndarray
Array of initial starting points used in the optimization when parameter idx is held fixed.
- set_points_0()¶
(Required) Reset the starting points to
self.start0
. The profile likelihood computation will start frombest_fit
then moves to the left, and then it will go back to thebest_fit
and move to the right this time. This method is called when the computation move back to thebest_fit
.
- update(results_opt, ii)¶
(Required) Update the initial guesses. This method will be called every time after an optimization for 1 fixed parameter value.
- Parameters
- results_opt:
Output from
fit_class.optimize
.- ii: int
Location of index of parameters held fixed in the list of index given.
fit_leastsq¶
- class profile_likelihood.default.fit_leastsq.fit_leastsq(nreturned, **kwargs)¶
The default fit class used to calculate the profile likelihood. The fitting/optimization uses
scipy.optimize.least_squares
.- Parameters
- nreturned: int
(Required) Number of things returned by the by the fitting class. This is translated as the number of columns of the array to store the results temporarily. This will be used to create the matrix to store the results temporarily. For this fit class, nreturned should be num_params + 2, since the error code and the cost are also stored in addition to the optimized parameters.
- **kwargs
(Optional) Keyword arguments to pass on to optimization routine.
Methods
callback
(opt_output, fixed_param, idx)(Required) Process the results from
fit_class.optimize
.optimize
(residuals, initial_guess, idx, …)Do the optimization using scipy.optimize.least_squares.
- callback(opt_output, fixed_param, idx)¶
(Required) Process the results from
fit_class.optimize
. It takes(opt_output, fixed_param, idx)
as arguments. This method processes raw results fromfit_class.optimize
(opt_output
parameter) to match the format used byprofile_likelihood
class. This method returns a 1D array, with element 0 beerror_code
, elements 1 to n beopt_params
, and element n+1 becost
. The array can have more element to return, if user wishes to return more information. For reference, also see_result_dict()
for the construction of the final results dictionary from the array returned by this method.- Parameters
- opt_output:
Output from
fit_class.optimize
.- fixed_param: float
Value of parameter that is held fixed.
- idx: int
Index of fixed parameter. Together with
fixed_param
, this is used to insert the fixed parameter into the parameter result from the optimization.
- Returns
- 1D
array
Array in the format
[error_code, *opt_params, *others, cost]
.
- 1D
- optimize(residuals, initial_guess, idx, fixed_param)¶
Do the optimization using scipy.optimize.least_squares. It takes arguments
residuals, initial_guess, idx, fixed_param
. This method contains the optimization routine to use.- Parameters
- residuals: callable
Function to be optimized. This will be a wrapper to
model.residuals
(see_model_wrapper()
).- initial_guess: 1D array
Initial guess for the optimization. This will be a vector of length n-1, where n is the number of model’s parameters
- idx: int
Index of parameter that is fixed. This is needed to insert
fixed_param
in to it’s proper location.- fixed_param: float
Value of parameter that is held fixed.
- Returns
Result
of
optimization
in
any
format.Further
processing
will be done by
return_class
.