pystatpower.models.proportion.independent.superiority
¶
Functions:
| Name | Description |
|---|---|
solve_power |
Calculate the power for a superiority test of two independent proportions. |
solve_size |
Estimate the sample size required for a superiority test of two independent proportions. |
solve_treatment_proportion |
Estimate the proportion required in the treatment group for a superiority test of two independent proportions. |
solve_reference_proportion |
Estimate the proportion required in the reference group for a superiority test of two independent proportions. |
solve_margin |
Estimate the superiority margin required for a superiority test of two independent proportions. |
solve_power
¶
solve_power(treatment_proportion: float, reference_proportion: float, margin: float, treatment_size: float, reference_size: float, alpha: float = 0.05, pooled: bool = False, continuity_correction: bool = False) -> float
Calculate the power for a superiority test of two independent proportions.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
treatment_proportion
|
float
|
Actual proportion in the treatment group (\(p_1\)). Must be between 0 and 1. |
required |
reference_proportion
|
float
|
Actual proportion in the reference group (\(p_2\)). Must be between 0 and 1. |
required |
margin
|
float
|
The superiority margin (\(\delta\))
|
required |
treatment_size
|
float
|
Sample size for the treatment group (\(n_1\)). |
required |
reference_size
|
float
|
Sample size for the reference group (\(n_2\)). |
required |
alpha
|
float
|
One-sided significance level. Defaults to 0.05. |
0.05
|
pooled
|
bool
|
If True, use the pooled variance estimator. Defaults to False. |
False
|
continuity_correction
|
bool
|
If True, applied continuity correction. Defaults to False. |
False
|
Returns:
| Name | Type | Description |
|---|---|---|
float |
float
|
Power of the test. |
solve_size
¶
solve_size(treatment_proportion: float, reference_proportion: float, margin: float, ratio: float = 1, alpha: float = 0.05, power: float = 0.8, pooled: bool = False, continuity_correction: bool = False) -> tuple[int, int]
Estimate the sample size required for a superiority test of two independent proportions.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
treatment_proportion
|
float
|
Expected proportion in the treatment group (\(p_1\)). Must be between 0 and 1. |
required |
reference_proportion
|
float
|
Expected proportion in the reference group (\(p_2\)). Must be between 0 and 1. |
required |
margin
|
float
|
The superiority margin (\(\delta\))
|
required |
ratio
|
float
|
Ratio of treatment sample size to reference sample size (\(k = n_1 / n_2\)). Defaults to 1. |
1
|
alpha
|
float
|
One-sided significance level. Defaults to 0.05. |
0.05
|
power
|
float
|
Desired statistical power. Defaults to 0.80. |
0.8
|
pooled
|
bool
|
If True, use the pooled variance estimator. Defaults to False. |
False
|
continuity_correction
|
bool
|
If True, applied continuity correction. Defaults to False. |
False
|
Returns:
| Type | Description |
|---|---|
tuple[int, int]
|
tuple[int, int]: The required sample sizes for the treatment and reference groups, respectively. |
Notes
If continuity_correction is enabled, the power function may not be monotonic at very small sample sizes.
The function identifies a safe lower bound to ensure convergence of the root-finding algorithm (Brent's method).
solve_treatment_proportion
¶
solve_treatment_proportion(reference_proportion: float, margin: float, treatment_size: float, reference_size: float, alpha: float = 0.05, power: float = 0.8, pooled: bool = False, continuity_correction: bool = False) -> float
Estimate the proportion required in the treatment group for a superiority test of two independent proportions.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
reference_proportion
|
float
|
Expected proportion in the reference group (\(p_2\)). Must be between 0 and 1. |
required |
margin
|
float
|
The superiority margin (\(\delta\))
|
required |
treatment_size
|
float
|
Sample size for the treatment group (\(n_1\)). |
required |
reference_size
|
float
|
Sample size for the reference group (\(n_2\)). |
required |
alpha
|
float
|
One-sided significance level. Defaults to 0.05. |
0.05
|
power
|
float
|
Desired statistical power. Defaults to 0.80. |
0.8
|
pooled
|
bool
|
If True, use the pooled variance estimator. Defaults to False. |
False
|
continuity_correction
|
bool
|
If True, applied continuity correction. Defaults to False. |
False
|
Returns:
| Name | Type | Description |
|---|---|---|
float |
float
|
The required proportion in the treatment group. |
Notes
The search interval for treatment proportion (\(p_1\)) is constrained by the reference proportion (\(p_2\)) and the margin (\(\delta\)) to ensure the alternative hypothesis remains plausible:
solve_reference_proportion
¶
solve_reference_proportion(treatment_proportion: float, margin: float, treatment_size: float, reference_size: float, alpha: float = 0.05, power: float = 0.8, pooled: bool = False, continuity_correction: bool = False) -> float
Estimate the proportion required in the reference group for a superiority test of two independent proportions.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
treatment_proportion
|
float
|
Expected proportion in the treatment group (\(p_1\)). Must be between 0 and 1. |
required |
margin
|
float
|
The superiority margin (\(\delta\))
|
required |
treatment_size
|
float
|
Sample size for the treatment group (\(n_1\)). |
required |
reference_size
|
float
|
Sample size for the reference group (\(n_2\)). |
required |
alpha
|
float
|
One-sided significance level. Defaults to 0.05. |
0.05
|
power
|
float
|
Desired statistical power. Defaults to 0.80. |
0.8
|
pooled
|
bool
|
If True, use the pooled variance estimator. Defaults to False. |
False
|
continuity_correction
|
bool
|
If True, applied continuity correction. Defaults to False. |
False
|
Returns:
| Name | Type | Description |
|---|---|---|
float |
float
|
The required proportion in the reference group. |
Notes
The search interval for reference proportion (\(p_2\)) is constrained by the treatment proportion (\(p_1\)) and the margin (\(\delta\)) to ensure the alternative hypothesis remains plausible:
solve_margin
¶
solve_margin(treatment_proportion: float, reference_proportion: float, treatment_size: float, reference_size: float, alpha: float = 0.05, power: float = 0.8, pooled: bool = False, continuity_correction: bool = False) -> float
Estimate the superiority margin required for a superiority test of two independent proportions.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
treatment_proportion
|
float
|
Expected proportion in the treatment group (\(p_1\)). Must be between 0 and 1. |
required |
reference_proportion
|
float
|
Expected proportion in the reference group (\(p_2\)). Must be between 0 and 1. |
required |
treatment_size
|
float
|
Sample size for the treatment group (\(n_1\)). |
required |
reference_size
|
float
|
Sample size for the reference group (\(n_2\)). |
required |
alpha
|
float
|
One-sided significance level. Defaults to 0.05. |
0.05
|
power
|
float
|
Desired statistical power. Defaults to 0.80. |
0.8
|
pooled
|
bool
|
If True, use the pooled variance estimator. Defaults to False. |
False
|
continuity_correction
|
bool
|
If True, applied continuity correction. Defaults to False. |
False
|
Returns:
| Name | Type | Description |
|---|---|---|
margin |
float
|
The required non-inferiority margin. |
Notes
The search interval for superiority margin (\(\delta\)) is constrained by the treatment proportion (\(p_1\)) and the reference proportion (\(p_2\)) to ensure the alternative hypothesis remains plausible: