code: def _get_gaussian_data():
      np.random.seed(987865)
  
      nobs, k_vars = 100, 500
      k_nonzero = 5
      x = (
          np.random.rand(nobs, k_vars)
          + 0.01 * (np.random.rand(nobs, 1) - 0.5)
      ) * 2 - 1
      x *= 1.2
  
      x = (x - x.mean(0)) / x.std(0)
      x[:, 0] = 1  # make first column into constant
      beta = np.zeros(k_vars)
      idx_nonzero_true = [0, 1, 300, 400, 411]
      beta[idx_nonzero_true] = 1.0 / np.arange(1, k_nonzero + 1)
      beta = np.sqrt(beta)  # make small coefficients larger
      linpred = x.dot(beta)
      y = linpred + 0.1 * np.random.randn(len(linpred))
  
      return y, x, idx_nonzero_true, beta
  
imports: import numpy
  from numpy.testing import assert_allclose, assert_equal
  import pandas
  from statsmodels.discrete.discrete_model import Poisson, Logit
  from statsmodels.genmod.generalized_linear_model import GLM
  from statsmodels.genmod.families import family
  from statsmodels.base._penalized import PenalizedMixin
  from statsmodels.base._screening import VariableScreening
label_desc: Use image node_id 8 for calling a global function with example usage: _get_gaussian_data() and returns: y,  x,  idx_nonzero_true,  beta