Eu estou familiarizado com a validação cruzada "regular", mas agora quero fazer previsões de séries temporais enquanto estiver usando a validação cruzada com uma função de regressão linear simples. Escrevo um exemplo simples, para ajudar a esclarecer minhas duas perguntas: uma sobre a divisão trem / teste, uma pergunta sobre como treinar / testar modelos quando o objetivo é prever para n diferente, com n as etapas de previsão, em avançar.
(1) os dados
Suponha que eu tenha dados para os pontos no tempo 1, ..., 10 da seguinte maneira:
timeseries = [0.5,0.3,10,4,5,6,1,0.4,0.1,0.9]
(2) Transformando os dados em um formato útil para aprendizado supervisionado
Pelo que entendi, podemos usar "atrasos", ou seja, alterações nos dados para criar um conjunto de dados adequado para o aprendizado supervisionado:
input = [NaN,0.5,0.3,10,4,5,6,1,0.4,0.1]
output/response = [0.5,0.3,10,4,5,6,1,0.4,0.1,0.9]
Aqui, eu simplesmente mudei as séries temporais por uma para criar o vetor de saída. Pelo que entendi, agora eu poderia usar a entrada como entrada para um modelo de regressão linear e a saída para a resposta (o NaN poderia ser aproximado ou substituído por um valor aleatório).
(3) Pergunta 1: validação cruzada ("backtesting")
Digamos que eu queira fazer agora duas divisões, preciso mudar o trem e os conjuntos de testes?
Ou seja, algo como:
Conjunto de trem:
Variável independente: [NaN, 0,5,0,3,10,4,5]
Variável de saída / resposta: [0.5,0.3,10,4,5,6]
Conjunto de teste:
Variável independente: [1,0.4,0.1]
Variável de saída / resposta: [0.4,0.1,0.9]
(ii) Questão 2: Prevendo diferentes atrasos com antecedência :
Como óbvio, mudei de dependente para variáveis independentes por 1. Supondo agora que gostaria de treinar um modelo que possa prever cinco etapas de tempo de antecedência - posso manter esse atraso de um e, no entanto, usar o modelo para prever n + 1 , ..., n + 5, ... ou altero a mudança da variável independente para a variável dependente para 5? Qual é exatamente a diferença?
Respostas:
Para a primeira pergunta, como aponta Richard Hardy, há uma excelente postagem no blog sobre o assunto. Há também este post e este post que eu achei muito útil.
Para a segunda pergunta, é necessário levar em consideração as duas abordagens básicas da previsão de séries temporais de várias etapas: Previsão recursiva e previsão direta:
Observe que o post de Hyndman no blog sobre validação cruzada para séries temporais abrange um passo à frente e a previsão direta.
Para esclarecer a previsão recursiva (com base nos comentários):
(Aqui são valores reais e são valores de previsão.)Y Y^
fonte