ForecastingParameters Clase

Administrar los parámetros usados por las tareas de previsión.

Herencia
builtins.object
ForecastingParameters

Constructor

ForecastingParameters(time_column_name: str | None = None, forecast_horizon: str | int = 1, time_series_id_column_names: str | List[str] | None = None, group_column_names: str | List[str] | None = None, target_lags: List[int] | int | str | None = None, feature_lags: str | None = None, target_rolling_window_size: str | int | None = None, holiday_country: str | None = None, seasonality: str | int | None = 'auto', country_or_region_for_holidays: str | None = None, use_stl: str | None = None, short_series_handling: bool = True, short_series_handling_configuration: str | None = 'auto', freq: str | None = None, target_aggregation_function: str | None = None, cv_step_size: str | int | None = 'auto', features_unknown_at_forecast_time: str | List[str] | None = None, validate_parameters: bool = True, _enable_future_regressors: bool = False, **kwargs: Any)

Parámetros

time_column_name
str
valor predeterminado: None

Nombre de la columna de hora. Este parámetro es obligatorio en la previsión para especificar la columna de fecha y hora en los datos de entrada que se usa para crear la serie temporal e inferir su frecuencia.

forecast_horizon
int o str
valor predeterminado: 1

Horizonte de previsión máximo deseado en unidades de frecuencia de la serie temporal. El valor predeterminado es 1.

Las unidades se basan en el intervalo de tiempo de los datos de entrenamiento, p. ej., semanales, mensuales, que debe predecir el pronosticador. Cuando el tipo de tarea es previsión, se requiere este parámetro. Para más información sobre cómo establecer los parámetros de previsión, consulte Configuración de AutoML para entrenar un modelo de previsión de series temporales con Python.

time_series_id_column_names
str o list(str)
valor predeterminado: None

Nombres de las columnas que se usan para agrupar una serie temporal. Se puede usar para crear varias series. Si no se definen los nombres de columna del identificador de serie temporal o las columnas de identificador especificadas no identifican todas las series del conjunto de datos, los identificadores de serie temporal se crearán automáticamente para el conjunto de datos.

group_column_names
str o list(str)
valor predeterminado: None
target_lags
int, str o list(int)
valor predeterminado: None

Número de períodos pasados para retrasar desde la columna de destino. De forma predeterminada, los retrasos están desactivados.

Al pronosticar, este parámetro representa el número de filas para retrasar de los valores de destino en función de la frecuencia de los datos. Se representa como una lista o un entero único. El retardo se debe usar cuando la relación entre las variables independientes y la variable dependiente no coincide o está en correlación de forma predeterminada. Por ejemplo, al intentar pronosticar la demanda de un producto, la demanda de cualquier mes puede depender del precio de determinados artículos 3 meses antes. En este ejemplo, es posible que desee retrasar el destino (demanda) negativamente en 3 meses para que el modelo esté entrenando en la relación correcta. Para más información, consulte Configuración de AutoML para entrenar un modelo de previsión de series temporales con Python.

Tenga en cuenta la detección automática de los límites de destino y el tamaño de la ventana gradual. Consulte los comentarios correspondientes en la sección de ventana gradual. Usamos el siguiente algoritmo para detectar el retraso de destino óptimo y el tamaño de ventana gradual.

  1. Calcule el orden de retraso máximo para la selección de características de retrospectiva. En nuestro caso, es el número de períodos hasta la granularidad de frecuencia de fecha siguiente, es decir, si la frecuencia es diaria, será una semana (7), si es una semana, será mes (4). Los valores multiplicados por dos son los valores más grandes posibles de las ventanas graduales o de retraso. En nuestros ejemplos, consideraremos el orden de retraso máximo de 14 y 8, respectivamente).

  2. Cree una serie desestacionalizada agregando componentes residuales y de tendencia. Se usará en el paso siguiente.

  3. Calcule la función de correlación automática parcial PACF en los datos de (2) y busque puntos, donde la correlación automática es significativa, es decir, su valor absoluto es más de 1,96/raíz_cuadrada(valor de retraso máximo), que corresponden a una importancia del 95 %.

  4. Si todos los puntos son significativos, consideramos que es una fuerte estacionalidad y no creamos características de retrospectiva.

  5. Analizamos los valores de PACF desde el principio y el valor antes de que la primera correlación automática insignificante designe el retraso. Si el primer elemento significativo (el valor se correlaciona consigo mismo) va seguido de insignificante, el retraso será 0 y no usaremos las características de retrospectiva.

