code: def test_multistep_out_of_sample_forecasting():
      horizon = 12
      train_data, test_data = get_ts_data(forecast_length=5)
  
      pipeline = get_multiscale_pipeline(2, 5)
  
      # Fit pipeline to make forecasts 5 elements above
      pipeline.fit(input_data=train_data)
  
      # Make prediction for 12 elements
      predicted = out_of_sample_ts_forecast(
          pipeline=pipeline, input_data=test_data, horizon=horizon
      )
  
      assert len(predicted) == horizon
  
imports: from copy import deepcopy
  from typing import Optional
  import numpy
  import pandas
  import pytest
  from scipy import stats
  from sklearn.metrics import mean_absolute_error, mean_squared_error
  from fedot.core.data.data import InputData
  from fedot.core.data.data_split import train_test_data_setup
  from fedot.core.operations.evaluation.operation_implementations.models.ts_implementations.arima import ARIMAImplementation
  from fedot.core.operations.evaluation.operation_implementations.models.ts_implementations.statsmodels import AutoRegImplementation
  from fedot.core.operations.operation_parameters import OperationParameters
  from fedot.core.pipelines.node import PipelineNode
  from fedot.core.pipelines.pipeline import Pipeline
  from fedot.core.pipelines.ts_wrappers import in_sample_ts_forecast, out_of_sample_ts_forecast
  from fedot.core.repository.dataset_types import DataTypesEnum
  from fedot.core.repository.tasks import Task, TaskTypesEnum, TsForecastingParams
  from fedot.core.utils import fedot_project_root
  from fedot.utilities.synth_dataset_generator import generate_synthetic_data
label_desc: Use image node_id 15 for calling a global function with example usage: test_multistep_out_of_sample_forecasting() without return types