Função ML.FORECAST

Função ML.FORECAST

A função ML.FORECAST prevê uma série temporal com base em um modelo de série temporal treinado.

ML.FORECAST retorna as seguintes colunas:

  • time_series_id: o identificador de uma série temporal. Só está presente na previsão de várias séries temporais ao mesmo tempo. O nome e o tipo da coluna são herdados da opção TIME_SERIES_ID_COL, conforme especificado na consulta de criação do modelo.
  • forecast_timestamp (TIMESTAMP)
  • forecast_value (FLOAT64)
  • standard_error (FLOAT64)
  • confidence_level (FLOAT64)
  • prediction_interval_lower_bound (FLOAT64)
  • prediction_interval_upper_bound (FLOAT64)
  • confidence_interval_lower_bound (FLOAT64) (obsoleto em breve)
  • confidence_interval_upper_bound (FLOAT64) (obsoleto em breve)

Sintaxe ML.FORECAST

ML.FORECAST(MODEL model_name,
           [, STRUCT<horizon INT64, confidence_level FLOAT64> settings])

model_name

model_name é o nome do modelo que você está usando para a previsão. Na falta de um projeto padrão configurado, adicione o ID do projeto ao nome do modelo no seguinte formato: "[PROJECT_ID].[DATASET].[MODEL]" (incluindo os acentos graves). Por exemplo, "myproject.mydataset.mymodel".

horizon

(Opcional) O horizonte é o número de pontos de tempo a serem previstos. O valor do horizonte é do tipo INT64 e faz parte das configurações STRUCT. O valor padrão é 3, e o valor máximo é o valor do horizonte especificado na instrução CREATE MODEL para modelos de série temporal. Se não for especificado, o valor máximo será 1.000. Quando se faz a previsão de várias séries temporais de uma só vez, esse parâmetro se aplica a cada série temporal.

confidence_level

(Opcional) A porcentagem dos valores futuros que se enquadram no intervalo de previsão. O valor confidence_level é do tipo FLOAT64 e faz parte das configurações STRUCT. O valor padrão é 0,95. O intervalo de entrada válido é [0, 1].

Saída ML.FORECAST

ML.FORECAST gera as seguintes colunas para todos os casos: forecast_timestamp, forecast_value, standard_error, confidence_level, prediction_interval_lower_bound prediction_interval_upper_bound confidence_interval_lower_bound e confidence_interval_upper_bound. Quando se faz a previsão de várias séries temporais de uma só vez, há uma coluna de saída adicional: time_series_id.

A saída de ML.FORECAST tem as seguintes propriedades:

  • Em cada série temporal, as linhas de saída são classificadas na ordem cronológica de forecast_timestamp.
  • forecast_timestamp sempre tem um tipo de TIMESTAMP, independentemente do tipo de entrada time_series_timestamp_col
  • forecast_value é a média de prediction_interval_lower_bound e prediction_interval_upper_bound.
  • confidence_level é o valor especificado pelo usuário ou o valor padrão, caso não esteja especificado. É o mesmo em todas as linhas.

Exemplo de ML.FORECAST

A consulta a seguir usa ML.FORECAST para prever 30 pontos de tempo com um nível de confiança de 0,8.

SELECT
  *
FROM
  ML.FORECAST(MODEL `mydataset.mymodel`,
              STRUCT(30 AS horizon, 0.8 AS confidence_level))