code: def main(dataset: str, group: str) -> None:
      train, horizon, freq, seasonality = get_data(
          "data", dataset, group
      )
  
      partial_fit_and_predict = partial(
          fit_and_predict,
          horizon=horizon,
          freq=freq,
          seasonality=seasonality,
      )
      start = time.time()
      print(f"Parallelism on {cpu_count()} CPU")
      with Pool(cpu_count()) as pool:
          results = pool.starmap(
              partial_fit_and_predict, train.groupby("unique_id")
          )
      end = time.time()
      print(end - start)
  
      forecasts = pd.concat(results)
      forecasts.columns = ["unique_id", "ds", "auto_arima_pmdarima"]
      forecasts.to_csv(
          f"data/pmdarima-forecasts-{dataset}-{group}.csv", index=False
      )
  
      time_df = pd.DataFrame(
          {"time": [end - start], "model": ["auto_arima_pmdarima"]}
      )
      time_df.to_csv(
          f"data/pmdarima-time-{dataset}-{group}.csv", index=False
      )
  
file_path: statsforecast/experiments/arima/src/pmdarima.py
imports: import time
  from copy import deepcopy
  from functools import partial
  from multiprocessing import Pool, cpu_count
  import fire
  import numpy
  import pandas
  from pmdarima.arima import auto_arima
  from statsforecast.models import random_walk_with_drift
  from src.data import get_data
label_desc: Use image node_id 2 for calling a global function with example usage: main(dataset, group) without return types