ForecastingParameters Classe

Gerencia parâmetros usados por tarefas de previsão.

Herança
builtins.object
ForecastingParameters

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

time_column_name
str
valor padrão: None

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

forecast_horizon
int ou str
valor padrão: 1

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

As unidades são baseadas no intervalo de tempo de seus dados de treinamento (por exemplo, mensal, semanal) que a previsão deve estimar. Quando o tipo de tarefa é previsão, esse parâmetro é necessário. Para obter mais informações sobre como definir parâmetros de previsão, confira Treinar automaticamente um modelo de previsão de série temporal.

time_series_id_column_names
str ou list(str)
valor padrão: None

Os nomes das colunas usadas para agrupar uma série temporal. Ele pode ser usado para criar várias séries. Se os nomes de coluna de ID da 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 seu conjunto de dados.

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

O número de períodos anteriores com atraso na coluna de destino. Por padrão, os atrasos são desativados.

Durante a previsão, esse parâmetro representa o número de linhas para atrasar os valores de destino de acordo com a frequência dos dados. Isso é representado como uma lista ou apenas um inteiro. O atraso deve ser usado quando a relação entre as variáveis independentes e a variável dependente não corresponde ou se correlaciona por padrão. Por exemplo, a previsão da demanda de um produto em um dado mês pode depender do preço de mercadorias específicas 3 meses antes disso. Neste exemplo, você pode querer retardar o destino (demanda) negativamente por 3 meses para que o modelo seja treinado na relação correta. Para obter mais informações, consulte Treinar automaticamente um modelo de previsão de série temporal.

Observação na detecção automática de tamanho de janela sem interrupção e de atrasos de destino. Consulte os comentários correspondentes na seção de 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 atraso máximo para a seleção de recursos de retrospectiva. 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 atrasos/janelas sem interrupção. Em nossos exemplos, vamos considerar a ordem de atraso máximo de 14 e 8, respectivamente).

  2. Crie uma série sem sazonalidade adicionando tendência e componentes residuais. Ela será usada na próxima etapa.

  3. Estime a PACF (função de correlação automática parcial) nos dados de (2) e procure por pontos em que a correlação automática é significativa, ou seja, o valor absoluto dela é maior que 1,96/square_root (valor de atraso máximo), que corresponde a significância de 95%.

  4. Se todos os pontos forem significativos, consideraremos que ele tem sazonalidade forte e não criaremos recursos de retrospectiva.

  5. Examinamos os valores de PACF do início e o valor antes da primeira correlação automática não significativa determinará o retardo. Se o primeiro elemento significativo (correlação do valor com ele mesmo) for seguido por um não significativo, o retardo será 0 e não usaremos recursos de retrospectiva.

feature_lags
str ou None
valor padrão: None

Sinalizador para gerar atraso para os recursos numéricos com 'auto' ou Nenhum.

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

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

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

holiday_country
str ou None
valor padrão: None
seasonality
int, str ou None
valor padrão: auto

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

country_or_region_for_holidays
str ou None
valor padrão: None

País/região usada para gerar recursos de feriados. Devem ser um código de país/região de duas letras ISO 3166, por exemplo, 'US' ou 'GB'.

use_stl
str ou None
valor padrão: None

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

short_series_handling
bool
valor padrão: True

Configure a manipulação de série curta para tarefas de previsão.

short_series_handling_configuration
str ou None
valor padrão: auto

O parâmetro que define como o ML automatizado deve lidar com uma série temporal curta.

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

  • auto as séries curtas serão preenchidas se não houver séries longas; caso contrário, as séries curtas serão removidas.
  • pad todas as séries curtas serão preenchidas.
  • drop todas as séries curtas serão removidas.
  • None as séries curtas não serão modificadas. Se definida 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 mediana for maior ou igual a zero, o valor acolchoado mínimo será recortado em zero. Entrada:

Data

numeric_value

cadeia de caracteres

destino

01/01/2020

23

green

55

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

Data

numeric_value

cadeia de caracteres

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

23

green

55

Observação: há dois parâmetros short_series_handling_configuration e short_series_handling herdado. Quando ambos os parâmetros são definidos, os sincronizamos conforme mostrado na tabela abaixo (short_series_handling_configuration e short_series_handling para brevidade são marcados como handling_configuration e handling, respectivamente).

Manipulação

handling_configuration

tratamento resultante

handling_configuration resultante

True

auto

True

auto

Verdadeiro

Almofada

True

auto

Verdadeiro

drop

True

auto

Verdadeiro

Nenhum

Falso

Nenhum

Falso

auto

Falso

Nenhum

Falso

Almofada

Falso

Nenhum

Falso

drop

Falso

Nenhum

Falso

Nenhum

Falso

Nenhum

freq
str ou None
valor padrão: None

Frequência de previsão.

Durante a previsão, esse parâmetro representa o período com o qual a previsão é desejada, por exemplo, diária, semanal, anual etc. A frequência da previsão é a frequência do conjuntos de dados por padrão. Como opção, você pode defini-lo como maior (mas não menor) que a frequência do conjunto de dados. Vamos agregar os dados e gerar 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 do 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

target_aggregation_function
str ou None
valor padrão: None

A função a ser usada para agregar a coluna de destino da série temporal de acordo com a frequência especificada pelo usuário. Se 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 de 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, 90%desses pontos 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.

cv_step_size
str, int ou None
valor padrão: auto

O número de períodos entre o origin_time de uma dobra de validação cruzada e a próxima dobra. Por exemplo, se n_step = 3 para dados diários, a hora de origem de cada dobra terá três dias de diferença da anterior.

validate_parameters
bool
valor padrão: True

Configure para validar os parâmetros de entrada.

features_unknown_at_forecast_time
valor padrão: None
_enable_future_regressors
valor padrão: False

Métodos

from_parameters_dict

Construir a classe ForecastingParameters de um dicionário.

validate_parameters

Valida os parâmetros na classe ForecastingParameters.

from_parameters_dict

Construir a classe ForecastingParameters de um dicionário.

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

Parâmetros

parameter_dict
Obrigatório

O dicionário contém todos os parâmetros de previsão.

validate_params
Obrigatório

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

show_deprecate_warnings
valor padrão: True

Alternar para mostrar um aviso de parâmetros preteridos.

validate_parameters

Valida os parâmetros na classe ForecastingParameters.

validate_parameters()

Atributos

country_or_region_for_holidays

País/região usada para gerar recursos de feriados. Devem ser códigos de país/região de duas letras ISO 3166, por exemplo, 'US' ou 'GB'.

cv_step_size

O número de períodos entre o origin_time de uma dobra de validação cruzada e a próxima dobra. Por exemplo, se n_step = 3 para dados diários, a hora de origem de cada dobra terá três dias de diferença da anterior.

drop_column_names

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

dropna

Configure o dropna no transformador de dados da série temporal.

feature_lags

Sinalizador para gerar atraso para os recursos numéricos.

features_unknown_at_forecast_time

Os nomes de coluna dos recursos que estão disponíveis para treinamento, mas desconhecidos em 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áximo 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 seus dados de treinamento (por exemplo, mensalmente, semanalmente) em que o forecaster deve prever.

formatted_drop_column_names

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

formatted_group_column_names

formatted_target_lags

O número formatado de períodos anteriores com atraso na coluna de destino.

formatted_time_series_id_column_names

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

formatted_unknown_features

Os nomes de coluna dos recursos que estão disponíveis para treinamento, mas desconhecidos em 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 em 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

País/região usada para gerar recursos de feriados. Devem ser um código de país/região de duas letras ISO 3166, por exemplo, 'US' ou 'GB'.

overwrite_columns

Configure overwrite_columns no transformador de dados da série temporal.

seasonality

A sazonalidade da série temporal como um inteiro múltiplo da frequência da série.

short_series_handling_configuration

Retorna se a granularidade curta deve ser preenchida.

target_aggregation_function

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

target_lags

O número de períodos anteriores com atraso na coluna de destino.

target_rolling_window_size

time_column_name

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

time_series_id_column_names

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

transform_dictionary

Configure transform_dictionary no transformador de dados da série temporal.

use_stl

Configure a Decomposição de STL da coluna de destino da série temporal. use_stl pode usar três valores: Nenhum (padrão) – sem decomposição de stl, 'season' – gerar apenas o componente de estação e season_trend – gerar componentes de temporada 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