GofChisquarePower.solve_power(effect_size=None, nobs=None, alpha=None, power=None, n_bins=2)[source]

solve for any one parameter of the power of a one sample chisquare-test

for the one sample chisquare-test the keywords are:

effect_size, nobs, alpha, power

Exactly one needs to be None, all others need numeric values.

n_bins needs to be defined, a default=2 is used.


standardized effect size, according to Cohen’s definition. see statsmodels.stats.gof.chisquare_effectsize

nobsint or float

sample size, number of observations.

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.


number of bins or cells in the distribution


The value of the parameter that was set to None in the call. The value solves the power equation given the remaining parameters.


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. If fsolve also fails, then, for alpha, power and effect_size, brentq with fixed bounds is used. However, there can still be cases where this fails.

Last update: Dec 14, 2023