code: def test_start_params(key, data, dtype):
      """Test starting parameters against statsmodels"""
      order, seasonal_order, intercept = extract_order(key)
  
      (
          y_train,
          y_train_cudf,
          _,
          _,
          exog_past,
          exog_past_cudf,
          *_,
      ) = get_dataset(data, dtype)
  
      # fillna for reference to match cuML initial estimation strategy
      y_train_nona = fill_interpolation(y_train)
  
      # Convert to numpy to avoid misaligned indices
      if exog_past is not None:
          exog_past_np = exog_past.to_numpy()
  
      # Create models
      cuml_model = arima.ARIMA(
          endog=y_train_cudf,
          exog=exog_past_cudf,
          order=order,
          seasonal_order=seasonal_order,
          fit_intercept=intercept,
      )
      ref_model = [
          sm.tsa.SARIMAX(
              endog=y_train_nona[y_train_nona.columns[i]],
              exog=exog_past_np[
                  :, i * data.n_exog : (i + 1) * data.n_exog
              ]
              if data.n_exog
              else None,
              order=order,
              seasonal_order=seasonal_order,
              trend="c" if intercept else "n",
          )
          for i in range(data.batch_size)
      ]
  
      # Estimate reference starting parameters
      N = cuml_model.complexity
      nb = data.batch_size
      x_ref = np.zeros(N * nb, dtype=dtype)
      for ib in range(nb):
          with warnings.catch_warnings():
              warnings.filterwarnings("ignore")
              x_ref[ib * N : (ib + 1) * N] = ref_model[ib].start_params[
                  :N
              ]
  
      # Estimate cuML starting parameters
      cuml_model._estimate_x0()
      x_cuml = cuml_model.pack()
  
      # Compare results
      np.testing.assert_allclose(x_cuml, x_ref, rtol=0.001, atol=0.01)
  
imports: from cuml.testing.utils import stress_param
  from cuml.internals.input_utils import input_to_host_array
  import cuml.tsa.arima
  from cuml.internals.safe_imports import gpu_only_import
  import statsmodels.api
  from sklearn.model_selection import train_test_split
  from cuml.internals.safe_imports import cpu_only_import_from
  import warnings
  import os
  import pytest
  from cuml.internals.safe_imports import cpu_only_import
label_desc: Use image node_id 15 for calling a global function with example usage: test_start_params(key, data, dtype) without return types