feature_lags
str o None
valor predeterminado: None

Marca para generar intervalos para las características numéricas con "auto" o None.

target_rolling_window_size
int, str o None
valor predeterminado: None

Número de períodos pasados usados para crear un promedio de ventana gradual de la columna de destino.

Al pronosticar, este parámetro representa n períodos históricos que se usarán para generar valores previstos, <= tamaño del conjunto de entrenamiento. Si se omite, n es el tamaño total del conjunto de entrenamiento. Especifique este parámetro si solo desea tener en cuenta una determinada cantidad de historial al entrenar el modelo. Si se establece en "auto", la ventana gradual se calculará como el último valor donde el PACF es más que el umbral de importancia. Consulte target_lags section para obtener más información.

holiday_country
str o None
valor predeterminado: None
seasonality
int, str o None
valor predeterminado: auto

Establezca la estacionalidad de la serie temporal como un múltiplo entero de la frecuencia de la serie. Si la estacionalidad se establece en "auto", se infiere. Si se establece en Ninguno, se supone que la serie temporal no es estacional, lo que equivale a estacionalidad=1.

country_or_region_for_holidays
str o None
valor predeterminado: None

País o región que se usa para generar características de vacaciones. Deben ser los códigos ISO 3166 de país o región de dos letras, por ejemplo, "US" o "GB".

use_stl
str o None
valor predeterminado: None

Configura la descomposición de STL de la columna de destino de la serie temporal. use_stl puede tomar tres valores: None (valor predeterminado), sin descomposición de STL, "season", solo para generar componente de temporadas y "season_trend", para generar componentes de temporada y tendencias.

short_series_handling
bool
valor predeterminado: True

Configure el control de series cortas para las tareas de previsión.

short_series_handling_configuration
str o None
valor predeterminado: auto

Parámetro que define si AutoML debe controlar series temporales cortas.

Valores posibles: "auto" (valor predeterminado), "pad", "drop" y "None".

  • auto: se agregarán series cortas si no hay ninguna serie larga; de lo contrario, se descartarán las series cortas.
  • pad: se rellenarán todas las series cortas.
  • drop: se quitarán todas las series cortas.
  • None: no se modificarán las series cortas. Si se establece en "pad", la tabla se rellenará con los ceros y los valores vacíos de los regresores y los valores aleatorios para el destino con la media igual a la mediana del valor de destino para el identificador de serie temporal determinado. Si la mediana es mayor o igual que cero, el valor mínimo rellenado se recortará por cero. Entrada:

Date

numeric_value

string

Destino

01-01-2020

23

green

55

Salida que da por sentado que el número mínimo de valores es cuatro:

Date

numeric_value

string

Destino

2019-12-29

0

N/D

55.1

2019-12-30

0

N/D

55.6

2019-12-31

0

N/D

54.5

01-01-2020

23

green

55

Nota: Tenemos dos parámetros short_series_handling_configuration y short_series_handling heredado. Cuando se establecen ambos parámetros, se sincronizan como se muestra en la tabla siguiente (short_series_handling_configuration y short_series_handling por motivos de brevedad se marcan como handling_configuration y handling respectivamente).

Manejo

handling_configuration

control resultante

handling_configuration resultantes

True

auto

True

auto

True

Almohadilla

True

auto

True

drop

True

auto

True

Ninguno

False

None

False

auto

False

None

False

Almohadilla

False

None

False

drop

False

None

False

None

False

None

freq
str o None
valor predeterminado: None

Frecuencia de pronóstico.

