nlsq.diagnostics.ParameterSensitivityReport

class nlsq.diagnostics.ParameterSensitivityReport(available=True, error_message=None, computation_time_ms=0.0, is_sloppy=False, eigenvalues=<factory>, eigenvectors=None, eigenvalue_range=0.0, effective_dimensionality=0.0, stiff_indices=<factory>, sloppy_indices=<factory>, issues=<factory>, health_status=HealthStatus.HEALTHY)[source]

Bases: AnalysisResult

Report from parameter sensitivity spectrum analysis.

Contains results from eigenvalue spectrum analysis to identify well-determined vs poorly-determined parameter directions based on the spread of eigenvalues in the Fisher Information Matrix.

is_sloppy

Whether the model exhibits wide eigenvalue spread (sensitivity spectrum).

Type:

bool

eigenvalues

Eigenvalue spectrum of the Fisher Information Matrix.

Type:

np.ndarray

eigenvectors

Eigenvectors of the FIM (columns are eigenvectors).

Type:

np.ndarray | None

eigenvalue_range

Log10 range of eigenvalues (orders of magnitude).

Type:

float

effective_dimensionality

Effective number of well-determined parameter combinations.

Type:

float

stiff_indices

Indices of stiff (well-determined) directions.

Type:

list[int]

sloppy_indices

Indices of poorly-determined directions.

Type:

list[int]

issues

List of detected sensitivity issues (SENS-001, SENS-002).

Type:

list[ModelHealthIssue]

health_status

Overall health status based on detected issues.

Type:

HealthStatus

is_sloppy: bool
eigenvalues: ndarray
eigenvectors: ndarray | None
eigenvalue_range: float
effective_dimensionality: float
stiff_indices: list[int]
sloppy_indices: list[int]
issues: list[ModelHealthIssue]
health_status: HealthStatus
get_sloppy_combinations()[source]

Get poorly determined parameter combinations.

Returns:

List of (eigenvector, eigenvalue) tuples for poorly-determined directions.

Return type:

list[tuple[np.ndarray, float]]

__init__(available=True, error_message=None, computation_time_ms=0.0, is_sloppy=False, eigenvalues=<factory>, eigenvectors=None, eigenvalue_range=0.0, effective_dimensionality=0.0, stiff_indices=<factory>, sloppy_indices=<factory>, issues=<factory>, health_status=HealthStatus.HEALTHY)