2.7 Dynamic Time Warping
3.1.2 Treinamento do pool de preditores
Conforme a Figura 3.1, a próxima etapa do módulo de mudança de sentido é o treina- mento do pool de preditores, que é detalhado pela Figura 3.3, a qual mostra os passos que são realizados durante o treinamento do pool. O objetivo desta etapa é retornar um pool de preditores da série recebida pelo módulo, de acordo com os parâmetros do sistema.
O primeiro passo é o particionamento (Seção 3.1.2.1) que divide a série em partições (J) de acordo com os parâmetros de tamanho da janela (k) e do percentual de interseção entre duas janelas adjacentes (pint). A fase seguinte é a de seleção de lags (Seção 3.1.2.2), responsável pela escolha das características da série (L) que são utilizadas como entradas para o treinamento do preditor de cada partição, o parâmetro lmax define o maior lag que pode ser selecionado. Posteriormente, na etapa de seleção dos dados de validação (Seção 3.1.2.3), para cada janela, é selecionado um conjunto de validação diferente (vi∈ V ). Como cada janela visa modelar um subconjunto específico da série, a etapa de validação do preditor deve validar se este subconjunto foi modelado corretamente. Ou seja, esta etapa não deve verificar se todos os padrões de comportamento que aparecem na série foram modelados corretamente, ela deve validar apenas o padrão do subconjunto em que o preditor foi treinado.
Por fim, na etapa de treinamento dos preditores, cada partição tem um preditor treinado ( fi∈ F), o qual utiliza os lags (que definem as entradas do preditor, como visto na Seção 2.6) e o conjunto de validação da partição que foram escolhidos nas etapas anteriores, os parâmetros de treinamento do preditor (Ppred) e o conjunto de treinamento que é a série da partição.
3.1.2.1 Particionamento
A primeira etapa do treinamento do pool de preditores é a etapa de particionamento (Figura 3.3). Durante esta etapa, a série temporal é particionada em janelas, podendo haver interseções entre as janelas adjacentes. O objetivo com esta operação é gerar séries menores que representem um padrão de comportamento específico da série para então treinar preditores especialistas nessas regiões. O resultado esperado é uma melhora na previsão, pois ela será realizada por um especialista em um único padrão de comportamento e não por um preditor que tenta se especializar em toda a série. Esta etapa recebe a série (Ω), o tamanho da janela (k) e o percentual de interseção entre janelas adjacentes (pint), retornando as janelas calculadas (J). Os parâmetros k e pint podem possuir valores diferentes para cada pool, com os parâmetros do poolde mudança de sentido sendo referenciados como kMS e pintMS e os do pool de previsão do próximo valor como kPV e pintPV.
As janelas possuem o mesmo tamanho k, com exceção da última, que pode ter um tamanho menor devido ao tamanho da série. Caso pint seja maior que zero, uma janela inicia antes da janela anterior terminar, logo as 2 janelas têm pontos em comum. Sendo assim, a quantidade de janelas (qj) criadas depende dessas duas variáveis (k e pint) e do tamanho da série (n), conforme a Equação3.3 .
3.1. MÓDULO DE MUDANÇA DE SENTIDO (MS) 49
Particionamento (J)
Seleção de Lags (L)
Seleção dos dados de validação (V) Treinamento dos preditores (F) J = {j1, j2, ...., jqj} J L = {l1, l2, ...., lqj} J, L V = {v1, v2, ...., vqj} k, pint lmax F = {f1, f2, ...., fqj}
Ω
Ppred...
...
...
Figura 3.3: Arquitetura de treinamento de um pool de preditores3.1. MÓDULO DE MUDANÇA DE SENTIDO (MS) 50 q j= n − (k × pint) k× (1 − pint) 3.3 A Figura 3.4 apresenta o resultado do particionamento de uma série com 754 valores usando os parâmetros: k = 200 e pint = 25%. Nela, as partições são delimitadas pelos retângulos tracejados e na parte inferior do retângulo, um número indica qual a posição da janela. Neste exemplo, 5 janelas foram criadas, com a última possuindo 154 valores ao invés de 200 como as outras janelas devido à falta de dados. Pela imagem é possível perceber também como ocorre o compartilhamento de dados entre as janelas adjacentes, como no caso dos dados entre t150e t200 que são utilizados pelas janelas j1e j2.
80 90 100 110 120 130 140 150 160 170 180 1 51 101 151 201 251 301 351 401 451 501 551 601 651 701 751 V al o r Tempo j2 j3 j4 j5 j1
Figura 3.4: Série particionada com k = 200 e pint = 25%
O tamanho da janela é um ponto importante, pois caso seja grande, poucas partições são criadas, e portanto, poucos preditores são treinados. Tais preditores serão treinados sobre uma janela com uma maior probabilidade de compreender mais de um padrão de comportamento. Sendo assim, o preditor tem uma chance menor de se tornar especialista em um único padrão de comportamento. Além desse problema, poucos preditores são treinados, e assim a probabilidade de existir um preditor especialista no padrão da série que antecede a previsão é menor.
Por outro lado, caso a partição seja pequena, o seu preditor não é bem treinado. Isto porque a partição não possui dados suficientes para que, durante o treinamento, o preditor consiga ajustar os seus parâmetros. Desta forma, o preditor não consegue generalizar de maneira satisfatória, isto é, ele passa a decorar os dados do conjunto de treinamento e não consegue realizar boas previsões a partir de entradas que não estão neste conjunto, caracterizando o sobretreinamento (overfitting). A interseção entre as partições tem como objetivo ajudar a resolver estes problemas, pois o tamanho da janela poderá ser grande o suficiente para evitar o overfittinge ainda assim existir uma quantidade significativa de janelas, aumentando as chances de existir um preditor treinado com uma janela que compreende o padrão de comportamento da
3.1. MÓDULO DE MUDANÇA DE SENTIDO (MS) 51 série a ser prevista.
3.1.2.2 Seleção de lags
Após o particionamento, temos a etapa de seleção de lags (Figura 3.3). Esta etapa tem como objetivo selecionar as características que irão compor as entradas para os preditores. Ela recebe as partições (J) criadas na etapa anterior e o parâmetro que determina o maior lag que pode ser analisado (lmax), como saída temos os lags (L) que devem ser utilizados pelos preditores de cada partição. O parâmetro lmax, assim como os parâmetros da etapa de particionamento, pode possuir valores diferentes para cada pool, com o parâmetro do pool de mudança de sentido sendo referenciado por lmaxMS e o do pool de previsão do próximo valor como lmaxPV.
Para cada janela ji∈ J, as características selecionadas são os lags que possuem valor de autocorrelação significante. Eles são os lags em que o valor da autocorrelação não está dentro do intervalo de confiança de 95% do valor de autocorrelação zero (BOX; JENKINS,1994). São analisados os lags no intervalo de 1 a lmax. É importante destacar que cada janela possui seu conjunto de lags selecionados (li∈ L) e que eles são escolhidos analisando apenas os dados da janela. Esta seleção olhando apenas os dados da janela tem como justificativa o objetivo do sistema proposto, que é obter janelas com padrões de comportamentos diferentes, portanto, podem possuir também lags relevantes diferentes.
-0,2 0,0 0,2 0,4 0,6 0,8 1,0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Au toc orr elaç ão Lag
Figura 3.5: Autocorrelação de uma série temporal
A Figura 3.5 mostra um gráfico com os valores de autocorrelação de uma série supondo lmax= 15. As linhas horizontais próximas a 0,1 e -0,1 delimitam o intervalo de confiança citado no parágrafo anterior, e é possível perceber que os lags 1, 4 e 10 possuem valores significantes, ou seja, valores fora dos limites definidos pelo intervalo de confiança, menores que o limite inferior ou maiores que o limite superior desse intervalo.
3.2. MÓDULO DE PREVISÃO DO PRÓXIMO VALOR 52