Coleção series-temporais

Acurácia

Medidas de erro da previsão: no treino e, com a série real, no teste.

O que o bloco faz

Calcula as medidas de erro de uma previsão:

  • rmse — raiz do erro quadrático médio, na unidade da série. Pune erro grande.
  • mae — erro absoluto médio, na unidade da série.
  • mape — erro percentual absoluto médio. Explode perto de zero.
  • mase — erro absoluto escalado pelo erro do ingênuo (sazonal) no treino. Abaixo de 1, o modelo bate a referência; acima, perde. É a medida que compara séries diferentes.
  • me, mpe — erro médio e percentual médio: o VIÉS (sistematicamente acima ou abaixo).
  • acf1 — autocorrelação dos erros na defasagem 1.

Treino e teste

Sem nada na entrada real, sai só a linha do TREINO: erro de um passo à frente dentro da amostra, que é otimista por construção — o modelo viu esses dados.

Com a série inteira ligada em real (e o modelo ajustado num recorte dela, por series/window), sai também a linha do TESTE: o erro nos períodos que o modelo não viu. É ela que diz se a previsão presta.

Série real que não cobre nenhum período da previsão para o nó em vermelho: é quase sempre o fio ligado na série de treino por engano, e uma tabela só com o treino pareceria resposta.

A tabela sai com o nome do método em cada linha: várias acurácias num data/bind_rows viram a comparação de modelos.

Antes de continuar

Termos que esta página usa, em poucas palavras. As definições completas estão no glossário.

Amostra
A parte da população que é de fato observada. Quando é sorteada com probabilidades conhecidas, permite estimar características da população e medir a incerteza dessa estimativa.
Autocorrelação
A correlação de uma série com ela mesma deslocada no tempo: o valor de hoje parecido com o de ontem. É o padrão que os modelos de séries descrevem, e o que torna inválidos os testes que supõem observações independentes.
Sazonalidade
Um padrão que se repete em intervalos fixos do calendário, como mais chuva em janeiro ou mais vendas em dezembro. O período sazonal é o comprimento do ciclo: 12 para dados mensais com ciclo anual.
Treino e teste
Dividir os dados em uma parte para ajustar o modelo (treino) e outra, guardada, para medir o desempenho (teste). O teste só é honesto se o modelo nunca o viu durante o ajuste.
Vazamento de dados
Quando informação que não estaria disponível na hora de prever entra no ajuste do modelo, por exemplo dados do conjunto de teste usados para padronizar variáveis. O desempenho medido fica melhor do que o real.

Quando usar

Compare modelos pela capacidade de prever períodos que não participaram do ajuste. Separe a série em treino e teste; a medida de treino sozinha tende a ser otimista.

Pressupostos

  • A validação respeita a ordem do tempo: o modelo foi ajustado num trecho ANTERIOR (series/window) e a série real cobre os períodos que ele não viu. Sem isso, o erro de teste mede o que o modelo decorou (vazamento).

    Verificar:Recortar período

    Se falhar: Recorte o treino com series/window (fim antes do teste) e ligue a série inteira em real. Nunca embaralhe observações de série temporal.

  • A linha de treino é erro de um passo dentro da amostra: otimista por construção, não serve para escolher modelo.

  • O MAPE e o MPE pedem série positiva e longe de zero (dividem pelo valor observado); com zeros eles explodem ou saem infinitos.

    Se falhar: Leia o MASE ou o MAE.

  • O MASE escala pelo erro do ingênuo (sazonal, na série com ciclo) no treino: supõe treino com mais de um ciclo e sem ser constante.

Configuração

Nenhum. Duas entradas: previsao (obrigatória) e real (opcional, a série com os períodos previstos).

Exemplo

Série de exemplo
Recortar período
ETS
Prever
Acurácia
library(trama)

reg <- tr_registry()
tr_use("trama.series", registry = reg)

tr_flow(reg) |>
  tr_add("pax", "series/example") |>
  tr_add("treino", "series/window", fim = "1958", from = "pax") |>
  tr_add("ets", "series/ets", from = "treino") |>
  tr_add("prev", "series/forecast", horizonte = 24L, from = "ets") |>
  tr_add("erro", "series/accuracy", from = "prev") |>
  tr_link("pax", "erro:real")

Como interpretar

Uma tabela (data/table) com uma linha por conjunto (treino, teste) e as colunas metodo, conjunto, me, rmse, mae, mpe, mape, mase, acf1 (e theil_s_u no teste).