statsmodels.stats.power.NormalIndPower.solve_power¶
method

NormalIndPower.
solve_power
(effect_size=None, nobs1=None, alpha=None, power=None, ratio=1.0, alternative='twosided')[source]¶ solve for any one parameter of the power of a two sample ztest
 for ztest the keywords are:
effect_size, nobs1, alpha, power, ratio
exactly one needs to be
None
, all others need numeric values Parameters
 effect_sizefloat
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.
 nobs1int or float
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. alphafloat 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.
 powerfloat 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.
 ratiofloat
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.
 alternativestring, ‘twosided’ (default), ‘larger’, ‘smaller’
extra argument to choose whether the power is calculated for a twosided (default) or one sided test. The onesided test can be either ‘larger’, ‘smaller’.
 Returns
 valuefloat
The value of the parameter that was set to None in the call. The value solves the power equation given the remaining parameters.
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.