Compartilhar via


ForecastingSettings Classe

Configurações de previsão para um trabalho de AutoML.

Herança
azure.ai.ml.entities._mixins.RestTranslatableMixin
ForecastingSettings

Construtor

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

Nome Description
country_or_region_for_holidays
Obrigatório

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
Obrigatório

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.

forecast_horizon
Obrigatório

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, consulte Treinar automaticamente um modelo de previsão de série temporal.

target_lags
Obrigatório

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.

target_rolling_window_size
Obrigatório

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.

frequency
Obrigatório

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

feature_lags
Obrigatório

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

seasonality
Obrigatório

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.

use_stl
Obrigatório

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_config
Obrigatório

O parâmetro que define como o AutoML 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 definido como 'pad', a tabela será preenchida 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

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

manipulando a configuração

tratamento resultante

manipulação resultanteconfiguração

True

auto

True

auto

True

Almofada

True

auto

True

drop

True

auto

True

Nenhum

Falso

Nenhum

Falso

auto

Falso

Nenhum

Falso

Almofada

Falso

Nenhum

Falso

drop

Falso

Nenhum

Falso

Nenhum

Falso

Nenhum

target_aggregate_function
Obrigatório
str

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 regularidade de dados

Nenhum (padrão)

Nenhum (padrão)

A agregação não é aplicada. Se a validfrequency não puder serdeterminada, 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% 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 missingfrequency é gerado.

Algum Valor

Função de agregação

Agregar à frequência usando a função de agregaçãoprovida.

time_column_name
Obrigatório

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
Obrigatório

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.

features_unknown_at_forecast_time
Obrigatório

As colunas de recursos que estão disponíveis para treinamento, mas desconhecidas no momento da previsão/inferência. Se features_unknown_at_forecast_time estiver definido como uma lista vazia, supõe-se que todas as colunas de recursos no conjunto de dados sejam conhecidas no momento da inferência. Se esse parâmetro não estiver definido, o suporte para recursos futuros não estará habilitado.

Parâmetros de apenas palavra-chave

Nome Description
country_or_region_for_holidays
Obrigatório
cv_step_size
Obrigatório
forecast_horizon
Obrigatório
target_lags
Obrigatório
target_rolling_window_size
Obrigatório
frequency
Obrigatório
feature_lags
Obrigatório
seasonality
Obrigatório
use_stl
Obrigatório
short_series_handling_config
Obrigatório
target_aggregate_function
Obrigatório
time_column_name
Obrigatório
time_series_id_column_names
Obrigatório
features_unknown_at_forecast_time
Obrigatório