statsmodels.stats.power.FTestPower.solve_power¶
-
FTestPower.solve_power(effect_size=
None
, df_num=None
, df_denom=None
, alpha=None
, power=None
, ncc=1
, **kwargs)[source]¶ solve for any one parameter of the power of a F-test
- for the one sample F-test the keywords are:
effect_size, df_num, df_denom, alpha, power
Exactly one needs to be
None
, all others need numeric values.The effect size is Cohen’s
f
, square root off2
.The sample size is given by
nobs = df_denom + df_num + ncc
.Warning: The meaning of df_num and df_denom is reversed.
- Parameters:¶
- effect_size
float
Standardized effect size. The effect size is here Cohen’s
f
, square root off2
.- df_num
int
orfloat
Warning incorrect name denominator degrees of freedom, This corresponds to the number of constraints in Wald tests. Sample size is given by
nobs = df_denom + df_num + ncc
- df_denom
int
orfloat
Warning incorrect name numerator degrees of freedom. This corresponds to the df_resid in Wald tests.
- 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.
- ncc
int
degrees of freedom correction for non-centrality parameter. see Notes
- kwargs
empty
kwargs
are not used and included for backwards compatibility. Ifnobs
is used as keyword, then a warning is issued. All other keywords inkwargs
raise a ValueError.
- 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 method 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.