BayesicFitting

Model Fitting and Evidence Calculation

View project on GitHub



class SineSplineDriftModel( NonLinearModel )Source

Sine with drifting frequency and splineslike amplitudes/phases.

     nd = degree + 1
     nh = len( knots ) + order - 1
     xx = 2 π x PM( x:p[:nd] )
     A = SM( x:p[nd:nd+nh] )
     B = SM( x:p[nd+nh:] )
     f( x:p ) = A cos( xx ) + B sin( xx )

Where PM is a PolynomialModel and SM a SplinesModel

It is a linear model with 2 * ( len(knots) + order - 1 ) papameters.

Examples

knots = [3.0*k for k in range( 11 )]
sine = SineSplineDriftModel( 150, knots )        # fixed frequency of 150 Hz
print( sine.npbase )                        # number of parameters

26

Attributes

  • degree : int
         degree of the polynomial governing the frequency of the sine
  • knots : array_like
         positions of the spline knots
  • order : int
         order of the spline. default: 3
  • cm : SplinesModel
         amplitude of the cosine
  • sm : SplinesModel
         amplitude of the sine

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

SineSplineDriftModel( knots, order=3, degree=1, copy=None, fixed=None, **kwargs )

Sine model of a polynomially drifting frequency with a splineslike changing amplitude/phase

Number of parameters is 2 * ( len(knots) + order - 1 ) + degree + 1.

Parameters

  • knots : array of float
         the knot positions of the amplitude splines
  • order : int
         order of the splines
  • degree : int
         degree of the drifting polynomial
  • copy : SineSplineDriftModel
         model to be copied
  • fixed : dict
         If not None raise AttributeError.

Raises

  • AttributeError : When fixed is not None

copy( )

Copy method.

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
         parameters of the model (ignored in LinearModels)
  • parlist : array_like
         list of indices active parameters (or None for all)

baseDerivative( xdata, params )
Returns the derivative of f to x (df/dx) at the input value.

Parameters

  • xdata : array_like
         values at which to calculate the partials
  • params : array_like
         parameters of the model

getAmplitudes( xdata, params )
Return the amplitudes if cosine and sine, resp.

Parameters

  • xdata : array_like
         values at which to calculate the partials
  • params : array_like
         parameters of the model

baseName( )
Returns a string representation of the model.

baseParameterUnit( k )
Return the name of a parameter. Parameters
  • k : int
         the kth parameter.
Methods inherited from NonLinearModel
Methods inherited from Model
Methods inherited from FixedModel
Methods inherited from BaseModel