Share via


ForecastingSettings Clase

Configuración de previsión de un trabajo de AutoML.

Herencia
azure.ai.ml.entities._mixins.RestTranslatableMixin
ForecastingSettings

Constructor

ForecastingSettings(*, country_or_region_for_holidays: str | None = None, cv_step_size: int | None = None, forecast_horizon: str | int | None = None, target_lags: str | int | List[int] | None = None, target_rolling_window_size: str | int | None = None, frequency: str | None = None, feature_lags: str | None = None, seasonality: str | int | None = None, use_stl: str | None = None, short_series_handling_config: str | None = None, target_aggregate_function: str | None = None, time_column_name: str | None = None, time_series_id_column_names: str | List[str] | None = None, features_unknown_at_forecast_time: str | List[str] | None = None)

Parámetros

Nombre Description
country_or_region_for_holidays
Requerido

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
Requerido

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.

forecast_horizon
Requerido

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.

target_lags
Requerido

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.

target_rolling_window_size
Requerido

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.

frequency
Requerido

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.

feature_lags
Requerido

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

seasonality
Requerido

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.

use_stl
Requerido

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_config
Requerido

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

control de la configuración

control resultante

control resultanteconfiguración

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

target_aggregate_function
Requerido
str

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 regularidad de datos

Ninguno (predeterminado)

Ninguno (predeterminado)

La agregación no se aplica. Si la frecuencia válida no puede ser 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 menor, se quitará el 90 % de 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 defrequency que faltan.

Algún valor

Función de agregación

Agregado a frecuencia mediante la función de agregaciónprovidida.

time_column_name
Requerido

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
Requerido

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.

features_unknown_at_forecast_time
Requerido

Columnas de características disponibles para el entrenamiento pero desconocidas en el momento de la previsión o la inferencia. Si features_unknown_at_forecast_time se establece en una lista vacía, se supone que todas las columnas de características del conjunto de datos se conocen en tiempo de inferencia. Si este parámetro no está establecido, la compatibilidad con características futuras no está habilitada.

Parámetros de solo palabra clave

Nombre Description
country_or_region_for_holidays
Requerido
cv_step_size
Requerido
forecast_horizon
Requerido
target_lags
Requerido
target_rolling_window_size
Requerido
frequency
Requerido
feature_lags
Requerido
seasonality
Requerido
use_stl
Requerido
short_series_handling_config
Requerido
target_aggregate_function
Requerido
time_column_name
Requerido
time_series_id_column_names
Requerido
features_unknown_at_forecast_time
Requerido