shine.validation.statistics¶
Statistical analysis for bias measurement.
Computes multiplicative and additive shear bias, coverage tests, and simulation-based calibration (SBC) diagnostics.
statistics
¶
Statistical analysis for bias measurement.
BiasResult(m, m_err, c, c_err, method, component)
dataclass
¶
Result of a bias measurement.
Attributes:
| Name | Type | Description |
|---|---|---|
m |
float
|
Multiplicative bias. |
m_err |
float
|
Uncertainty on m. |
c |
float
|
Additive bias. |
c_err |
float
|
Uncertainty on c. |
method |
str
|
Method used to compute bias. |
component |
str
|
Shear component ("g1" or "g2"). |
CoverageResult(alpha, observed, n_total, n_covered)
dataclass
¶
Result of a coverage test.
Attributes:
| Name | Type | Description |
|---|---|---|
alpha |
float
|
Nominal coverage level (e.g., 0.68, 0.95). |
observed |
float
|
Observed coverage fraction. |
n_total |
int
|
Total number of realizations tested. |
n_covered |
int
|
Number of realizations where truth is within credible interval. |
SBCResult(ranks, ks_pvalue, param)
dataclass
¶
Result of Simulation-Based Calibration.
Attributes:
| Name | Type | Description |
|---|---|---|
ranks |
NDArray[int64]
|
Array of rank statistics. |
ks_pvalue |
float
|
p-value from KS test of rank uniformity. |
param |
str
|
Parameter name. |
compute_bias_single_point(g_true, g_est_mean, g_est_std, component)
¶
Compute multiplicative and additive bias from a single shear point.
For a single g_true value, the bias model is: g_est = (1 + m) * g_true + c
For Level 0 (single point), this simplifies to: m = (g_est / g_true) - 1 (when g_true != 0) c = g_est - (1 + m) * g_true = 0 by construction for single-point
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
g_true
|
float
|
True shear value. |
required |
g_est_mean
|
float
|
Estimated (posterior mean) shear value. |
required |
g_est_std
|
float
|
Posterior standard deviation of shear estimate. |
required |
component
|
str
|
Shear component name ("g1" or "g2"). |
required |
Returns:
| Type | Description |
|---|---|
BiasResult
|
BiasResult with multiplicative and additive bias. |
Raises:
| Type | Description |
|---|---|
ValueError
|
If g_true is zero (cannot compute multiplicative bias). |
Source code in shine/validation/statistics.py
compute_bias_regression(g_true_values, g_est_means, weights=None)
¶
Compute bias via weighted linear regression over multiple shear values.
Fits the model: g_est = (1 + m) * g_true + c
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
g_true_values
|
NDArray[float64]
|
Array of true shear values. |
required |
g_est_means
|
NDArray[float64]
|
Array of estimated (posterior mean) shear values. |
required |
weights
|
Optional[NDArray[float64]]
|
Optional inverse-variance weights for regression. |
None
|
Returns:
| Type | Description |
|---|---|
BiasResult
|
BiasResult with regression-fitted m and c. |
Raises:
| Type | Description |
|---|---|
NotImplementedError
|
This function is a stub for Level 1+. |
Source code in shine/validation/statistics.py
compute_paired_response(g_est_plus, g_est_minus, g_true)
¶
Compute shear response from paired +g/-g observations.
R_i = (g_est(+g) - g_est(-g)) / (2 * g_true)
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
g_est_plus
|
NDArray[float64]
|
Shear estimates from +g realizations. |
required |
g_est_minus
|
NDArray[float64]
|
Shear estimates from -g realizations. |
required |
g_true
|
float
|
Absolute value of true shear. |
required |
Returns:
| Type | Description |
|---|---|
NDArray[float64]
|
Array of response values R_i. |
Raises:
| Type | Description |
|---|---|
NotImplementedError
|
This function is a stub for Level 1+. |
Source code in shine/validation/statistics.py
jackknife_bias(g_true_values, g_est_means, weights=None, n_groups=10)
¶
Compute bias with delete-one jackknife error estimation.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
g_true_values
|
NDArray[float64]
|
Array of true shear values. |
required |
g_est_means
|
NDArray[float64]
|
Array of estimated shear means. |
required |
weights
|
Optional[NDArray[float64]]
|
Optional inverse-variance weights. |
None
|
n_groups
|
int
|
Number of jackknife groups. |
10
|
Returns:
| Type | Description |
|---|---|
BiasResult
|
BiasResult with jackknife uncertainty estimates. |
Raises:
| Type | Description |
|---|---|
NotImplementedError
|
This function is a stub for Level 1+. |
Source code in shine/validation/statistics.py
compute_coverage(g_true_values, g_est_means, g_est_stds, alpha_levels=None)
¶
Compute credible interval coverage.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
g_true_values
|
NDArray[float64]
|
Array of true shear values. |
required |
g_est_means
|
NDArray[float64]
|
Array of posterior means. |
required |
g_est_stds
|
NDArray[float64]
|
Array of posterior standard deviations. |
required |
alpha_levels
|
Optional[List[float]]
|
Coverage levels to test (default: [0.68, 0.95]). |
None
|
Returns:
| Type | Description |
|---|---|
List[CoverageResult]
|
List of CoverageResult for each alpha level. |
Raises:
| Type | Description |
|---|---|
NotImplementedError
|
This function is a stub for Level 1+. |
Source code in shine/validation/statistics.py
compute_sbc_ranks(g_true_values, posterior_samples, param)
¶
Compute Simulation-Based Calibration rank statistics.
For each realization, the rank is the number of posterior samples less than the true value. Under correct calibration, ranks should be uniformly distributed.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
g_true_values
|
NDArray[float64]
|
Array of true parameter values. |
required |
posterior_samples
|
NDArray[float64]
|
Array of posterior samples (n_realizations, n_samples). |
required |
param
|
str
|
Parameter name. |
required |
Returns:
| Type | Description |
|---|---|
SBCResult
|
SBCResult with rank histogram and KS test p-value. |
Raises:
| Type | Description |
|---|---|
NotImplementedError
|
This function is a stub for Level 1+. |