Funcionalidades de calendário para previsão de série temporal no AutoML
Este artigo centra-se nas funcionalidades baseadas no calendário que o AutoML cria para aumentar a precisão dos modelos de regressão de previsão. Uma vez que as férias podem ter uma forte influência na forma como o sistema modelado se comporta, o tempo antes, durante e depois de um feriado pode influenciar os padrões da série. Cada feriado gera uma janela sobre o seu conjunto de dados existente ao qual o formando pode atribuir um efeito. Isto pode ser especialmente útil em cenários como feriados que geram exigências elevadas para produtos específicos. Veja o artigo de descrição geral dos métodos para obter informações mais gerais sobre a metodologia de previsão no AutoML. Pode encontrar instruções e exemplos para preparar modelos de previsão no AutoML no nosso artigo configurar a AutoML para previsão de série temporal .
Como parte da engenharia de funcionalidades, o AutoML transforma colunas de tipo datetime fornecidas nos dados de preparação em novas colunas de funcionalidades baseadas no calendário. Estas funcionalidades podem ajudar os modelos de regressão a aprender padrões sazonais em várias cadências. O AutoML pode sempre criar funcionalidades de calendário a partir do índice de tempo da série temporal, uma vez que esta é uma coluna necessária nos dados de preparação. As funcionalidades do calendário também são efetuadas a partir de outras colunas com o tipo datetime, se existirem. Veja como o AutoML utiliza o seu guia de dados para obter mais informações sobre os requisitos de dados.
O AutoML considera duas categorias de funcionalidades de calendário: funcionalidades padrão que se baseiam inteiramente em valores de data e hora e funcionalidades de feriados específicas de um país ou região do mundo. Vamos ver estas funcionalidades no resto do artigo.
Funcionalidades de calendário padrão
A tabela seguinte mostra o conjunto completo de funcionalidades de calendário padrão do AutoML, juntamente com um resultado de exemplo. O exemplo utiliza o formato padrão YY-mm-dd %H-%m-%d
para a representação datetime.
Nome da funcionalidade | Description | Saída de exemplo para 2011-01-01 00:25:30 |
---|---|---|
year |
Funcionalidade numérica que representa o ano do calendário | 2011 |
year_iso |
Representa o ano ISO conforme definido na ISO 8601. Os anos iso começam na primeira semana do ano que tem uma quinta-feira. Por exemplo, se 1 de janeiro for uma sexta-feira, o ano ISO começa a 4 de janeiro. Os anos iso podem diferir dos anos do calendário. | 2010 |
half |
Funcionalidade que indica se a data se encontra na primeira ou segunda metade do ano. É 1 se a data for anterior a 1 e 2 de julho. | |
quarter |
Funcionalidade numérica que representa o trimestre da data especificada. São necessários os valores 1, 2, 3 ou 4 que representam o primeiro, segundo, terceiro, quarto trimestre do ano civil. | 1 |
month |
Funcionalidade numérica que representa o mês do calendário. Utiliza os valores de 1 a 12. | 1 |
month_lbl |
Funcionalidade de cadeia que representa o nome do mês. | 'Janeiro' |
day |
Funcionalidade numérica que representa o dia do mês. São necessários valores de 1 a 31. | 1 |
hour |
Funcionalidade numérica que representa a hora do dia. Leva os valores de 0 a 23. | 0 |
minute |
Funcionalidade numérica que representa o minuto dentro da hora. Leva os valores de 0 a 59. | 25 |
second |
Funcionalidade numérica que representa o segundo do datetime especificado. No caso de apenas o formato de data ser fornecido, é assumido como 0. Leva os valores de 0 a 59. | 30 |
am_pm |
Funcionalidade numérica que indica se a hora é de manhã ou à noite. É 0 por vezes antes das 12:00 e 1 para as vezes depois das 12:00. | 0 |
am_pm_lbl |
Funcionalidade de cadeia que indica se a hora é de manhã ou de noite. | 'am' |
hour12 |
Funcionalidade numérica que representa a hora do dia num relógio de 12 horas. Leva os valores de 0 a 12 para a primeira metade do dia e de 1 a 11 para o segundo semestre. | 0 |
wday |
Funcionalidade numérica que representa o dia da semana. Leva os valores de 0 a 6, em que 0 corresponde a segunda-feira. | 5 |
wday_lbl |
Funcionalidade de cadeia que representa o nome do dia da semana. | |
qday |
Funcionalidade numérica que representa o dia dentro do trimestre. Utiliza os valores de 1 a 92. | 1 |
yday |
Funcionalidade numérica que representa o dia do ano. São necessários valores de 1 a 365 ou de 1 a 366 no caso do ano bissexto. | 1 |
week |
Funcionalidade numérica que representa a semana ISO , conforme definido na ISO 8601. As semanas iso começam sempre na segunda-feira e terminam no domingo. São precisos valores de 1 a 52, ou 53 para anos que tenham 1 de janeiro caindo na quinta-feira ou para anos bissextos tendo 1 de janeiro caído na quarta-feira. | 52 |
O conjunto completo de funcionalidades de calendário padrão pode não ser criado em todos os casos. O conjunto gerado depende da frequência da série temporal e se os dados de preparação contêm funcionalidades de datetime, além do índice de hora. A tabela seguinte mostra as funcionalidades criadas para diferentes tipos de coluna:
Finalidade da coluna | Funcionalidades do calendário |
---|---|
Índice de tempo | O conjunto completo menos as funcionalidades do calendário que têm uma correlação elevada com outras funcionalidades. Por exemplo, se a frequência de série temporal for diária, todas as funcionalidades com uma frequência mais granular do que a diária serão removidas, uma vez que não fornecem informações úteis. |
Outra coluna datetime | Um conjunto reduzido que consiste em , , , , , DayOfYear QuarterOfYear , WeekOfMonth , Hour , e Minute Second . DayOfWeek Day Month Year Se a coluna for uma data sem hora, Hour , Minute e Second será 0. |
Funcionalidades festivas
Opcionalmente, o AutoML pode criar funcionalidades que representam feriados de um país ou região específico. Estas funcionalidades são configuradas no AutoML com o country_or_region_for_holidays
parâmetro , que aceita um código de país ISO.
Nota
As funcionalidades de feriados só podem ser efetuadas para séries de tempo com frequência diária.
A tabela seguinte resume as funcionalidades de feriados:
Nome da funcionalidade | Description |
---|---|
Holiday |
Funcionalidade de cadeia que especifica se uma data é um feriado nacional/regional. Os dias dentro de alguns intervalos de feriados também são marcados. |
isPaidTimeOff |
Funcionalidade binária que assume o valor 1 se o dia for um "feriado de folga pago" no país ou região especificado. |
O AutoML utiliza o Azure Open Datasets como origem para informações de feriados. Para obter mais informações, veja a documentação publicHolidays .
Para compreender melhor a geração de funcionalidades festivas, considere os seguintes dados de exemplo:
Para criar funcionalidades de férias americanas para estes dados, definimos o country_or_region_for_holiday
como "EUA" nas definições de previsão , conforme mostrado no seguinte exemplo de código:
from azure.ai.ml import automl
# create a forcasting job
forecasting_job = automl.forecasting(
compute='test_cluster', # Name of single or multinode AML compute infrastructure created by user
experiment_name=exp_name, # name of experiment
training_data=sample_data,
target_column_name='demand',
primary_metric='NormalizedRootMeanSquaredError',
n_cross_validations=3,
enable_model_explainability=True
)
# set custom forecast settings
forecasting_job.set_forecast_settings(
time_column_name='timeStamp',
country_or_region_for_holidays='US'
)
As funcionalidades de feriado geradas têm o seguinte aspeto:
Tenha em atenção que as funcionalidades geradas têm o prefixo _automl_
pré-anexado aos respetivos nomes de colunas. Geralmente, o AutoML utiliza este prefixo para distinguir as funcionalidades de entrada das funcionalidades concebidas.
Passos seguintes
- Saiba mais sobre como configurar o AutoML para preparar um modelo de previsão de série temporal.
- Procurar Perguntas Mais Frequentes sobre a Previsão de AutoML.
- Saiba mais sobre a Previsão automática de Funcionalidades Com Atraso.
- Saiba como o AutoML utiliza machine learning para criar modelos de previsão.
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários