statsmodels.stats.power.NormalIndPower.solve_power¶
- NormalIndPower.solve_power(effect_size=None, nobs1=None, alpha=None, power=None, ratio=1.0, alternative='two-sided')[source]¶
solve for any one parameter of the power of a two sample z-test
- for z-test the keywords are:
effect_size, nobs1, alpha, power, ratio
exactly one needs to be
None
, all others need numeric values- Parameters:
- effect_size
float
standardized effect size, difference between the two means divided by the standard deviation. If ratio=0, then this is the standardized mean in the one sample test.
- nobs1
int
orfloat
number of observations of sample 1. The number of observations of sample two is ratio times the size of sample 1, i.e.
nobs2 = nobs1 * ratio
ratio
can be set to zero in order to get the power for a one sample test.- alpha
float
in
interval
(0,1) significance level, e.g. 0.05, is the probability of a type I error, that is wrong rejections if the Null Hypothesis is true.
- power
float
in
interval
(0,1) power of the test, e.g. 0.8, is one minus the probability of a type II error. Power is the probability that the test correctly rejects the Null Hypothesis if the Alternative Hypothesis is true.
- ratio
float
ratio of the number of observations in sample 2 relative to sample 1. see description of nobs1 The default for ratio is 1; to solve for ration given the other arguments it has to be explicitly set to None.
- alternative
str
, ‘two-sided’ (default
), ‘larger’, ‘smaller’ extra argument to choose whether the power is calculated for a two-sided (default) or one sided test. The one-sided test can be either ‘larger’, ‘smaller’.
- effect_size
- Returns:
- value
float
The value of the parameter that was set to None in the call. The value solves the power equation given the remaining parameters.
- value
Notes
The function uses scipy.optimize for finding the value that satisfies the power equation. It first uses
brentq
with a prior search for bounds. If this fails to find a root,fsolve
is used. Iffsolve
also fails, then, foralpha
,power
andeffect_size
,brentq
with fixed bounds is used. However, there can still be cases where this fails.