code: def draw_latent_variables(self, nsims=5000):
          
          if self.latent_variables.estimation_method is None:
              raise Exception("No latent variables estimated!")
          elif self.latent_variables.estimation_method == 'BBVI':
              return np.array([i.q.draw_variable_local(size=nsims) for i in self.latent_variables.z_list])
          elif self.latent_variables.estimation_method == "M-H":
              chain = np.array([self.latent_variables.z_list[i].sample for i in range(len(self.latent_variables.z_list))])
              return chain[:,np.random.choice(chain.shape[1], nsims)]
          else:
              raise Exception("No latent variables estimated through Bayesian inference")
docs: Draws latent variables from the model (for Bayesian inference)
  
          Parameters
          ----------
          nsims : int
              How many draws to take
  
          Returns
          ----------
          - np.ndarray of draws