class_docstr: Inherits time series methods from TSM class.
  
  **** NON-GAUSSIAN LOCAL LEVEL MODEL ****
  
  Parameters
  ----------
  data : pd.DataFrame or np.array
      Field to specify the time series data that will be used.
  
  integ : int (default : 0)
      Specifies how many times to difference the time series.
  
  target : str (pd.DataFrame) or int (np.array)
      Specifies which column name or array index to use. By default, first
      column/array will be selected as the dependent variable.
  
  family : 
      e.g. pf.Normal(0,1)
class_docstr_tok: ["Inherits","time","series","methods","from","TSM","class",".","*","*","*","*","NON-GAUSSIAN","LOCAL","LEVEL","MODEL","*","*","*","*","Parameters","--","--","--","--","--","data",":","pd.DataFrame","or","np.array","Field","to","specify","the","time","series","data","that","will","be","used",".","integ",":","int","(","default",":","0",")","Specifies","how","many","times","to","difference","the","time","series",".","target",":","str","(","pd.DataFrame",")","or","int","(","np.array",")","Specifies","which","column","name","or","array","index","to","use",".","By","default",",","first","column\/array","will","be","selected","as","the","dependent","variable",".","family",":","e.g",".","pf.Normal","(","0,1",")"]
docstr: Initializes the appoximate distibution for the model
  
  Parameters
  ----------
  phi : np.ndarray
      Latent variables
  
  start_diffuse: boolean
      Whether to start from diffuse values or not
  
  gaussian_latents: LatentVariables object
      Latent variables for the Gaussian approximation
  
  Returns
  ----------
  BBVI fit object
docstr_tok: ["Initializes","the","appoximate","distibution","for","the","model","Parameters","--","--","--","--","--","phi",":","np.ndarray","Latent","variables","start_diffuse",":","boolean","Whether","to","start","from","diffuse","values","or","not","gaussian_latents",":","LatentVariables","object","Latent","variables","for","the","Gaussian","approximation","Returns","--","--","--","--","--","BBVI","fit","object"]
code: def initialize_approx_dist(
      self, phi, start_diffuse, gaussian_latents
  ):
      """Initializes the appoximate distibution for the model
  
      Parameters
      ----------
      phi : np.ndarray
          Latent variables
  
      start_diffuse: boolean
          Whether to start from diffuse values or not
  
      gaussian_latents: LatentVariables object
          Latent variables for the Gaussian approximation
  
      Returns
      ----------
      BBVI fit object
      """
  
      # Starting values for approximate distribution
      for i in range(len(self.latent_variables.z_list)):
          approx_dist = self.latent_variables.z_list[i].q
          if isinstance(approx_dist, fam.Normal):
              self.latent_variables.z_list[i].q.mu0 = phi[i]
              self.latent_variables.z_list[i].q.sigma0 = np.exp(-3.0)
  
      q_list = [k.q for k in self.latent_variables.z_list]
  
      # Get starting values for states
      T, Z, R, Q = self._ss_matrices(phi)
      H, mu = self.family.approximating_model(
          phi,
          T,
          Z,
          R,
          Q,
          gaussian_latents.get_z_values(transformed=True)[0],
          self.data,
      )
      a, V = self.smoothed_state(self.data, phi, H, mu)
      V[0][0][0] = V[0][0][-1]
  
      for item in range(self.data_length):
          if start_diffuse is False:
              q_list.append(
                  fam.Normal(a[0][item], np.sqrt(np.abs(V[0][0][item])))
              )
          else:
              q_list.append(
                  fam.Normal(
                      self.family.itransform(np.mean(self.data)),
                      np.sqrt(np.abs(V[0][0][item])),
                  )
              )
  
      return q_list
  
imports: import sys
  import numpy
  import pandas
  import scipy.stats
  from scipy import optimize
  from ..None import inference
  from ..None import families
  from ..None import output
  from ..None import tsm
  from ..None import data_check
  from ..None import covariances
  from ..None import results
  from ..None import gas
  from .kalman import *
  from .llm import *
label_desc: Use image node_id 18 for calling the NLLEV obj's underlying member method code with example usage: obj.initialize_approx_dist(phi, start_diffuse, gaussian_latents) and returns: q_list