code: def test_global_modeling_no_exogenous_variable():
      # GLOBAL MODELLING - NO EXOGENOUS VARIABLE
      log.info("Global Modeling - No exogenous variables")
      df = pd.read_csv(PEYTON_FILE, nrows=512)
      df1_0 = df.iloc[:128, :].copy(deep=True)
      df1_0["ID"] = "df1"
      df2_0 = df.iloc[128:256, :].copy(deep=True)
      df2_0["ID"] = "df2"
      df3_0 = df.iloc[256:384, :].copy(deep=True)
      df3_0["ID"] = "df1"
      df4_0 = df.iloc[384:, :].copy(deep=True)
      df4_0["ID"] = "df2"
      train_input = {
          0: df1_0,
          1: pd.concat((df1_0, df2_0)),
          2: pd.concat((df1_0, df2_0)),
      }
      test_input = {0: df3_0, 1: df3_0, 2: pd.concat((df3_0, df4_0))}
      info_input = {
          0: "Testing single ts df train / df test - no events, no regressors",
          1: "Testing many ts df train / df test - no events, no regressors",
          2: "Testing many ts df train / many ts df test - no events, no regressors",
      }
      for i in range(0, 3):
          log.info(info_input[i])
          m = NeuralProphet(
              epochs=EPOCHS,
              batch_size=BATCH_SIZE,
              learning_rate=LR,
              n_forecasts=2,
              n_lags=10,
              trend_global_local="global",
              season_global_local="global",
          )
          m.fit(train_input[i], freq="D")
          forecast = m.predict(df=test_input[i])
          m.predict_trend(df=test_input[i])
          m.predict_seasonal_components(df=test_input[i])
          if PLOT:
              for key, df in forecast.groupby("ID"):
                  m.plot(df)
                  m.plot_parameters(df_name=key)
                  m.plot_parameters()
      df4_0["ID"] = "df4"
      with pytest.raises(ValueError):
          forecast = m.predict(df4_0)
      log.info(
          "Error - df with id not provided in the train df (not in the data params ID)"
      )
      with pytest.raises(ValueError):
          m.test(df4_0)
      log.info(
          "Error - df with id not provided in the train df (not in the data params ID)"
      )
      m = NeuralProphet(
          n_forecasts=2,
          n_lags=10,
          epochs=EPOCHS,
          batch_size=BATCH_SIZE,
          learning_rate=LR,
          trend_global_local="global",
          season_global_local="global",
      )
      m.fit(pd.concat((df1_0, df2_0)), freq="D")
      with pytest.raises(ValueError):
          forecast = m.predict(df4_0)
      log.info("unknown_data_normalization was not set to True")
      with pytest.raises(ValueError):
          m.test(df4_0)
      log.info("unknown_data_normalization was not set to True")
      with pytest.raises(ValueError):
          m.predict_trend(df4_0)
      log.info("unknown_data_normalization was not set to True")
      with pytest.raises(ValueError):
          m.predict_seasonal_components(df4_0)
      log.info("unknown_data_normalization was not set to True")
      # Set unknown_data_normalization to True - now there should be no errors
      m.config_normalization.unknown_data_normalization = True
      forecast = m.predict(df4_0)
      m.test(df4_0)
      m.predict_trend(df4_0)
      m.predict_seasonal_components(df4_0)
      m.plot_parameters(df_name="df1")
      m.plot_parameters()
  
imports: import logging
  import math
  import os
  import pathlib
  import matplotlib.pyplot
  import numpy
  import pandas
  import pytest
  import torch
  from neuralprophet import NeuralProphet, df_utils, set_random_seed
  from neuralprophet.data.process import _handle_missing_data, _validate_column_name
label_desc: Use image node_id 26 for calling a global function with example usage: test_global_modeling_no_exogenous_variable() without return types