class_docstr: Statistical Power calculations for chisquare goodness-of-fit test
  
  TODO: this is not working yet
        for 2sample case need two nobs in function
        no one-sided chisquare test, is there one? use normal distribution?
        -> drop one-sided options?
class_docstr_tok: ["Statistical","Power","calculations","for","chisquare","goodness-of-fit","test","TODO",":","this","is","not","working","yet","for","2sample","case","need","two","nobs","in","function","no","one-sided","chisquare","test",",","is","there","one","?","use","normal","distribution","?","-",">","drop","one-sided","options","?"]
docstr: Calculate the power of a chisquare for two independent sample
  
  Parameters
  ----------
  effect_size : float
      standardize effect size, difference between the two means divided
      by the standard deviation. effect size has to be positive.
  nobs1 : int 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``
  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.
  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 explicitely set to None.
  alternative : str, 'two-sided' (default) or 'one-sided'
      extra argument to choose whether the power is calculated for a
      two-sided (default) or one sided test.
      'one-sided' assumes we are in the relevant tail.
  
  Returns
  -------
  power : float
      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.
docstr_tok: ["Calculate","the","power","of","a","chisquare","for","two","independent","sample","Parameters","--","--","--","--","--","effect_size",":","float","standardize","effect","size",",","difference","between","the","two","means","divided","by","the","standard","deviation",".","effect","size","has","to","be","positive",".","nobs1",":","int","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","``","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",".","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","explicitely","set","to","None",".","alternative",":","str",",","'two-sided","'","(","default",")","or","'one-sided'","extra","argument","to","choose","whether","the","power","is","calculated","for","a","two-sided","(","default",")","or","one","sided","test",".","'one-sided","'","assumes","we","are","in","the","relevant","tail",".","Returns","--","--","--","-","power",":","float","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","."]
code: def power(
      self, effect_size, nobs1, alpha, ratio=1, alternative="two-sided"
  ):
      """Calculate the power of a chisquare for two independent sample
  
      Parameters
      ----------
      effect_size : float
          standardize effect size, difference between the two means divided
          by the standard deviation. effect size has to be positive.
      nobs1 : int 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``
      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.
      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 explicitely set to None.
      alternative : str, 'two-sided' (default) or 'one-sided'
          extra argument to choose whether the power is calculated for a
          two-sided (default) or one sided test.
          'one-sided' assumes we are in the relevant tail.
  
      Returns
      -------
      power : float
          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.
  
      """
  
      from statsmodels.stats.gof import chisquare_power
  
      nobs2 = nobs1 * ratio
      # equivalent to nobs = n1*n2/(n1+n2)=n1*ratio/(1+ratio)
      nobs = 1.0 / (1.0 / nobs1 + 1.0 / nobs2)
      return chisquare_power(effect_size, nobs, alpha)
  
imports: import warnings
  import numpy
  from scipy import stats, optimize, special
  from statsmodels.tools.rootfinding import brentq_expanding
label_desc: Use image node_id 1 for calling the _GofChisquareIndPower obj's underlying member method code with example usage: obj.power(effect_size, nobs1, alpha, ratio, alternative) and returns: chisquare_power