code: def test_generic_smoother():
      x, y, poly = multivariate_sample_data()
      alphas = [0.4, 0.7]
      weights = [1, 1]  # noqa: F841
  
      gs = GenericSmoothers(poly.x, poly.smoothers)
      gam_gs = GLMGam(y, smoother=gs, alpha=alphas)
      gam_gs_res = gam_gs.fit()
  
      gam_poly = GLMGam(y, smoother=poly, alpha=alphas)
      gam_poly_res = gam_poly.fit()
  
      assert_allclose(gam_gs_res.params, gam_poly_res.params)
  
imports: import os
  import numpy
  from numpy.testing import assert_allclose
  import pandas
  from scipy.linalg import block_diag
  import pytest
  from statsmodels.tools.linalg import matrix_sqrt
  from statsmodels.gam.smooth_basis import UnivariatePolynomialSmoother, PolynomialSmoother, BSplines, GenericSmoothers, UnivariateCubicSplines, CyclicCubicSplines
  from statsmodels.gam.generalized_additive_model import GLMGam, LogitGam, make_augmented_matrix, penalized_wls
  from statsmodels.gam.gam_cross_validation.gam_cross_validation import MultivariateGAMCV, MultivariateGAMCVPath, _split_train_test_smoothers
  from statsmodels.gam.gam_penalties import UnivariateGamPenalty, MultivariateGamPenalty
  from statsmodels.gam.gam_cross_validation.cross_validators import KFold
  from statsmodels.genmod.generalized_linear_model import GLM
  from statsmodels.genmod.families.family import Gaussian
  from statsmodels.genmod.generalized_linear_model import lm
label_desc: Use image node_id 14 for calling a global function with example usage: test_generic_smoother() without return types