InformationBudget

class ell1fit.information.InformationBudget(parameter_names: list, segments: list)[source]

Bases: object

Every segment’s contribution to one set of shared parameters.

Attributes:
parameter_nameslist of str

The shared parameters, in the order they index every matrix here.

segmentslist of SegmentInformation

One entry per observation.

Attributes Summary

parameter_names

segments

total

Summed effective information: the precision matrix of the shared parameters.

Methods Summary

correlation([fixed])

Correlation matrix of the free shared parameters.

covariance([fixed])

Covariance of the shared parameters, optionally holding some of them fixed.

cumulative(parameter)

Names in ranked order, and the running sum of their information shares.

n_segments_for(parameter, fraction)

How many of the best segments carry this fraction of the information.

ranking(parameter)

Each segment's share of the diagonal information on one parameter.

uncertainties([fixed])

Predicted 1-sigma uncertainty per shared parameter, as a dictionary.

without(name)

A budget with one segment removed, for leave-one-out questions.

Attributes Documentation

parameter_names: list = <dataclasses._MISSING_TYPE object>
segments: list = <dataclasses._MISSING_TYPE object>
total

Summed effective information: the precision matrix of the shared parameters.

Methods Documentation

correlation(fixed=())[source]

Correlation matrix of the free shared parameters.

covariance(fixed=())[source]

Covariance of the shared parameters, optionally holding some of them fixed.

Holding a parameter fixed removes its row and column before the inversion, which is the difference between “we did not fit it” and “we fitted it and then ignored it”.

cumulative(parameter)[source]

Names in ranked order, and the running sum of their information shares.

n_segments_for(parameter, fraction)[source]

How many of the best segments carry this fraction of the information.

ranking(parameter)[source]

Each segment’s share of the diagonal information on one parameter.

Returns (name, fraction) pairs, largest first, summing to one. This is a budget, not a sensitivity: for what actually happens to the error bar when a segment goes away, use without().

uncertainties(fixed=())[source]

Predicted 1-sigma uncertainty per shared parameter, as a dictionary.

without(name)[source]

A budget with one segment removed, for leave-one-out questions.