Ordenação de séries temporais para aprendizado de máquina

14

Depois de ler uma das "Dicas de pesquisa" do RJ Hyndman sobre validação cruzada e séries temporais, voltei a uma antiga pergunta minha que tentarei formular aqui. A idéia é que, em problemas de classificação ou regressão, a ordem dos dados não é importante e, portanto , a validação cruzada k- fold pode ser usada. Por outro lado, em séries temporais, a ordenação dos dados é obviamente de grande importância.

No entanto, quando se utiliza uma máquina modelo para séries temporais de previsão aprendizagem, uma estratégia comum é para reformular a série em um conjunto de "vectores de entrada-saída", que, para um tempo t , têm a forma ( y t - N + 1 , . . . , Y t - 1 , y t ; y t + 1 ) .{y1,...,yT}t(yt-n+1,...,yt-1,yt;yt+1)

Agora, uma vez que essa remodelagem tenha sido feita, podemos considerar que o conjunto resultante de "vetores de entrada e saída" não precisa ser ordenado? Se usarmos, por exemplo, uma rede neural de feed-forward com n entradas para "aprender" esses dados, chegaremos aos mesmos resultados, independentemente da ordem em que mostramos os vetores para o modelo. E, portanto, poderíamos usar a validação cruzada com dobras k da maneira padrão, sem a necessidade de reajustar o modelo a cada vez?

jla
fonte

Respostas:

2

A resposta a esta pergunta é que isso funcionará bem desde que o pedido do modelo seja especificado corretamente, pois os erros do modelo serão independentes.

Este artigo aqui mostra que se um modelo tem má validação cruzada irá subestimar o quão pobre que realmente é. Em todos os outros casos, a validação cruzada fará um bom trabalho, em particular, um trabalho melhor do que a avaliação fora da amostra normalmente usada no contexto de séries temporais.

Christoph Bergmeir
fonte
6

Pergunta interessante!

A abordagem que você descreve é ​​certamente muito usada por pessoas que usam métodos ML padrão que requerem vetores de atributos de comprimento fixo para analisar dados de séries temporais.

Na postagem que você vincula, Hyndman aponta que existem correlações entre os vetores de dados remodelados (amostras). Isso pode ser problemático, pois o k-CV (ou outros métodos de avaliação que dividem dados aleatoriamente em conjuntos de treinamento e teste) assume que todas as amostras são independentes. No entanto, não acho que essa preocupação seja relevante para o caso de métodos padrão de ML, que tratam atributos separadamente.

Para uma explicação, deixe-me simplificar sua notação assumindo n=3, então os primeiros vetores de dados (rotulados em ordem alfabética) serão:

UMA:(y1,y2,y3;y4)B:(y2,y3,y4;y5)C:(y3,y4,y5;y6)

Claramente, A e B têm termos como y2em comum. Mas, para A, esse é o valor do seu segundo atributo, enquanto que para B, esse é o valor do seu primeiro atributo.

Tampão irlandês
fonte
1
Concordo com você que alguns algoritmos de ML podem ser imunes ao problema de amostras altamente correlacionadas porque tratam os atributos completamente separadamente. Mas esses algoritmos também não são muito bons para o trabalho em séries temporais. Os algoritmos de ML que são promissores para uma série temporal precisam notar que os atributos 1 e 2 são realmente semelhantes, caso contrário, eles serão ruins na previsão (a previsão deve ser aproximadamente semelhante quando você muda o tempo 1) Esses algoritmos também sofreriam com o problema mencionado por Hyndman.
max