code: def get_ridge_nemo_pipeline():
      """ Function return complex pipeline with the following structure
          lagged -> ridge \
                            ridge
          lagged -> ridge  |      \
                                   linear
                            nemo  /
      """
  
      node_lagged_1 = PipelineNode("lagged/1")
      node_ridge_1 = PipelineNode("ridge", nodes_from=[node_lagged_1])
      node_lagged_2 = PipelineNode("lagged/2")
      node_ridge_2 = PipelineNode("ridge", nodes_from=[node_lagged_2])
      node_ridge_3 = PipelineNode(
          "ridge", nodes_from=[node_ridge_1, node_ridge_2]
      )
      node_nemo = PipelineNode("exog_ts")
      node_final = PipelineNode(
          "linear", nodes_from=[node_ridge_3, node_nemo]
      )
      pipeline = Pipeline(node_final)
      return pipeline
  
imports: import os
  from copy import deepcopy
  import numpy
  import pandas
  from matplotlib import pyplot
  from sklearn.metrics import mean_squared_error, mean_absolute_error
  from fedot.core.data.data import InputData
  from fedot.core.data.data_split import train_test_data_setup
  from fedot.core.data.multi_modal import MultiModalData
  from fedot.core.pipelines.node import PipelineNode
  from fedot.core.pipelines.pipeline import Pipeline
  from fedot.core.repository.dataset_types import DataTypesEnum
  from fedot.core.repository.tasks import Task, TsForecastingParams, TaskTypesEnum
label_desc: Use image node_id 5 for calling a global function with example usage: get_ridge_nemo_pipeline() and returns: pipeline