class_docstr: Inherits time series methods from TSM class.
  
  **** GAUSSIAN PROCESS NONLINEAR AUTOREGRESSIVE (GP-NARX) MODELS ****
  
  Parameters
  ----------
  data : pd.DataFrame or np.array
      Field to specify the time series data that will be used.
  
  ar : int
      Field to specify how many AR terms the model will have.
  
  kernel : kernel object
      For example, SquaredExponential() or OrnsteinUhlenbeck()
  
  integ : int (default : 0)
      Specifies how many time 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.
class_docstr_tok: ["Inherits","time","series","methods","from","TSM","class",".","*","*","*","*","GAUSSIAN","PROCESS","NONLINEAR","AUTOREGRESSIVE","(","GP-NARX",")","MODELS","*","*","*","*","Parameters","--","--","--","--","--","data",":","pd.DataFrame","or","np.array","Field","to","specify","the","time","series","data","that","will","be","used",".","ar",":","int","Field","to","specify","how","many","AR","terms","the","model","will","have",".","kernel",":","kernel","object","For","example",",","SquaredExponential","(",")","or","OrnsteinUhlenbeck","(",")","integ",":","int","(","default",":","0",")","Specifies","how","many","time","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","."]
docstr: Creates model latent variables
  
  Returns
  ----------
  None (changes model attributes)
docstr_tok: ["Creates","model","latent","variables","Returns","--","--","--","--","--","None","(","changes","model","attributes",")"]
code: def _create_latent_variables(self):
      """Creates model latent variables
  
      Returns
      ----------
      None (changes model attributes)
      """
  
      # Create latent variables
      for no, i in enumerate(self.kernel.build_latent_variables()):
          self.latent_variables.add_z(i[0], i[1], i[2])
          self.latent_variables.z_list[no].start = i[3]
  
      self.z_no = len(self.kernel.build_latent_variables())
  
      # Use an ARIMA model to find starting point for the initial noise latent variable
      arma_start = arma.ARIMA(
          self.data, ar=self.ar, ma=0, integ=self.integ
      )
      x = arma_start.fit()
      arma_starting_values = arma_start.latent_variables.get_z_values()
      self.latent_variables.z_list[0].start = np.log(
          np.exp(np.power(arma_starting_values[-1], 2))
      )
  
imports: import sys
  import numpy
  import pandas
  import scipy.linalg
  import scipy.sparse
  import scipy.stats
  from scipy.stats import multivariate_normal
  from ..None import arma
  from ..None import output
  from ..None import tests
  from ..None import tsm
  from ..None import data_check
  from .kernels import *
label_desc: Use image node_id 4 for calling the GPNARX obj's underlying member method code with example usage: obj._create_latent_variables() without return types