class_docstr: Class to hold results from fitting a recursive least squares model.
  
  Parameters
  ----------
  model : RecursiveLS instance
      The fitted model instance
  
  Attributes
  ----------
  specification : dictionary
      Dictionary including all attributes from the recursive least squares
      model instance.
  
  See Also
  --------
  statsmodels.tsa.statespace.kalman_filter.FilterResults
  statsmodels.tsa.statespace.mlemodel.MLEResults
class_docstr_tok: ["Class","to","hold","results","from","fitting","a","recursive","least","squares","model",".","Parameters","--","--","--","--","--","model",":","RecursiveLS","instance","The","fitted","model","instance","Attributes","--","--","--","--","--","specification",":","dictionary","Dictionary","including","all","attributes","from","the","recursive","least","squares","model","instance",".","See","Also","--","--","--","--","statsmodels.tsa.statespace.kalman_filter.FilterResults","statsmodels.tsa.statespace.mlemodel.MLEResults"]
docstr: Parameters
  ----------
  alpha : float, optional
      The significance bound is alpha %.
  ddof : int, optional
      The number of periods additional to `k_exog` to exclude in
      constructing the bounds. Default is zero. This is usually used
      only for testing purposes.
  points : iterable, optional
      The points at which to evaluate the significance bounds. Default is
      two points, beginning and end of the sample.
  
  Notes
  -----
  Comparing against the cusum6 package for Stata, this does not produce
  exactly the same confidence bands (which are produced in cusum6 by
  lw, uw) because they burn the first k_exog + 1 periods instead of the
  first k_exog. If this change is performed
  (so that `tmp = (self.nobs - d - 1)**0.5`), then the output here
  matches cusum6.
  
  The cusum6 behavior does not seem to be consistent with
  Brown et al. (1975); it is likely they did that because they needed
  three initial observations to get the initial OLS estimates, whereas
  we do not need to do that.
docstr_tok: ["Parameters","--","--","--","--","--","alpha",":","float",",","optional","The","significance","bound","is","alpha","%",".","ddof",":","int",",","optional","The","number","of","periods","additional","to","`","k_exog","`","to","exclude","in","constructing","the","bounds",".","Default","is","zero",".","This","is","usually","used","only","for","testing","purposes",".","points",":","iterable",",","optional","The","points","at","which","to","evaluate","the","significance","bounds",".","Default","is","two","points",",","beginning","and","end","of","the","sample",".","Notes","--","--","-","Comparing","against","the","cusum6","package","for","Stata",",","this","does","not","produce","exactly","the","same","confidence","bands","(","which","are","produced","in","cusum6","by","lw",",","uw",")","because","they","burn","the","first","k_exog","+","1","periods","instead","of","the","first","k_exog",".","If","this","change","is","performed","(","so","that","`","tmp","=","(","self.nobs","-","d","-","1",")","*","*","0.5","`",")",",","then","the","output","here","matches","cusum6",".","The","cusum6","behavior","does","not","seem","to","be","consistent","with","Brown","et","al",".","(","1975",")",";","it","is","likely","they","did","that","because","they","needed","three","initial","observations","to","get","the","initial","OLS","estimates",",","whereas","we","do","not","need","to","do","that","."]
code: def _cusum_significance_bounds(self, alpha, ddof=0, points=None):
      """
      Parameters
      ----------
      alpha : float, optional
          The significance bound is alpha %.
      ddof : int, optional
          The number of periods additional to `k_exog` to exclude in
          constructing the bounds. Default is zero. This is usually used
          only for testing purposes.
      points : iterable, optional
          The points at which to evaluate the significance bounds. Default is
          two points, beginning and end of the sample.
  
      Notes
      -----
      Comparing against the cusum6 package for Stata, this does not produce
      exactly the same confidence bands (which are produced in cusum6 by
      lw, uw) because they burn the first k_exog + 1 periods instead of the
      first k_exog. If this change is performed
      (so that `tmp = (self.nobs - d - 1)**0.5`), then the output here
      matches cusum6.
  
      The cusum6 behavior does not seem to be consistent with
      Brown et al. (1975); it is likely they did that because they needed
      three initial observations to get the initial OLS estimates, whereas
      we do not need to do that.
      """
      # Get the constant associated with the significance level
      if alpha == 0.01:
          scalar = 1.143
      elif alpha == 0.05:
          scalar = 0.948
      elif alpha == 0.10:
          scalar = 0.950
      else:
          raise ValueError("Invalid significance level.")
  
      # Get the points for the significance bound lines
      d = max(self.nobs_diffuse, self.loglikelihood_burn)
      tmp = (self.nobs - d - ddof) ** 0.5
  
      def upper_line(x):
          return scalar * tmp + 2 * scalar * (x - d) / tmp
  
      if points is None:
          points = np.array([d, self.nobs])
      return -upper_line(points), upper_line(points)
  
imports: import numpy
  import pandas
  from statsmodels.compat.pandas import Appender
  from statsmodels.tools.data import _is_using_pandas
  from statsmodels.tsa.statespace.mlemodel import MLEModel, MLEResults, MLEResultsWrapper, PredictionResults, PredictionResultsWrapper
  from statsmodels.tsa.statespace.tools import concat
  from statsmodels.tools.tools import Bunch
  from statsmodels.tools.decorators import cache_readonly
  import statsmodels.base.wrapper
label_desc: Use image node_id 18 for calling the RecursiveLSResults obj's underlying member method code with example usage: obj._cusum_significance_bounds(alpha, ddof, points) and returns: unknown,  upper_line, unknown