class_docstr: Maximum Likelihood Estimation of Linear Model with t-distributed errors
  
  This is an example for generic MLE.
  
  Except for defining the negative log-likelihood method, all
  methods and results are generic. Gradients and Hessian
  and all resulting statistics are based on numerical
  differentiation.
code: def initialize(self):
      print("running Tmodel initialize")
      # TODO: here or in __init__
      self.k_vars = self.exog.shape[1]
      if not hasattr(self, "fix_df"):
          self.fix_df = False
  
      if self.fix_df is False:
          # df will be estimated, no parameter restrictions
          self.fixed_params = None
          self.fixed_paramsmask = None
          self.k_params = self.exog.shape[1] + 2
          extra_params_names = ["df", "scale"]
      else:
          # df fixed
          self.k_params = self.exog.shape[1] + 1
          fixdf = np.nan * np.zeros(self.exog.shape[1] + 2)
          fixdf[-2] = self.fix_df
          self.fixed_params = fixdf
          self.fixed_paramsmask = np.isnan(fixdf)
          extra_params_names = ["scale"]
  
      super().initialize()
  
      # Note: this needs to be after super initialize
      # super initialize sets default df_resid,
      # _set_extra_params_names adjusts it
      self._set_extra_params_names(extra_params_names)
      self._set_start_params()
  
file_path: statsmodels/statsmodels/miscmodels/tmodel.py
imports: import numpy
  from scipy import special, stats
  from statsmodels.base.model import GenericLikelihoodModel
  from statsmodels.tsa.arma_mle import Arma
label_desc: Use image node_id 1 for calling the TLinearModel obj's underlying member method code with example usage: obj.initialize() without return types