class_docstr: Independent Metropolis-Hastings SMC_kernel
docstr: Parameters
  ----------
  correlation_threshold : float, default 0.01
      The lower the value, the higher the number of IMH steps computed automatically.
      Defaults to 0.01. It should be between 0 and 1.
  **kwargs : dict, optional
      Keyword arguments passed to the SMC_kernel.  Refer to SMC_kernel documentation for a
  list of all possible arguments.
docstr_tok: ["Parameters","--","--","--","--","--","correlation_threshold",":","float",",","default","0.01","The","lower","the","value",",","the","higher","the","number","of","IMH","steps","computed","automatically",".","Defaults","to","0.01",".","It","should","be","between","0","and","1",".","*","*","kwargs",":","dict",",","optional","Keyword","arguments","passed","to","the","SMC_kernel",".","Refer","to","SMC_kernel","documentation","for","a","list","of","all","possible","arguments","."]
code: def __init__(self, *args, correlation_threshold=0.01, **kwargs):
      """
      Parameters
      ----------
      correlation_threshold : float, default 0.01
          The lower the value, the higher the number of IMH steps computed automatically.
          Defaults to 0.01. It should be between 0 and 1.
      **kwargs : dict, optional
          Keyword arguments passed to the SMC_kernel.  Refer to SMC_kernel documentation for a
      list of all possible arguments.
  
      """
      super().__init__(*args, **kwargs)
      self.correlation_threshold = correlation_threshold
  
      self.proposal_dist = None
      self.acc_rate = None
  
imports: import abc
  import sys
  import warnings
  from abc import ABC
  from typing import Dict, Union, cast
  import numpy
  import pytensor.tensor
  from pytensor.graph.replace import clone_replace
  from scipy.special import logsumexp
  from scipy.stats import multivariate_normal
  from typing_extensions import TypeAlias
  from pymc.backends.ndarray import NDArray
  from pymc.blocking import DictToArrayBijection
  from pymc.initial_point import make_initial_point_expression
  from pymc.model import Point, modelcontext
  from pymc.pytensorf import compile_pymc, floatX, join_nonshared_inputs, make_shared_replacements
  from pymc.sampling.forward import draw
  from pymc.step_methods.metropolis import MultivariateNormalProposal
  from pymc.vartypes import discrete_types
label_desc: Use image node_id 1 to create a new IMH object from inherited base classes: SMC_KERNEL with example: obj = IMH()