code: def initialize_update(
      self,
      parameters: Float64Array,
      backcast: float | Float64Array,
      nobs: int,
  ) -> None:
      self.update_weights(parameters[2 + self.asym])
      alpha = parameters[1]
      if self.asym:
          gamma = parameters[2]
      else:
          gamma = 0.0
  
      for i in range(self.m):
          self.aw[i] = alpha * self.weights[i]
          self.gw[i] = gamma * self.weights[i]
      self.backcast = backcast
      if self.resids2.shape[0] < nobs:
          self.resids2 = np.empty(nobs)
  
imports: from __future__ import annotations
  from arch.compat.numba import jit
  from abc import ABCMeta, abstractmethod
  from typing import cast
  import numpy
  from scipy.special import gammaln
  from arch.typing import Float64Array, Int32Array
  from arch.utility.array import AbstractDocStringInheritor
label_desc: Use image node_id 3 for calling the MIDASUpdater obj's underlying member method code with example usage: obj.initialize_update(parameters, backcast, nobs) without return types