BayesicFitting

Model Fitting and Evidence Calculation

View project on GitHub



class UserModel( Model )Source

Wrapper for a Models where the User provides the method the evaluate f( x: p ) as userResult( x, param )

and optionally the partial derivatives to p and x and a name

df/dp as userPartial( x, param ) df/dx as userDeriv( x. param ) name as string

Examples

import numpy as np
def ur( x, p ) 
    return p[0] * np.sin( p[1] * x + p[2] * np.log( x + p[3] ) ) 


mdl = UserModel( 4, ur, userName="slowchirp" )
print( mdl )
UserModel( slowchirp )
print( mdl.npars )
4

Attributes

  • userResult : callable
         method to evaluate the result of the F(x:p)
         defined as method( x, p )
  • userPartial : callable
         method to evaluate the partial derivatives df/dp
         defined as method( x, p ). Default: numeric derivative
  • userDerivative : callable
         method to evaluate the derivative df/dx
         defined as method( x, p ). Default: numeric derivative
  • userName : str
         name of the class

Attributes from Model

     npchain, parameters, stdevs, xUnit, yUnit

Attributes from FixedModel

     npmax, fixed, parlist, mlist

Attributes from BaseModel

     npbase, ndim, priors, posIndex, nonZero, tiny, deltaP, parNames

UserModel( npars, userResult, ndim=1, userPartial=None, userDeriv=None, userName="unknown", copy=None, **kwargs )

User provided model.

Parameters

  • npars : int
         number of parameters of this model
  • userResult : callable
         method of the form userResult( x, p )
         where x is the independent variable; array_like
               p is the parameter vector; array_like
  • ndim : int
         number of input streams.
  • userPartial : callable
         method of the form userPartial( x, p )
         where x is the independent variable; array_like
               p is the parameter vector; array_like
  • userDeriv : callable
         method of the form userDeriv( x, p )
         where x is the independent variable; array_like
               p is the parameter vector; array_like
  • userName : str
         Name for this model
  • copy : UserModel
         to be copied

copy( )

Copy method.

setMethod( name, userMethod, numeric=None )

baseResult( xdata, params )
Returns the result of the model function.

Parameters

  • xdata : array_like
         values at which to calculate the result
  • params : array_like
         values for the parameters.

basePartial( xdata, params, parlist=None )
Returns the partials at the input value.

Parameters

  • xdata : array_like
         values at which to calculate the partials
  • params : array_like
         values for the parameters.
  • parlist : array_like
         list of indices active parameters (or None for all)

baseDerivative( xdata, params )
Return the derivative df/dx at each xdata (=x).

Parameters

  • xdata : array_like
         values at which to calculate the result
  • params : array_like
         values for the parameters.

baseName( )
Returns a string representation of the model.
Methods inherited from Model
Methods inherited from FixedModel
Methods inherited from BaseModel