FORECAST¶
Nome completo: SNOWFLAKE.ML.FORECAST
Um modelo de previsão produz uma previsão para uma ou várias séries temporais. Você usa CREATE SNOWFLAKE.ML.FORECAST para criar e treinar o modelo de previsão e, em seguida, usa o método <nome_do_modelo>!FORECAST do modelo para produzir previsões. O método <nome_do_modelo>!EXPLAIN_FEATURE_IMPORTANCE fornece informações sobre como cada recurso nos dados de treinamento influencia a previsão.
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>')
[ [ WITH ] TAG ( <tag_name> = '<tag_value>' [ , <tag_name> = '<tag_value>' , ... ] ) ]
[ COMMENT = '<string_literal>' ]
Nota
O uso de argumentos nomeados tornará a ordem dos argumentos irrelevante e resultará 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.name
ouschema_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.
Os dados referenciados são todos os dados de treinamento consumidos pelo modelo de previsão. Se
input_data
contiver qualquer coluna que não seja nomeada comotimestamp_colname
,target_colname
ouseries_colname
, são consideradas variáveis exógenas (recursos adicionais).A ordem das colunas nos dados de entrada é irrelevante.
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 rótulo de treinamento (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.
Notas de uso¶
A replicação de instâncias de classe não é suportada atualmente.
SHOW SNOWFLAKE.ML.FORECAST¶
Lista todos os modelos de previsão.
Sintaxe¶
SHOW SNOWFLAKE.ML.FORECAST [ LIKE <pattern> ]
[ IN
{
ACCOUNT |
DATABASE |
DATABASE <database_name> |
SCHEMA |
SCHEMA <schema_name> |
<schema_name>
}
]
Parâmetros¶
LIKE 'pattern'
Filtra a saída do comando pelo nome do objeto. O filtro utiliza correspondência de padrão que não diferencia maiúsculas e minúsculas com suporte para caracteres curinga SQL (
%
e_
).Por exemplo, os seguintes padrões retornam os mesmos resultados:
... LIKE '%testing%' ...
... LIKE '%TESTING%' ...
[ IN ... ]
Opcionalmente, especifica o escopo do comando. Especifique um dos seguintes:
ACCOUNT
Retorna registros para toda a conta.
DATABASE
, .DATABASE db_name
Retorna registros do banco de dados atual em uso ou de um banco de dados especificado (
db_name
).Se você especificar
DATABASE
semdb_name
e nenhum banco de dados estiver em uso, a palavra-chave não terá efeito sobre a saída.SCHEMA
, .SCHEMA schema_name
, .schema_name
Retorna registros do esquema atual em uso ou de um esquema especificado (
schema_name
).SCHEMA
é opcional se um banco de dados estiver em uso ou se você especificar oschema_name
totalmente qualificado (por exemplo,db.schema
).Se nenhum banco de dados estiver em uso, a especificação
SCHEMA
não terá efeito sobre a saída.
Padrão: depende se a sessão tem ou não um banco de dados em uso no momento:
Banco de dados:
DATABASE
é o padrão (ou seja, o comando retorna os objetos nos quais você tem privilégios para visualizar no banco de dados).Sem banco de dados:
ACCOUNT
é o padrão (ou seja, o comando retorna os objetos que você tem privilégios de visualização em sua conta).
Saída¶
A saída do comando fornece propriedades de modelo e metadados nas colunas a seguir:
Coluna |
Descrição |
---|---|
criado_em |
Data e hora em que o modelo foi criado |
nome |
Nome do modelo |
nome_do_banco_de_dados |
Banco de dados no qual o modelo está armazenado |
nome_do_esquema |
Esquema no qual o modelo está armazenado |
versão_atual |
A versão do modelo, atualmente 1 |
comentário |
Comentário para o modelo |
proprietário |
Nome da função proprietária do modelo |
DROP SNOWFLAKE.ML.FORECAST¶
Remove o modelo especificado do esquema atual ou especificado.
Sintaxe¶
DROP SNOWFLAKE.ML.FORECAST [IF EXISTS] <name>;
Parâmetros¶
name
Especifica o identificador do modelo a ser descartado. Se o identificador contiver espaços, caracteres especiais ou caracteres com letras maiúsculas e minúsculas, toda a cadeia de caracteres deve ser delimitada por aspas duplas. Os identificadores delimitados por aspas duplas também diferenciam letras maiúsculas de minúsculas.
Se o identificador do modelo não estiver totalmente qualificado (na forma de
db_name.schema_name.name
ouschema_name.name
), o comando procura o modelo no esquema atual para a sessão.
Notas de uso¶
Os modelos descartados não podem ser recuperados; eles devem ser recriados.
<nome_do_modelo>!FORECAST¶
Gera uma previsão do modelo previamente treinado model_name
.
Sintaxe¶
Os argumentos necessários variam dependendo do caso de uso para o qual o modelo foi treinado.
Para modelos de série única sem variáveis exógenas:
<model_name>!FORECAST(
FORECASTING_PERIODS => <forecasting_periods>,
[CONFIG_OBJECT => <config_object>]
);
Para modelos de série única com variáveis exógenas:
<model_name>!FORECAST(
INPUT_DATA => <input_data>,
TIMESTAMP_COLNAME => '<timestamp_colname>',
[CONFIG_OBJECT => <config_object>]
);
Para modelos de série múltipla sem variáveis exógenas:
<model_name>!FORECAST(
SERIES_VALUE => <series>,
FORECASTING_PERIODS => <forecasting_periods>,
TIMESTAMP_COLNAME => '<timestamp_colname>',
[CONFIG_OBJECT => <config_object>]
);
Para modelos de série múltipla com variáveis exógenas:
<model_name>!FORECAST(
SERIES_VALUE => <series>,
SERIES_COLNAME => <series_colname>,
INPUT_DATA => <input_data>,
TIMESTAMP_COLNAME => '<timestamp_colname>',
[CONFIG_OBJECT => <config_object>]
);
Argumentos¶
Obrigatório:
Nem todos os argumentos a seguir são necessários para todos os casos de uso listados anteriormente.
FORECASTING_PERIODS => forecasting_periods
Necessário para previsões sem variáveis exógenas.
O número de etapas à frente para a previsão. O intervalo entre as etapas é inferido pelo modelo durante o treinamento.
INPUT_DATA => input_data
Necessário para previsões com variáveis exógenas. Suas variáveis exógenas devem estar na mesma ordem nesta etapa em que estavam na etapa de treinamento.
Uma referência a uma tabela, exibição ou consulta que contém os carimbos de data/hora futuros e os valores das variáveis exógenas (recursos adicionais fornecidos pelo usuário) que foram passados como
input_data
ao treinar o modelo. O uso de uma referência permite que o processo de previsão, executado com privilégios limitados, use seus privilégios para acessar os dados. As colunas são combinadas entre este argumento e os dados de treinamento exógenos originais por nome.TIMESTAMP_COLNAME => 'timestamp_colname'
Necessário para previsões com variáveis exógenas.
O nome da coluna em
input_data
contendo os carimbos de data/hora.SERIES_COLNAME => 'series_colname'
Necessário para previsões de série múltipla com variáveis exógenas.
O nome da coluna em
input_data
especificando a série.SERIES_VALUE => series
Necessário para previsões de série múltipla.
A série temporal a ser prevista. Pode ser um valor único (por exemplo, “Series A”::variant) ou um VARIANT, mas deve especificar uma série na qual o modelo foi treinado. Se não for especificado, todas as séries treinadas serão previstas.
Opcional:
CONFIG_OBJECT => config_object
Um OBJECT contendo pares chave-valor usados para configurar o trabalho de previsão. No momento, há apenas uma opção de configuração.
Chave
Tipo
Descrição
prediction_interval
[0, 1)
. O padrão é 0,95, o que significa que 95% dos pontos futuros devem ficar dentro do intervalo [lower_bound, upper_bound] do resultado da previsão.
Saída¶
A coluna SERIES está presente apenas para previsões de série múltipla. As previsões de série única não têm esta coluna.
Uma coluna adicional também está presente para cada variável exógena. O número, os nomes e os tipos variam, por isso não estão incluídos aqui.
Coluna |
Tipo |
Descrição |
---|---|---|
SERIES |
Série para o valor previsto nesta linha (para previsões de série múltipla) |
|
TS |
Carimbo de data/hora |
|
FORECAST |
Previsão do valor de destino |
|
LOWER_BOUND |
Limite inferior do intervalo de previsão |
|
UPPER_BOUND |
Limite superior do intervalo de previsão |
<nome_do_modelo>!EXPLAIN_FEATURE_IMPORTANCE¶
Retorna a importância relativa do recurso para cada recurso usado pelo modelo.
Sintaxe¶
<model_name>!EXPLAIN_FEATURE_IMPORTANCE();
Saída¶
Coluna |
Tipo |
Descrição |
---|---|---|
SERIES |
Valor da série (presente apenas se o modelo foi treinado com várias séries temporais) |
|
RANK |
A classificação de importância de um recurso para uma série específica |
|
FEATURE_NAME |
O nome do recurso usado para treinar o modelo. |
|
IMPORTANCE_SCORE |
A pontuação de importância do recurso: um valor em [0, 1], com 0 sendo a importância mais baixa possível e 1 a mais alta. |
|
FEATURE_TYPE |
A origem do recurso, uma das seguintes:
|