CREATE SNOWFLAKE.ML.FORECAST¶
Cria um novo modelo de previsão a partir dos dados de treinamento fornecidos ou substitui o modelo de previsão com o mesmo nome.
Sintaxe¶
CREATE [ OR REPLACE ] SNOWFLAKE.ML.FORECAST [ IF NOT EXISTS ] <model_name>(
  INPUT_DATA => <input_data>,
  [ SERIES_COLNAME => '<series_colname>', ]
  TIMESTAMP_COLNAME => '<timestamp_colname>',
  TARGET_COLNAME => '<target_colname>',
  [ CONFIG_OBJECT => <config_object> ]
)
[ [ WITH ] TAG ( <tag_name> = '<tag_value>' [ , <tag_name> = '<tag_value>' , ... ] ) ]
[ COMMENT = '<string_literal>' ]
Nota
O uso de argumentos nomeados torna a ordem dos argumentos irrelevante e resulta em um código mais legível. No entanto, você também pode usar argumentos posicionais, como no exemplo a seguir:
CREATE SNOWFLAKE.ML.FORECAST <name>(
  '<input_data>', '<series_colname>', '<timestamp_colname>', '<target_colname>'
);
Parâmetros¶
- model_name
- Especifica o identificador do modelo; deve ser único para o esquema no qual o modelo é criado. - Se o identificador do modelo não estiver totalmente qualificado (na forma de - db_name.schema_name.nameou- schema_name.name), o comando cria o modelo no esquema atual para a sessão.- Além disso, o identificador deve começar com um caractere alfabético e não pode conter espaços ou caracteres especiais, a menos que toda a cadeia de caracteres do identificador esteja entre aspas duplas (por exemplo, - "My object"). Os identificadores delimitados por aspas duplas também diferenciam letras maiúsculas de minúsculas.- Para obter mais detalhes, consulte Requisitos para identificadores. 
Argumentos do construtor¶
Obrigatório:
- INPUT_DATA => input_data
- Uma referência aos dados de entrada. O uso de uma referência permite que o processo de treinamento, executado com privilégios limitados, use seus privilégios para acessar os dados. Você pode usar uma referência a uma tabela ou exibição se seus dados já estiverem nessa forma ou pode usar uma referência de consulta para fornecer a consulta a ser executada para obter os dados. - Para criar esta referência, você pode usar a palavra-chave TABLE com o nome da tabela, nome da exibição ou consulta, ou você pode chamar a função SYSTEM$REFERENCE ou SYSTEM$QUERY_REFERENCE. - Os dados referenciados são todos os dados de treinamento consumidos pelo modelo de previsão. Se - input_datacontiver qualquer coluna que não seja nomeada como- timestamp_colname,- target_colnameou- series_colname, são consideradas variáveis exógenas (recursos adicionais). A ordem das colunas nos dados de entrada não é importante.- Seus dados de entrada devem ter colunas com tipos apropriados para seu caso de uso. Consulte Exemplos para obter detalhes sobre cada caso de uso. - Caso de uso - Colunas e tipos - Série temporal única - Coluna de carimbo de data/hora: TIMESTAMP_NTZ. 
- Coluna de valor de destino: FLOAT. 
 - Série temporal múltipla - Coluna da série: VARIANT contendo valores numéricos e texto. 
- Coluna de carimbo de data/hora: TIMESTAMP_NTZ. 
- Coluna de valor de destino: FLOAT. 
 - Série temporal única com variáveis exógenas - Coluna de carimbo de data/hora: TIMESTAMP_NTZ. 
- Coluna de valor de destino: FLOAT. 
 - Série temporal múltipla com variáveis exógenas - Coluna da série: VARIANT contendo valores numéricos e texto. 
- Coluna de carimbo de data/hora: TIMESTAMP_NTZ. 
- Coluna de valor de destino: FLOAT. 
 
- TIMESTAMP_COLNAME => 'timestamp_colname'
- Nome da coluna que contém os carimbos de data/hora em - input_data.
- TARGET_COLNAME => 'target_colname'
- Nome da coluna que contém o destino (valor dependente) em - input_data.
Opcional:
- SERIES_COLNAME => 'series_colname'
- Para modelos de séries temporais múltiplas, o nome da coluna que define as séries temporais múltiplas em - input_data. Esta coluna pode ser um valor de qualquer tipo ou uma matriz de valores de uma ou mais colunas, conforme mostrado em Previsão em séries múltiplas.- Se você estiver fornecendo argumentos posicionalmente, este deve ser o segundo argumento. 
- CONFIG_OBJECT => config_object
- Um OBJECT contendo pares chave-valor usados para configurar a tarefa de treinamento do modelo. - Chave - Tipo - Padrão - Descrição - aggregation_categorical- 'MODE'- O método de agregação para recursos categóricas. Os valores suportados são: - 'MODE': O valor mais frequente.
- 'FIRST': O valor mais antigo.
- 'LAST': O valor mais recente.
 - aggregation_numeric- 'MEAN'- O método de agregação para recursos numéricos. Os valores suportados são: - 'MEAN': A média dos valores.
