ForecastingParameters Classe

Gerenciar parâmetros usados pela previsão de tarefas.

Construtor

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

Nome Description
time_column_name
str

O nome da coluna de hora. Esse parâmetro é necessário ao prever para especificar a coluna datetime nos dados de entrada usados para criar a série temporal e inferir sua frequência.

Valor padrão: None
forecast_horizon
int ou str

O horizonte de previsão máxima desejado em unidades de frequência de série temporal. O valor padrão é 1.

As unidades são baseadas no intervalo de tempo dos dados de treinamento, por exemplo, mensalmente, semanalmente que o preditor deve prever. Quando o tipo de tarefa está sendo previsto, esse parâmetro é necessário. Para obter mais informações sobre como definir parâmetros de previsão, consulte Treinar automaticamente um modelo de previsão de série temporal.

Valor padrão: 1
time_series_id_column_names
str ou list(str)

Os nomes das colunas usadas para agrupar uma série de horários. Ele pode ser usado para criar várias séries. Se os nomes de coluna de ID de série temporal não estiverem definidos ou as colunas de identificador especificadas não identificarem todas as séries no conjunto de dados, os identificadores de série temporal serão criados automaticamente para o conjunto de dados.

Valor padrão: None
group_column_names
str ou list(str)
Valor padrão: None
target_lags
int, str ou list(int)

O número de períodos passados a serem atrasados da coluna de destino. Por padrão, os atrasos são desativados.

Ao prever, esse parâmetro representa o número de linhas para atrasar os valores de destino com base na frequência dos dados. Isso é representado como uma lista ou inteiro único. O atraso deve ser usado quando a relação entre as variáveis independentes e a variável dependente não corresponder ou correlacionar por padrão. Por exemplo, ao tentar prever a demanda por um produto, a demanda em qualquer mês pode depender do preço de commodities específicas três meses antes. Neste exemplo, talvez você queira atrasar o destino (demanda) negativamente por 3 meses para que o modelo esteja treinando sobre a relação correta. Para obter mais informações, consulte Treinar automaticamente um modelo de previsão de série temporal.

Observe a detecção automática de atrasos de destino e o tamanho da janela sem interrupção. Consulte os comentários correspondentes na seção da janela sem interrupção. Usamos o próximo algoritmo para detectar o atraso de destino ideal e o tamanho da janela sem interrupção.

  1. Estimar a ordem de retardo máxima para a seleção de recursos de pesquisa. Em nosso caso, é o número de períodos até a próxima granularidade de frequência de data, ou seja, se a frequência for diária, será uma semana (7), se for uma semana, será mês (4). Esses valores multiplicados por dois são os maiores valores possíveis de lags/janelas sem interrupção. Em nossos exemplos, consideraremos a ordem de retardo máxima de 14 e 8, respectivamente).

  2. Crie uma série desestacionada adicionando componentes de tendência e resíduos. Isso será usado na próxima etapa.

  3. Estimar o PACF – Função de Correlação Automática Parcial nos dados de (2) e pesquisar pontos, em que a correlação automática é significativa, ou seja, seu valor absoluto é mais do que 1,96/square_root(valor de retardo máximo), que correspondem à significância de 95%.

  4. Se todos os pontos forem significativos, consideraremos que é uma sazonalidade forte e não criamos recursos de olhar para trás.

  5. Verificamos os valores PACF desde o início e o valor antes da primeira correlação automática insignificante designará o retardo. Se o primeiro elemento significativo (valor correlacionado consigo mesmo) for seguido por insignificante, o atraso será 0 e não usaremos recursos de pesquisa.

Valor padrão: None
feature_lags
str ou None

Sinalizador para gerar atrasos para os recursos numéricos com 'auto' ou None.

Valor padrão: None
target_rolling_window_size
int, str ou None

O número de períodos passados usados para criar uma média de janela sem interrupção da coluna de destino.

Ao prever, esse parâmetro representa n períodos históricos a serem usados para gerar valores previstos, <= tamanho do conjunto de treinamento. Se omitido, n é o tamanho completo do conjunto de treinamento. Especifique esse parâmetro quando desejar considerar apenas certa quantidade de histórico no treinamento do modelo. Se definido como "automático", a janela sem interrupção será estimada como o último valor em que o PACF é mais do que o limite de significância. Consulte target_lags seção para obter detalhes.

Valor padrão: None
holiday_country
str ou None
Valor padrão: None
seasonality
int, str ou None

Defina a sazonalidade da série temporal como um múltiplo inteiro da frequência da série. Se a sazonalidade for definida como 'auto', ela será inferida. Se definido como None, a série temporal será considerada não sazonal, o que equivale à sazonalidade=1.