Al pronosticar, este parámetro representa el período con el que se desea la previsión, por ejemplo, diaria, semanal, anual, etc. La frecuencia de previsión es la frecuencia del conjunto de datos de manera predeterminada. Opcionalmente, puede establecerla en un valor mayor (pero no menor) que la frecuencia del conjunto de datos. Agregaremos los datos y generaremos los resultados con la frecuencia de previsión. Por ejemplo, para los datos diarios, puede establecer la frecuencia para que sea diaria, semanal o mensual, pero no cada hora. La frecuencia debe ser un alias de desplazamiento de Pandas. Vea la documentación de Pandas para obtener más información: https://pandas.pydata.org/pandas-docs/stable/user_guide/timeseries.html#dateoffset-objects.

target_aggregation_function
str o None
valor predeterminado: None

Función que se usará para agregar la columna de destino de serie temporal según la frecuencia especificada por el usuario. Si target_aggregation_function está establecido, pero el parámetro freq no lo está, se produce el error. Las posibles funciones de agregación de destino son: "sum", "max", "min" y "mean".

  • Los valores de la columna de destino se agregan en función de la operación especificada. Normalmente, es adecuado para la mayoría de los escenarios.

  • Las columnas de predicción numéricas de los datos se agregan en función de la suma, la media, el valor mínimo y el valor máximo. Como resultado, los ML automatizados generan nuevas columnas con el sufijo del nombre de la función de agregación y aplican la operación de agregado seleccionada.

  • En el caso de las columnas de predicción de categorías, los datos se agregan en función del modo, que es la categoría más destacada en la ventana.

  • Las columnas de predicción de fecha se agregan en función del valor mínimo, el valor máximo y el modo.

Freq

target_aggregation_function

Mecanismo de corrección de regularidad de datos

Ninguno (predeterminado)

Ninguno (predeterminado)

La agregación no se aplica. Si no se puede generar la frecuencia válida, se generará el error.

Algún valor

Ninguno (predeterminado)

La agregación no se aplica. Si el número de puntos de datos compatibles con la cuadrícula de frecuencia dada es inferior al 90 %, se quitarán estos puntos; de lo contrario, se generará el error.

Ninguno (predeterminado)

Función de agregación

Se ha producido el error sobre los parámetros de frecuencia que faltan.

Algún valor

Función de agregación

Se agrega a la frecuencia mediante la función providedaggregation.

cv_step_size
str, int o None
valor predeterminado: auto

Número de períodos entre origin_time de un plegado CV y el siguiente plegado. Por ejemplo, si n_step = 3 para los datos diarios, la hora de origen de cada plegado será de tres días de diferencia.

validate_parameters
bool
valor predeterminado: True

Configúrelo para validar los parámetros de entrada.

features_unknown_at_forecast_time
valor predeterminado: None
_enable_future_regressors
valor predeterminado: False

Métodos

from_parameters_dict

Clase Construct ForecastingParameters a partir de un dict.

validate_parameters

Valide los parámetros de la clase ForecastingParameters.

from_parameters_dict

Clase Construct ForecastingParameters a partir de un dict.

static from_parameters_dict(parameter_dict: Dict[str, Any], validate_params: bool, show_deprecate_warnings: bool | None = True) -> ForecastingParameters

Parámetros

parameter_dict
Requerido

dict contiene todos los parámetros de previsión.

validate_params
Requerido

Si se valida el parámetro de entrada o no.

show_deprecate_warnings
valor predeterminado: True

Cambie para mostrar la advertencia de parámetros en desuso.

validate_parameters

Valide los parámetros de la clase ForecastingParameters.

validate_parameters()

Atributos

country_or_region_for_holidays

País o región que se usa para generar características de vacaciones. Debe ser el código ISO 3166 de país o región de dos letras, por ejemplo, "US" o "GB".

cv_step_size

Número de períodos entre origin_time de un plegado CV y el siguiente plegado. Por ejemplo, si n_step = 3 para los datos diarios, la hora de origen de cada plegado será de tres días de diferencia.

drop_column_names

Nombres de las columnas que se van a quitar para las tareas de previsión.

dropna

Configure dropna en el transformador de datos de series temporales.

feature_lags

Marca para generar retrasos para las características numéricas.

features_unknown_at_forecast_time

Los nombres de columna de las características que están disponibles para el entrenamiento, pero desconocidos en el tiempo de previsión o inferencia. Si no se define, se supone que todas las columnas de características se conocen en el momento de la previsión.

forecast_horizon

Horizonte de previsión máximo deseado en unidades de frecuencia de la serie temporal. El valor predeterminado es 1. Las unidades se basan en el intervalo de tiempo de los datos de entrenamiento, p. ej., semanales, mensuales, que debe predecir el pronosticador.

formatted_drop_column_names

Nombres con formato de columnas que se quitarán para las tareas de previsión.

formatted_group_column_names

formatted_target_lags

Número con formato de períodos pasados que se han de retraso desde la columna de destino.

formatted_time_series_id_column_names

Nombres de las columnas que se usan para agrupar una serie temporal. Se puede usar para crear varias series. Si no se define time_series_id_column_names, el conjunto de datos se presupone una serie temporal.

formatted_unknown_features

Los nombres de columna de las características que están disponibles para el entrenamiento, pero desconocidos en el tiempo de previsión o inferencia. Si no se define, se supone que todas las columnas de características se conocen en el momento de la previsión. Solo se admite en dnn/tcn. Cuando el usuario no especifica nada, las características futuras no están habilitadas en dnn. Sin embargo, si proporcionan una lista vacía, se habilitan las características futuras y se supone que todas las columnas de características se conocen en el momento de la previsión.

freq

Frecuencia del conjunto de datos.

group_column_names

holiday_country

País o región que se usa para generar características de vacaciones. Debe ser el código ISO 3166 de país o región de dos letras, por ejemplo, "US" o "GB".

overwrite_columns

Configure overwrite_columns en el transformador de datos de series temporales.

seasonality

Estacionalidad de serie temporal como un múltiplo entero de la frecuencia de la serie.

short_series_handling_configuration

Devuelve si se debe agregar un poco más corto.

target_aggregation_function

Devuelve la función de agregación de destino.

target_lags

Número de períodos pasados para retrasar desde la columna de destino.

target_rolling_window_size

time_column_name

Nombre de la columna de hora. Este parámetro es obligatorio en la previsión para especificar la columna de fecha y hora en los datos de entrada que se usa para crear la serie temporal e inferir su frecuencia.

time_series_id_column_names

Nombres de las columnas que se usan para agrupar una serie temporal. Se puede usar para crear varias series. Si no se define time_series_id_column_names, el conjunto de datos se presupone una serie temporal.

transform_dictionary

Configure transform_dictionary en el transformador de datos de series temporales.

use_stl

Configura la descomposición de STL de la columna de destino de la serie temporal. use_stl puede tomar tres valores: None (valor predeterminado), sin descomposición de STL, "season", solo para generar componente de temporadas y "season_trend", para generar componentes de temporada y tendencias.

DEFAULT_TIMESERIES_VALUE

DEFAULT_TIMESERIES_VALUE = {'_enable_future_regressors': False, 'cv_step_size': 'auto', 'feature_lags': None, 'features_unknown_at_forecast_time': None, 'forecast_horizon': 1, 'freq': None, 'max_horizon': 1, 'seasonality': 'auto', 'short_series_handling': True, 'short_series_handling_configuration': 'auto', 'target_aggregation_function': None, 'target_lags': None, 'target_rolling_window_size': None, 'use_stl': None}

DEPRECATED_DICT

DEPRECATED_DICT = {'country': 'country_or_region_for_holidays', 'country_or_region': 'country_or_region_for_holidays', 'grain_column_names': 'time_series_id_column_names', 'holiday_country': 'country_or_region_for_holidays', 'max_horizon': 'forecast_horizon'}

EMPTY_TIME_COLUMN_NAME

EMPTY_TIME_COLUMN_NAME = '_EMPTY_TIME_COLUMN_NAME'

MAX_LAG_LENGTH

MAX_LAG_LENGTH = 2000