class_docstr: Statistical Power calculations for t-test for two independent sample
  
  currently only uses pooled variance
class_docstr_tok: ["Statistical","Power","calculations","for","t-test","for","two","independent","sample","currently","only","uses","pooled","variance"]
docstr: solve for any one parameter of the power of a two sample t-test
  
  for t-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. `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.
  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 ratio 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'.
  
  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.
  
  
  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. 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.
docstr_tok: ["solve","for","any","one","parameter","of","the","power","of","a","two","sample","t-test","for","t-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",".","`","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",".","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","ratio","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","'",".","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",".","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",".","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","."]
code: def solve_power(
      self,
      effect_size=None,
      nobs1=None,
      alpha=None,
      power=None,
      ratio=1.0,
      alternative="two-sided",
  ):
      """solve for any one parameter of the power of a two sample t-test
  
      for t-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. `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.
      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 ratio 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'.
  
      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.
  
  
      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. 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.
  
      """
      return super().solve_power(
          effect_size=effect_size,
          nobs1=nobs1,
          alpha=alpha,
          power=power,
          ratio=ratio,
          alternative=alternative,
      )
  
imports: import warnings
  import numpy
  from scipy import stats, optimize, special
  from statsmodels.tools.rootfinding import brentq_expanding
label_desc: Use image node_id 2 for calling the TTestIndPower obj's underlying member method code with example usage: obj.solve_power(effect_size, nobs1, alpha, power, ratio, alternative) and returns: super