Model-Assisted Joint Analysis

Model-assisted joint public/hidden distribution utilities.

class updatesupport.joint.HiddenCompositionUncertaintyReport(joint_model, rows, public_columns, hidden_columns, target_name, q_name, q_description, ambiguity_limit=None, confidence_level=0.9, seed=None, preserve_public_law=True, title='Hidden-Composition Uncertainty Report')[source]

Bases: ReportArtifactMixin

Posterior/bootstrap uncertainty over hidden-composition audits.

Parameters:
joint_model: NonparametricJointDistribution
rows: tuple[HiddenCompositionUncertaintyRow, ...]
public_columns: tuple[str, ...]
hidden_columns: tuple[str, ...]
target_name: str
q_name: str
q_description: str
ambiguity_limit: float | None = None
confidence_level: float = 0.9
seed: int | None = None
preserve_public_law: bool = True
title: str = 'Hidden-Composition Uncertainty Report'
property draw_count: int
property successful_draws: int
property error_count: int
property failed_draws: int
property failure_rate: float | None
property public_adequate_rate: float | None
property observed_summary: UncertaintyMetricSummary
property lower_summary: UncertaintyMetricSummary
property upper_summary: UncertaintyMetricSummary
property ambiguity_summary: UncertaintyMetricSummary
property metric_summaries: tuple[UncertaintyMetricSummary, ...]
as_dict()[source]
Return type:

dict[str, Any]

to_markdown()[source]
Return type:

str

class updatesupport.joint.HiddenCompositionUncertaintyRow(draw_index, observed_value, lower, upper, ambiguity, public_adequate, status, error=None)[source]

Bases: object

One posterior/bootstrap draw evaluated by a public-descent audit.

Parameters:
  • draw_index (int)

  • observed_value (float | None)

  • lower (float | None)

  • upper (float | None)

  • ambiguity (float | None)

  • public_adequate (bool | None)

  • status (str)

  • error (str | None)

draw_index: int
observed_value: float | None
lower: float | None
upper: float | None
ambiguity: float | None
public_adequate: bool | None
status: str
error: str | None = None
as_dict()[source]
Return type:

dict[str, Any]

class updatesupport.joint.JointCell(hidden_cell, public_value, probability, total_weight, target_value)[source]

Bases: object

One retained hidden cell in a fitted nonparametric joint distribution.

Parameters:
hidden_cell: tuple[Hashable, ...]
public_value: tuple[Hashable, ...]
probability: float
total_weight: float
target_value: float
as_dict()[source]
Return type:

dict[str, Any]

class updatesupport.joint.JointDistributionDraw(draw_index, public_columns, hidden_columns, cells, probabilities, total_weight, weight_column='__updatesupport_joint_weight__', target_column='__updatesupport_joint_target__')[source]

Bases: object

One model-assisted draw of hidden-cell masses.

Parameters:
draw_index: int
public_columns: tuple[str, ...]
hidden_columns: tuple[str, ...]
cells: tuple[JointCell, ...]
probabilities: tuple[float, ...]
total_weight: float
weight_column: str = '__updatesupport_joint_weight__'
target_column: str = '__updatesupport_joint_target__'
records()[source]

Return weighted hidden-cell records consumable by report helpers.

Return type:

tuple[dict[str, Any], …]

as_dict()[source]
Return type:

dict[str, Any]

class updatesupport.joint.NonparametricJointDistribution(public_columns, hidden_columns, target_name, cells, total_weight, rows_seen, method='bayesian_bootstrap', effective_sample_size=None, smoothing=1e-09)[source]

Bases: object

Fitted empirical public/hidden cell law with bootstrap draw support.

Parameters:
public_columns: tuple[str, ...]
hidden_columns: tuple[str, ...]
target_name: str
cells: tuple[JointCell, ...]
total_weight: float
rows_seen: int
method: str = 'bayesian_bootstrap'
effective_sample_size: float | None = None
smoothing: float = 1e-09
property cell_count: int
draw(*, draw_index=1, seed=None, weight_column='__updatesupport_joint_weight__', target_column='__updatesupport_joint_target__')[source]

Draw one full-joint weighted cell composition.

Parameters:
  • draw_index (int)

  • seed (int | None)

  • weight_column (str)

  • target_column (str)

Return type:

JointDistributionDraw

iter_draws(count, *, seed=None, weight_column='__updatesupport_joint_weight__', target_column='__updatesupport_joint_target__')[source]

Return count independent full-joint model-assisted draws.

Parameters:
  • count (int)

  • seed (int | None)

  • weight_column (str)

  • target_column (str)

Return type:

tuple[JointDistributionDraw, …]

hidden_composition_draw(*, draw_index=1, seed=None, weight_column='__updatesupport_joint_weight__', target_column='__updatesupport_joint_target__')[source]

Draw hidden-cell masses while preserving the fitted public law.

Parameters:
  • draw_index (int)

  • seed (int | None)

  • weight_column (str)

  • target_column (str)

Return type:

JointDistributionDraw

iter_hidden_composition_draws(count, *, seed=None, weight_column='__updatesupport_joint_weight__', target_column='__updatesupport_joint_target__')[source]

Return hidden-composition draws with public masses held fixed.

Parameters:
  • count (int)

  • seed (int | None)

  • weight_column (str)

  • target_column (str)

Return type:

tuple[JointDistributionDraw, …]

draw_records(*, seed=None, weight_column='__updatesupport_joint_weight__', target_column='__updatesupport_joint_target__')[source]

Return one draw as weighted cell records.

Parameters:
  • seed (int | None)

  • weight_column (str)

  • target_column (str)

Return type:

tuple[dict[str, Any], …]

as_dict()[source]
Return type:

dict[str, Any]

property public_law: dict[tuple[Hashable, ...], float]
class updatesupport.joint.UncertaintyMetricSummary(metric, count, mean, standard_deviation, minimum, lower, median, upper, maximum, confidence_level)[source]

Bases: object

Posterior/bootstrap summary for one scalar output.

Parameters:
metric: str
count: int
mean: float | None
standard_deviation: float | None
minimum: float | None
lower: float | None
median: float | None
upper: float | None
maximum: float | None
confidence_level: float
as_dict()[source]
Return type:

dict[str, Any]

updatesupport.joint.fit_joint_distribution(data, *, public, hidden, target, weight=None, method='bayesian_bootstrap', min_cell_weight=1.0, effective_sample_size=None, smoothing=1e-09)[source]

Fit a nonparametric joint law over retained public/hidden cells.

Parameters:
Return type:

NonparametricJointDistribution

updatesupport.joint.hidden_composition_uncertainty(data=None, *, public=None, hidden=None, target=None, weight=None, joint_model=None, draws=500, seed=None, method='bayesian_bootstrap', min_cell_weight=1.0, q='saturated', ambiguity_limit=None, confidence_level=0.9, preserve_public_law=True, effective_sample_size=None, smoothing=1e-09, title='Hidden-Composition Uncertainty Report')[source]

Summarize posterior/bootstrap uncertainty over hidden composition.

Parameters:
Return type:

HiddenCompositionUncertaintyReport

updatesupport.joint.joint_draw_records(draw)[source]

Return records from a draw or pass through an existing record sequence.

Parameters:

draw (JointDistributionDraw | Sequence[Mapping[str, Any]])

Return type:

tuple[Mapping[str, Any], …]