- 'MEDIAN': O valor médio.
- MODE: O valor mais frequente.
- 'MIN': O menor valor.
- 'MAX': O maior valor.
- 'SUM': O total dos valores.
- 'FIRST': O valor mais antigo.
- 'LAST': O valor mais recente.
 - aggregation_target- O mesmo que - aggregation_numeric, ou- 'MEAN', se não especificado- O método de agregação para o valor destino. Os valores suportados são: - 'MEAN': A média dos valores.
- 'MEDIAN': O valor médio.
- MODE: O valor mais frequente.
- 'MIN': O menor valor.
- 'MAX': O maior valor.
- 'SUM': O total dos valores.
- 'FIRST': O valor mais antigo.
- 'LAST': O valor mais recente.
 - aggregation_column- n/a - Um objeto com pares chave-valor (ambas cadeias de caracteres) que especificam o método de agregação para colunas específicas. A chave é o nome da coluna e o valor é o método de agregação. Se uma coluna não for especificada, o modelo usará o método especificado por - aggregation_numericou- aggregation_categorical, ou o padrão para esse tipo de coluna (- MEANpara numérico,- MODEpara categórico).- evaluate- TRUE - Se as métricas de avaliação devem ser geradas. Se TRUE, modelos adicionais serão treinados para validação cruzada usando os parâmetros em - evaluation_config.- evaluation_config- Consulte Configuração de avaliação abaixo. - Um objeto de configuração opcional para especificar como as métricas de avaliação fora da amostra devem ser geradas. - frequency- n/a - A frequência da série temporal. Se não for especificado, o modelo infere a frequência. O valor deve ser uma cadeia de caracteres que represente um período de tempo, como - '1 day'. As unidades compatíveis incluem segundos, minutos, horas, dias, semanas, meses, trimestres e anos. É possível usar o singular (“hora”) ou o plural (“horas”) para o nome do intervalo, mas não pode abreviá-lo.- method- 'best'- Cadeia de caracteres (constante) que especifica o algoritmo usado para treinar o modelo. Os valores suportados são: - 'best': usa um conjunto de modelos para determinar o melhor algoritmo para os dados. Esse conjunto inclui Prophet, ARIMA, Exponential Smoothing e um algoritmo baseado em máquina de gradient boosting (GBM).
- 'fast': usa um único algoritmo – um algoritmo baseado em GBM – para treinar o modelo. Esta opção é mais rápida do que a opção- 'best', mas pode não ser tão precisa. Recomendamos o uso de- "fast"quando os dados de treinamento tiverem 10.000 ou mais séries individuais.
 - lower_bound- FLOAT ou NULL - NULL - O limite inferior do valor de destino. Se especificado, o modelo não preverá valores abaixo desse limite. - upper_bound- FLOAT ou NULL - NULL - O limite superior do valor de destino. Se especificado, o modelo não preverá valores acima desse limite. - on_error- 'ABORT'- Cadeia de caracteres (constante) que especifica o método de tratamento de erros para a tarefa de treinamento do modelo. Isto é mais útil ao treinar múltiplas séries. Os valores suportados são: - 'abort': anula a operação de treinamento se um erro for encontrado em qualquer série temporal.
- 'skip': ignore qualquer série temporal em que o treinamento encontre um erro. Isso permite que o treinamento do modelo seja bem-sucedido para outras séries temporais. Para ver quais séries falharam, use o método <nome_do_modelo>!SHOW_TRAINING_LOGS do modelo.
 
Configuração de avaliação¶
O objeto evaluation_config contém pares chave-valor que configuram a validação cruzada. Esses parâmetros são do TimeSeriesSplit do scikit-learn.
Chave
Tipo
Padrão
Descrição
n_splits1
Número de divisões.
max_train_sizeINTEGER ou NULL (no máximo).
NULL
Tamanho máximo para um único conjunto de treinamento.
test_sizeINTEGER ou NULL.
NULL
Usado para limitar o tamanho do conjunto de teste.
gap0
Número de amostras a serem excluídas do fim de cada conjunto de treinamento antes do conjunto de teste.
prediction_interval0,95
O intervalo de previsão usado no cálculo de métricas de intervalo.
Notas de uso¶
A replicação é compatível apenas com as instâncias da classe CUSTOM_CLASSIFIER.
Exemplos¶
Consulte Exemplos.