Chi2Gehrels

class sherpa.stats.Chi2Gehrels(name='chi2gehrels')[source] [edit on github]

Bases: Chi2

Chi Squared with Gehrels variance.

The variance is estimated from the number of counts in each bin, but unlike Chi2DataVar, the Gaussian approximation is not used. This makes it more-suitable for use with low-count data.

The standard deviation for each bin is calculated using the approximation from [1]:

sigma(i,S) = 1 + sqrt(N(i,s) + 0.75)

where the higher-order terms have been dropped. This is accurate to approximately one percent. For data where the background has not been subtracted then the error term is:

sigma(i) = sigma(i,S)

whereas with background subtraction,

sigma(i)^2 = sigma(i,S)^2 + [A(S)/A(B)]^2 sigma(i,B)^2

A(B) is the off-source “area”, which could be the size of the region from which the background is extracted, or the length of a background time segment, or a product of the two, etc.; and A(S) is the on-source “area”. These terms may be defined for a particular type of data: for example, PHA data sets A(B) to BACKSCAL * EXPOSURE from the background data set and A(S) to BACKSCAL * EXPOSURE from the source data set.

Notes

The accuracy of the error term when the background has been subtracted has not been determined. A preferable approach to background subtraction is to model the background as well as the source signal.

References

Methods Summary

calc_chisqr(data, model)

Return the chi-square value for each bin.

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.

Methods Documentation

calc_chisqr(data, model) [edit on github]

Return the chi-square value for each bin.

Parameters:
Returns:

chisqr – The per-bin chi-square values.

Return type:

array of numbers

calc_stat(data, model) [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.

static 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.