UserStat

class sherpa.stats.UserStat(statfunc=None, errfunc=None, name='userstat')[source] [edit on github]

Bases: Stat

Support simple user-supplied statistic calculations.

Notes

This class is used by the sherpa.ui.load_user_stat to provide a user-definable statistic calculation as a function. For more complicated cases it is suggested that users should write their own class instead of using this one.

Methods Summary

calc_stat(data, model)

Return the statistic value for the data and model.

calc_staterror(data)

Return the statistic error values for the data.

goodness_of_fit(statval, dof)

Return the reduced statistic and q value.

set_errfunc(func)

set_statfunc(func)

Methods Documentation

calc_stat(data, model)[source] [edit on github]

Return the statistic value for the data and model.

Parameters:
Returns:

  • statval (number) – The value of the statistic.

  • fvec (array of numbers) – The per-bin “statistic” value.

calc_staterror(data)[source] [edit on github]

Return the statistic error values for the data.

Parameters:

data (scalar or 1D array of numbers) – The data values.

Returns:

staterror – The errors for the input data values (matches the data argument).

Return type:

scalar or array of numbers

goodness_of_fit(statval, dof) [edit on github]

Return the reduced statistic and q value.

The reduced statisitc is conceptually simple, as it is just statistic / degrees-of-freedom, but it is not meaningful for all statistics, and it is only valid if there are any degrees of freedom.

Parameters:
  • statval (float) – The statistic value. It is assumed to be finite.

  • dof (int) – The number of degrees of freedom, which may be 0 or negative.

Returns:

  • rstat (float or NaN or None) – The reduced statistic. If the statistic does not support a goodness of fit then the return value is None. If it does then NaN is returned if either the number of degrees of freedom is 0 (or less), or the statistic value is less than 0.

  • qval (float or NaN or None) – The q value. If the statistic does not support a goodness of fit then the return values are None. If it does then NaN is returned if either the number of degrees of freedom is 0 (or less), or the statistic value is less than 0.

set_errfunc(func)[source] [edit on github]
set_statfunc(func)[source] [edit on github]