Skip to content

Validate inputs in sample_size_necessary_under_cph / power_under_cph#1691

Open
Qayad-Ali wants to merge 1 commit into
CamDavidsonPilon:masterfrom
Qayad-Ali:validate-power-sample-size-inputs
Open

Validate inputs in sample_size_necessary_under_cph / power_under_cph#1691
Qayad-Ali wants to merge 1 commit into
CamDavidsonPilon:masterfrom
Qayad-Ali:validate-power-sample-size-inputs

Conversation

@Qayad-Ali

Copy link
Copy Markdown

Summary

sample_size_necessary_under_cph and power_under_cph in lifelines.statistics raised cryptic errors on out-of-range inputs. This adds input validation that raises a clear ValueError. No change to valid behavior.

Reproductions (current master)

sample_size_necessary_under_cph(0.8, 1, 0.25, 0.35, 1.0)  # ZeroDivisionError: float division by zero
sample_size_necessary_under_cph(1.5, 1, 0.25, 0.35, 0.7)  # ValueError: cannot convert float NaN to integer

A hazard ratio of 1 (no effect) can't be sized for; out-of-range power/probabilities silently produce NaN.

Changes

  • Range checks on both functions (power, alpha in (0,1); probabilities in [0,1]; positive sizes/ratio; hazard ratio > 0). postulated_hazard_ratio == 1 is rejected only in sample_size_necessary_under_cph — it's still valid for power_under_cph.
  • Tests covering the invalid inputs and confirming valid output is unchanged: (0.8, 1, 0.25, 0.35, 0.7) == (421, 421).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant