Partilhar via


ForecastingParameters Classe

Gerir parâmetros utilizados pela previsão de tarefas.

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 predefinido: None

O nome da coluna time. Este parâmetro é necessário ao prever para especificar a coluna datetime nos dados de entrada utilizados para criar a série temporal e inferir a respetiva frequência.

forecast_horizon
int ou str
valor predefinido: 1

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

As unidades baseiam-se no intervalo de tempo dos seus dados de preparação, por exemplo, mensalmente, semanalmente que o meteorologista deve prever. Quando o tipo de tarefa está a ser previsto, este parâmetro é necessário. Para obter mais informações sobre como definir parâmetros de previsão, veja Preparar automaticamente um modelo de previsão de série temporal.

time_series_id_column_names
str ou list(str)
valor predefinido: None

Os nomes das colunas utilizadas para agrupar uma série de horas. Pode ser utilizado para criar várias séries. Se os nomes das colunas de ID da série temporal não estiverem definidos ou as colunas do identificador especificadas não identificarem todas as séries no conjunto de dados, os identificadores da série temporal serão criados automaticamente para o conjunto de dados.

group_column_names
str ou list(str)
valor predefinido: None
target_lags
int, str ou list(int)
valor predefinido: None

O número de períodos passados a desfasar da coluna de destino. Por predefinição, os atrasos estão desativados.

Ao prever, este parâmetro representa o número de linhas para atrasar os valores de destino com base na frequência dos dados. Isto é representado como uma lista ou um único número inteiro. O atraso deve ser utilizado quando a relação entre as variáveis independentes e a variável dependente não corresponder ou correlacionar por predefinição. Por exemplo, ao tentar prever a procura de um produto, a procura em qualquer mês pode depender do preço de mercadorias específicas 3 meses antes. Neste exemplo, poderá querer atrasar negativamente o destino (procura) em 3 meses para que o modelo esteja a preparar a relação correta. Para obter mais informações, veja Preparar automaticamente um modelo de previsão de série temporal.

Nota sobre a deteção automática de atrasos de destino e tamanho da janela de rolamento. Veja os comentários correspondentes na secção da janela de rolamento. Utilizamos o algoritmo seguinte para detetar o atraso de destino ideal e o tamanho da janela sem interrupção.

  1. Estimize a ordem de atraso máximo para a seleção de funcionalidades de retroceder. No nosso caso, é o número de períodos até à 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/rolling windows. Nos nossos exemplos, vamos considerar a ordem de atraso máxima de 14 e 8, respetivamente).

  2. Crie uma série não sazonalizada ao adicionar tendências e componentes residuais. Esta ação será utilizada no próximo passo.

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

  4. Se todos os pontos forem significativos, consideramos que é uma sazonalidade forte e não criamos funcionalidades de retroceder.

  5. Analisamos os valores PACF desde o início e o valor antes da primeira correlação automática insignificante designará o atraso. Se o primeiro elemento significativo (valor correlacionado consigo próprio) for seguido por insignificante, o atraso será 0 e não utilizaremos as funcionalidades de retroceder.

feature_lags
str ou None
valor predefinido: None

Sinalizar para gerar atrasos para as funcionalidades numéricas com "auto" ou Nenhum.

target_rolling_window_size
int, str ou None
valor predefinido: None

O número de períodos anteriores utilizados para criar uma média de janela rolante da coluna de destino.

Ao prever, este parâmetro representa n períodos históricos a utilizar para gerar valores previstos, <= tamanho do conjunto de preparação. Se omitido, n é o tamanho completo do conjunto de preparação. Especifique este parâmetro quando quiser considerar apenas uma determinada quantidade de histórico ao preparar o modelo. Se definido como "automático", a janela de rolamento será estimada como o último valor em que o PACF é mais do que o limiar de significância. Consulte target_lags secção para obter detalhes.

holiday_country
str ou None
valor predefinido: None
seasonality
int, str ou None
valor predefinido: auto

Defina a sazonalidade da série temporal como um número inteiro múltiplo da frequência da série. Se a sazonalidade estiver definida como "automática", será inferida. Se definida como Nenhuma, a série temporal é assumida como não sazonal, o que é equivalente a sazonalidade=1.

country_or_region_for_holidays
str ou None
valor predefinido: None

O país/região utilizado para gerar funcionalidades de feriados. Estes devem ser códigos iso 3166 país/região de duas letras, por exemplo "E.U.A" ou "GB".

use_stl
str ou None
valor predefinido: None

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

short_series_handling
bool
valor predefinido: True

Configurar o processamento de séries curtas para a previsão de tarefas.

short_series_handling_configuration
str ou None
valor predefinido: auto

O parâmetro que define como se o AutoML deve processar séries de tempo curtos.

Valores possíveis: "auto" (predefinição), "pad", "drop" e None.

  • As séries curtas automáticas serão acolchoadas se não existirem séries longas, caso contrário, as séries curtas serão removidas.
  • todas as séries curtas serão acolchoadas.
  • largar todas as séries curtas será removida".
  • Nenhuma das séries curtas será modificada. Se estiver 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 um determinado ID de série temporal. Se a mediana for mais ou igual a zero, o valor mínimo acolchoado será cortado por zero. Entrada:

Data

numeric_value

string

destino

2020-01-01

23

green

55

Saída assumindo que o número mínimo de valores é quatro:

Data

numeric_value

string

destino

2019-12-29

0

ND

55.1

2019-12-30

0

ND

55.6

2019-12-31

0

ND

54.5

2020-01-01

23

green

55

Nota: Temos dois parâmetros short_series_handling_configuration e short_series_handling legados. Quando ambos os parâmetros estão definidos, estamos a sincronizá-los conforme mostrado na tabela abaixo (short_series_handling_configuration e short_series_handling para a brevidade são marcados como handling_configuration e processamento, respetivamente).

processamento

handling_configuration

processamento resultante

resultante handling_configuration

Verdadeiro

auto

Verdadeiro

auto

Verdadeiro

teclado

Verdadeiro

auto

Verdadeiro

drop

Verdadeiro

auto

Verdadeiro

Nenhuma

Falso

Nenhuma

Falso

auto

Falso

Nenhuma

Falso

teclado

Falso

Nenhuma

Falso

drop

Falso

Nenhuma

Falso

Nenhuma

Falso

Nenhuma

freq
str ou None
valor predefinido: None

Frequência de previsão.

Ao prever, este parâmetro representa o período com o qual a previsão é pretendida, por exemplo, diariamente, semanalmente, anualmente, etc. Por predefinição, a frequência de previsão é a frequência do conjunto de dados. Opcionalmente, pode defini-lo como maior (mas não menor) do 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, pode definir a frequência como diária, semanal ou mensal, mas não por hora. A frequência tem de ser um alias de deslocamento pandas. Veja 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 predefinido: None

A função a ser utilizada para agregar a coluna de destino da série temporal para estar em conformidade com uma frequência especificada por um utilizador. 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, a soma é adequada para a maioria dos cenários.

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

  • Para colunas do preditor categórico, os dados são agregados por modo, a categoria mais proeminente na janela.

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

freq

target_aggregation_function

Mecanismo de correção da regularidade de dados

Nenhum (Predefinição)

Nenhum (Predefinição)

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

Algum Valor

Nenhum (Predefinição)

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

Nenhum (Predefinição)

Função de agregação

O erro sobre os parâmetros de frequência em falta é gerado.

Algum Valor

Função de agregação

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

cv_step_size
str, int ou None
valor predefinido: auto

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

validate_parameters
bool
valor predefinido: True

Configure para validar os parâmetros de entrada.

features_unknown_at_forecast_time
valor predefinido: None
_enable_future_regressors
valor predefinido: 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

parameter_dict
Necessário

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

validate_params
Necessário

Validar ou não o parâmetro de entrada.

show_deprecate_warnings
valor predefinido: True

Mude para mostrar o aviso de parâmetros preteridos.

validate_parameters

Valide os parâmetros na classe ForecastingParameters.

validate_parameters()

Atributos

country_or_region_for_holidays

O país/região utilizado para gerar funcionalidades de feriados. Estes devem ser CÓDIGO ISO 3166 código de país/região de duas letras, por exemplo"E.U.A. ou "GB".

cv_step_size

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

drop_column_names

Os nomes das colunas a remover para as tarefas de previsão.

dropna

Configure o dropna no transformador de dados de intervalos de tempo.

feature_lags

Sinalizar para gerar atrasos para as funcionalidades numéricas.

features_unknown_at_forecast_time

Os nomes das colunas das funcionalidades disponíveis para preparação, mas desconhecidos no tempo de previsão/inferência. Se isto não estiver definido, presume-se que todas as colunas de funcionalidades são conhecidas no momento da previsão.

forecast_horizon

O horizonte de previsão máximo pretendido em unidades de frequência de série temporal. O valor predefinido é 1. As unidades baseiam-se no intervalo de tempo dos seus dados de preparação, por exemplo, mensalmente, semanalmente que o meteorologista deve prever.

formatted_drop_column_names

Os nomes formatados das colunas a remover para as tarefas de previsão.

formatted_group_column_names

formatted_target_lags

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

formatted_time_series_id_column_names

Os nomes das colunas utilizadas para agrupar uma série de horas. Pode ser utilizado para criar várias séries. Se time_series_id_column_names não estiver definido, assume-se que o conjunto de dados é uma série temporal.

formatted_unknown_features

Os nomes das colunas das funcionalidades disponíveis para preparação, mas desconhecidos no tempo de previsão/inferência. Se isto não estiver definido, presume-se que todas as colunas de funcionalidades são conhecidas no momento da previsão. Apenas suportado em dnn/tcn. Quando o utilizador não especifica nada, as funcionalidades futuras não são ativadas no dnn. No entanto, se fornecerem uma lista vazia, as funcionalidades futuras serão ativadas e todas as colunas de funcionalidades 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 utilizado para gerar funcionalidades de feriados. Estes devem ser CÓDIGO ISO 3166 código de país/região de duas letras, por exemplo"E.U.A. ou "GB".

overwrite_columns

Configure overwrite_columns no transformador de dados de intervalos de tempo.

seasonality

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

short_series_handling_configuration

Devolver se o grão curto deve ser acolchoado.

target_aggregation_function

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

target_lags

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

target_rolling_window_size

time_column_name

O nome da coluna time. Este parâmetro é necessário ao prever para especificar a coluna datetime nos dados de entrada utilizados para criar a série temporal e inferir a respetiva frequência.

time_series_id_column_names

Os nomes das colunas utilizadas para agrupar uma série de horas. Pode ser utilizado para criar várias séries. Se time_series_id_column_names não estiver definido, assume-se que o conjunto de dados é uma série temporal.

transform_dictionary

Configure transform_dictionary no transformador de dados de intervalos de tempo.

use_stl

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