code: def _initialize_sufficient_statistics(self):
          
          stats = {'nobs': 0,
                   'start': np.zeros(self.n_components),
                   'trans': np.zeros((self.n_components, self.n_components))}
          return stats
docs: Initializes sufficient statistics required for M-step.
  
          The method is *pure*, meaning that it doesn't change the state of
          the instance.  For extensibility computed statistics are stored
          in a dictionary.
  
          Returns
          -------
          nobs : int
              Number of samples in the data.
  
          start : array, shape (n_components, )
              An array where the i-th element corresponds to the posterior
              probability of the first sample being generated by the i-th
              state.
  
          trans : array, shape (n_components, n_components)
              An array where the (i, j)-th element corresponds to the
              posterior probability of transitioning between the i-th to j-th
              states.