Valor padrão: auto
country_or_region_for_holidays
str ou None

O país/região usado para gerar recursos de férias. Eles devem ser códigos de país/região de duas letras ISO 3166, por exemplo , "EUA" ou "GB".

Valor padrão: None
use_stl
str ou None

Configure a Decomposição de STL da coluna de destino da série temporal. use_stl pode levar três valores: Nenhum (padrão) - sem decomposição stl, 'season' - apenas gerar componente de temporada e season_trend - gera componentes de estação e tendência.

Valor padrão: None
short_series_handling

Configure a manipulação de séries curtas para tarefas de previsão.

Valor padrão: True
short_series_handling_configuration
str ou None

O parâmetro que define como se o AutoML deve lidar com séries temporais curtas.

Valores possíveis: 'auto' (padrão), 'pad', 'drop' e None.

  • séries curtas automáticas serão adicionadas se não houver séries longas, caso contrário, séries curtas serão descartadas.
  • todas as séries curtas serão adicionadas.
  • todas as séries curtas serão descartadas".
  • Nenhuma série curta não será modificada. Se definido como 'pad', a tabela será acolchoada com os zeros e valores vazios para os regressores e valores aleatórios para o destino com a média igual à mediana do valor de destino para determinada ID de série temporal. Se a mediana for mais ou igual a zero, o valor acolchoado mínimo será recortado em zero. Entrada:

Data

numeric_value

cadeia de caracteres

de destino

01/01/2020

vinte e três

verde

55

A saída supondo que o número mínimo de valores seja quatro:

Data

numeric_value

cadeia de caracteres

de destino

2019-12-29

0

NA

55.1

2019-12-30

0

NA

55.6

2019-12-31

0

NA

54.5

01/01/2020

vinte e três

verde

55

Nota: Temos dois parâmetros short_series_handling_configuration e short_series_handling herdados. Quando ambos os parâmetros são definidos, estamos sincronizando-os conforme mostrado na tabela abaixo (short_series_handling_configuration e short_series_handling para brevidade são marcados como handling_configuration e manipulação, respectivamente).

manipulação

handling_configuration

tratamento resultante

handling_configuration resultante

Verdade

carro

Verdade

carro

Verdade

almofada

Verdade

carro

Verdade

descartar

Verdade

carro

Verdade

Nenhum

Falso

Nenhum

Falso

carro

Falso

Nenhum

Falso

almofada

Falso

Nenhum

Falso

descartar

Falso

Nenhum

Falso

Nenhum

Falso

Nenhum

Valor padrão: auto
freq
str ou None

Frequência de previsão.

Ao prever, esse parâmetro representa o período com o qual a previsão é desejada, por exemplo, diária, semanal, anual etc. A frequência de previsão é a frequência do conjunto de dados por padrão. Opcionalmente, você pode defini-lo como maior (mas não menor) do que a frequência do conjunto de dados. Agregaremos os dados e geraremos os resultados na frequência de previsão. Por exemplo, para dados diários, você pode definir a frequência como diária, semanal ou mensal, mas não por hora. A frequência precisa ser um alias de deslocamento pandas. Consulte a documentação do Pandas para obter mais informações: https://pandas.pydata.org/pandas-docs/stable/user_guide/timeseries.html#dateoffset-objects

Valor padrão: None
target_aggregation_function
str ou None

A função a ser usada para agregar a coluna de destino da série temporal para estar em conformidade com uma frequência especificada pelo usuário. Se o target_aggregation_function estiver definido, mas o parâmetro freq não estiver definido, o erro será gerado. As possíveis funções de agregação de destino são: "sum", "max", "min" e "mean".

  • Os valores da coluna de destino são agregados com base na operação especificada. Normalmente, sum é apropriado para a maioria dos cenários.

  • As colunas de previsão numéricas em seus dados são agregadas por soma, média, valor mínimo e valor máximo. Como resultado, o ML automatizado gera novas colunas sufixos com o nome da função de agregação e aplica a operação de agregação selecionada.

  • Para colunas de previsão categóricas, os dados são agregados por modo, a categoria mais proeminente na janela.

  • As colunas do preditor de data são agregadas por valor mínimo, valor máximo e modo.

Freq

target_aggregation_function

Mecanismo de correção de regularidade de dados

Nenhum (padrão)

Nenhum (padrão)

A agregação não é aplicada. Se a frequência válida não puder ser determinada, o erro será gerado.

Algum valor

Nenhum (padrão)

A agregação não é aplicada. Se o número de pontos de dados em conformidade com a grade de frequência fornecida for menor, então 90 pontos%these serão removidos, caso contrário, o erro será gerado.

Nenhum (padrão)

Função de agregação

O erro sobre parâmetros de frequência ausentes é gerado.

Algum valor

Função de agregação

Agregar à frequência usando a função providedaggregation.

Valor padrão: None
cv_step_size
str, int ou None

Número de períodos entre o origin_time de uma dobra CV e a próxima dobra. Por exemplo, se n_step = 3 para dados diários, o tempo de origem para cada dobra terá três dias de diferença.

Valor padrão: auto
validate_parameters

Configure para validar os parâmetros de entrada.

Valor padrão: True
features_unknown_at_forecast_time
Valor padrão: None
_enable_future_regressors
Valor padrão: False

Métodos

from_parameters_dict

Construa a classe ForecastingParameters a partir de um ditado.

validate_parameters

Valide os parâmetros na classe ForecastingParameters.

from_parameters_dict

Construa a classe ForecastingParameters a partir de um ditado.

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

Parâmetros

Nome Description
parameter_dict
Obrigatório

O ditado contém todos os parâmetros de previsão.

validate_params
Obrigatório

Se validar o parâmetro de entrada ou não.

show_deprecate_warnings

Alterne para mostrar o aviso de parâmetros preteridos.

Valor padrão: True

validate_parameters

Valide os parâmetros na classe ForecastingParameters.

validate_parameters()

Atributos

country_or_region_for_holidays

O país/região usado para gerar recursos de férias. Eles devem ser código de país/região de duas letras ISO 3166, por exemplo , "EUA" ou "GB".

cv_step_size

Número de períodos entre o origin_time de uma dobra CV e a próxima dobra. Por exemplo, se n_step = 3 para dados diários, o tempo de origem para cada dobra terá três dias de diferença.

drop_column_names

Os nomes das colunas a serem soltas para tarefas de previsão.

dropna

Configure dropna no transformador de dados de timeseries.

feature_lags

Sinalizador para gerar atrasos para os recursos numéricos.

features_unknown_at_forecast_time

O nome da coluna dos recursos que estão disponíveis para treinamento, mas desconhecidos no tempo de previsão/inferência. Se isso não for definido, supõe-se que todas as colunas de recurso sejam conhecidas no momento da previsão.

forecast_horizon

O horizonte de previsão máxima desejado em unidades de frequência de série temporal. O valor padrão é 1. As unidades são baseadas no intervalo de tempo dos dados de treinamento, por exemplo, mensalmente, semanalmente que o preditor deve prever.

formatted_drop_column_names

Os nomes formatados de colunas a serem removidos para tarefas de previsão.

formatted_group_column_names

formatted_target_lags

O número formatado de períodos passados a serem atrasados da coluna de destino.

formatted_time_series_id_column_names

Os nomes das colunas usadas para agrupar uma série de horários. Ele pode ser usado para criar várias séries. Se time_series_id_column_names não estiver definido, o conjunto de dados será considerado uma série temporal.

formatted_unknown_features

O nome da coluna dos recursos que estão disponíveis para treinamento, mas desconhecidos no tempo de previsão/inferência. Se isso não for definido, supõe-se que todas as colunas de recurso sejam conhecidas no momento da previsão. Só há suporte em dnn/tcn. Quando o usuário não especifica nada, os recursos futuros não são habilitados no dnn. No entanto, se eles fornecerem uma lista vazia, os recursos futuros serão habilitados e todas as colunas de recursos serão consideradas conhecidas no momento da previsão.

freq

A frequência do conjunto de dados.

group_column_names

holiday_country

O país/região usado para gerar recursos de férias. Eles devem ser código de país/região de duas letras ISO 3166, por exemplo , "EUA" ou "GB".

overwrite_columns

Configure overwrite_columns no transformador de dados timeseries.

seasonality

Sazonalidade de série temporal como um múltiplo inteiro da frequência da série.

short_series_handling_configuration

Retorne se os grãos curtos devem ser acolchoados.

target_aggregation_function

Retorne a função de agregação de destino.

target_lags

O número de períodos passados a serem atrasados da coluna de destino.

target_rolling_window_size

time_column_name

O nome da coluna de hora. Esse parâmetro é necessário ao prever para especificar a coluna datetime nos dados de entrada usados para criar a série temporal e inferir sua frequência.

time_series_id_column_names

Os nomes das colunas usadas para agrupar uma série de horários. Ele pode ser usado para criar várias séries. Se time_series_id_column_names não estiver definido, o conjunto de dados será considerado uma série temporal.

transform_dictionary

Configure transform_dictionary no transformador de dados de timeseries.

use_stl

Configure a Decomposição de STL da coluna de destino da série temporal. use_stl pode levar três valores: Nenhum (padrão) - sem decomposição stl, 'season' - apenas gerar componente de temporada e season_trend - gera componentes de estação e tendência.

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