nlsq.diagnostics.DiagnosticsReport

class nlsq.diagnostics.DiagnosticsReport(identifiability=None, gradient_health=None, overall_status=HealthStatus.HEALTHY, computation_time_ms=0.0)[source]

Bases: object

Aggregated diagnostics report containing all analysis results.

This class aggregates results from all diagnostic analyses into a single report. It provides access to individual analysis results and an overall health assessment.

identifiability

Results from identifiability analysis.

Type:

IdentifiabilityReport | None

gradient_health

Results from gradient health monitoring.

Type:

GradientHealthReport | None

overall_status

Overall health status based on all analyses.

Type:

HealthStatus

computation_time_ms

Total time for all diagnostic computations.

Type:

float

Examples

>>> from nlsq.diagnostics.types import IdentifiabilityReport
>>> ident = IdentifiabilityReport(
...     condition_number=1e5,
...     numerical_rank=3,
...     n_params=3,
...     correlation_matrix=np.eye(3),
...     highly_correlated_pairs=[],
...     issues=[],
...     health_status=HealthStatus.HEALTHY,
... )
>>> report = DiagnosticsReport(identifiability=ident)
>>> report.overall_status
<HealthStatus.HEALTHY: 1>
identifiability: IdentifiabilityReport | None
gradient_health: GradientHealthReport | None
overall_status: HealthStatus
computation_time_ms: float
__post_init__()[source]

Compute overall status from individual analyses.

__str__()[source]

Return a human-readable summary of all diagnostics.

summary()[source]

Return a summary string of all diagnostics.

Returns:

Human-readable summary of all diagnostic analyses.

Return type:

str

__init__(identifiability=None, gradient_health=None, overall_status=HealthStatus.HEALTHY, computation_time_ms=0.0)