code: def setup_class(cls):
      # example 3
      nobs = 300
      nobs_i = 5
      n_groups = nobs // nobs_i
      k_vars = 3
  
      from statsmodels.sandbox.panel.random_panel import PanelSample
  
      dgp = PanelSample(nobs, k_vars, n_groups, seed=303305)
      # add random intercept, using same RandomState
      dgp.group_means = 2 + dgp.random_state.randn(n_groups)
      print("seed", dgp.seed)
      y = dgp.generate_panel()
      x = np.column_stack(
          (dgp.exog[:, 1:], dgp.groups[:, None] == np.arange(n_groups))
      )
      cls.dgp = dgp
      cls.endog = y
      cls.exog = x
      cls.res_ols = OLS(y, x).fit()
  
imports: import os
  import numpy
  import pandas
  import pytest
  from numpy.testing import assert_allclose
  from statsmodels.regression.linear_model import OLS, GLS
  from statsmodels.sandbox.regression.penalized import TheilGLS
label_desc: Use image node_id 1 for calling the TestTheilPanel obj's underlying member method code with example usage: obj.setup_class(cls) without return types