statsmodels.stats.proportion.power_ztost_prop¶
-
statsmodels.stats.proportion.
power_ztost_prop
(low, upp, nobs, p_alt, alpha=0.05, dist='norm', variance_prop=None, discrete=True, continuity=0, critval_continuity=0)[source]¶ Power of proportions equivalence test based on normal distribution
Parameters: low, upp : floats
lower and upper limit of equivalence region
nobs : int
number of observations
p_alt : float in (0,1)
proportion under the alternative
alpha : float in (0,1)
significance level of the test
dist : string in [‘norm’, ‘binom’]
This defines the distribution to evalute the power of the test. The critical values of the TOST test are always based on the normal approximation, but the distribution for the power can be either the normal (default) or the binomial (exact) distribution.
variance_prop : None or float in (0,1)
If this is None, then the variances for the two one sided tests are based on the proportions equal to the equivalence limits. If variance_prop is given, then it is used to calculate the variance for the TOST statistics. If this is based on an sample, then the estimated proportion can be used.
discrete : bool
If true, then the critical values of the rejection region are converted to integers. If dist is “binom”, this is automatically assumed. If discrete is false, then the TOST critical values are used as floating point numbers, and the power is calculated based on the rejection region that is not discretized.
continuity : bool or float
adjust the rejection region for the normal power probability. This has and effect only if
dist='norm'
critval_continuity : bool or float
If this is non-zero, then the critical values of the tost rejection region are adjusted before converting to integers. This affects both distributions,
dist='norm'
anddist='binom'
.Returns: power : float
statistical power of the equivalence test.
(k_low, k_upp, z_low, z_upp) : tuple of floats
critical limits in intermediate steps temporary return, will be changed
Notes
In small samples the power for the
discrete
version, has a sawtooth pattern as a function of the number of observations. As a consequence, small changes in the number of observations or in the normal approximation can have a large effect on the power.continuity
andcritval_continuity
are added to match some results of PASS, and are mainly to investigate the sensitivity of the ztost power to small changes in the rejection region. From my interpretation of the equations in the SAS manual, both are zero in SAS.works vectorized
verification:
The
dist='binom'
results match PASS, Thedist='norm'
results look reasonable, but no benchmark is available.References
SAS Manual: Chapter 68: The Power Procedure, Computational Resources PASS Chapter 110: Equivalence Tests for One Proportion.