ForecastingParameters Classe
Gerencia parâmetros usados por tarefas de previsão.
- Herança
-
builtins.objectForecastingParameters
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
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.
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.
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.
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.
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).
Crie uma série sem sazonalidade adicionando tendência e componentes residuais. Ela será usada na próxima etapa.
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%.
Se todos os pontos forem significativos, consideraremos que ele tem sazonalidade forte e não criaremos recursos de retrospectiva.
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.
Sinalizador para gerar atraso para os recursos numéricos com 'auto' ou Nenhum.
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.
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.
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'.
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
Configure a manipulação de série curta para tarefas de previsão.
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
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
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.
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.
- features_unknown_at_forecast_time
- _enable_future_regressors
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
O dicionário contém todos os parâmetros de previsão.
- validate_params
Se deve validar ou não o parâmetro de entrada.
- show_deprecate_warnings
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
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de