BayesicFitting

Model Fitting and Evidence Calculation

View project on GitHub



class PolySurfaceModel( LinearModel )Source

General polynomial surface model of arbitrary degree.

  f( x,y:p ) = ∑dk pn * xd-k * yk )

where the first sum is over d running from 0 to degree ( inclusive ) and the second sum is over k running from 0 to d ( inclusive ). The index n is just incrementing, making all p's different.

It is a 2-dimensional linear model.

Examples

poly = PolySurfaceModel( 3 )         # 3rd degree polynomial
print poly.getNumberOfParameters( )        # 10

Author Do Kester

Attributes

  • degree : int
         degree of the polynomial

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

PolySurfaceModel( degree, copy=None, **kwargs )

Polynominal surface of a certain degree. Two dimensions.

degree polysurface
0 p0
1 p0 + p1 * x + p2 * y
2 p0 + p1 * x + p2 * y + p3 * x2 + p4 * x * y + p5 * y2
3 p0 + p1 * x + p2 * y + p3 * x2 + p4 * x * y + p5 * y2 +
p6 * x3 + p7 * x2 * y + p8 * x * y2 + p9 * y3
etc

The number of parameters is ( degree+2 ) * ( degree+1 ) / 2

Parameters

  • degree : int
         the degree of the polynomial.
  • copy : PolySurfaceModel
         model to be copied
  • fixed : dictionary of {int:float|Model}
         int list if parameters to fix permanently. Default None.
         float|Model list of values for the fixed parameters.
         Attribute fixed can only be set in the constructor.
         See FixedModel

copy( )

Copy method.

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

The partials are the powers of x,y ( xdata ) from 0 to degree.

Parameters

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

baseDerivative( xdata, params )
Return the derivative df/dx at each input (=x).
degree df/dx
0 0
1 p1
2 p1 + 2 * p3 * x + p4 * y
3 p1 + 2 * p3 * x + p4 * y + 3 * p6 * x2 + 2 * p7 * x * y + p8 * y2
degree df/dy
0 0
1 p2
2 p2 + p4 * x + 2 * p5 * y
3 p2 + p4 * x + 2 * p5 * y + p7 * x2 + 2 * p8 * x * y + 3 * p9 * y2

Parameters

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

baseName( )
Returns a string representation of the model.

baseParameterUnit( k )
Return the unit of the indicated parameter. Parameters k parameter number.
Methods inherited from LinearModel
Methods inherited from Model
Methods inherited from FixedModel
Methods inherited from BaseModel