code: def __str__(self):
      print("BBVI Results Object")
      print("==========================")
      print("Dependent variable: " + self.data_name)
      print("Regressors: " + str(self.X_names))
      print("==========================")
      print("Latent Variables Attributes: ")
      print(".z : LatentVariables() object")
      print(".results : optimizer results")
      print("")
      print("Implied Model Attributes: ")
      print(".aic: Akaike Information Criterion")
      print(".bic: Bayesian Information Criterion")
      print(".data: Model Data")
      print(".index: Model Index")
      if self.scores is not None:
          print(".scores: Model Scores")
      if self.signal is not None:
          print(".signal: Model Signal")
      if self.states is not None:
          print(".states: Model States")
      if self.states_var is not None:
          print(".states_var: Model State Variances")
      print("")
      print("Methods: ")
      print(".summary() : printed results")
      return ""
  
imports: import numpy
  from .output import TablePrinter
  from .tests import find_p_value
  from .inference import norm_post_sim
label_desc: Use image node_id 2 for calling the BBVIResults obj's underlying member method code with example usage: obj.__str__() and returns: str