• No results found

The potential impact of constructive stories

Tomando-se por verdadeira a premissa que valores atuais gerados por um pro- cesso estocástico são correlacionados linearmente com seus valores passados (pre- missa de estacionariedade e linearidade), é suficiente modelar tal processo através de um modelo Auto-regressivo (AR) (v. Equação 3.6).

𝑋𝑡= 𝜑1𝑋𝑡−1+ 𝜑2𝑋𝑡−2+ · · · + 𝜑𝑝𝑋𝑡−𝑝 (3.6)

O modelo AR ignora se há entradas externas ao processo sob análise e se exis- tem perturbações na saída desse sistema (e.g., v. Figura 14 e Equação 3.14). Embora seja normal que se conheçam as entradas de sistemas de controle projetados com uma finalidade específica, a maioria dos processos sob análise de séries temporais têm apenas as saídas conhecidas: o número de ocorrências de um dado evento, nível de reservatórios de barragens, valores da curva de carga de um sistema e assim por diante. Por isso, embora caiba uma análise de sistemas com entradas externas 1 na

metodologia de Box-Jenkins, este trabalho se limitará à análise dos sistemas sem en- tradas explícitas.

Os modelos AR podem ser de aplicação limitada, já que essencialmente toda medição na saída de um sistema é passível de ruído - e, mais especificamente nos sistemas sem controle explícito por uma entrada, ruído autocorrelacionado. Por esse motivo o ruído correlacionado, que consiste nas divergências passadas entre valores estimados por um modelo e valores de fato realizados pelo processo estocástico, é utilizado em uma modelagem de média móvel (Moving Average - Média Móvel). Um modelo MA puro é descrito na Equação 3.7, mas sua utilidade prática ocorre em con- junto com o modelo AR, formando o modelo Auto Regressive Moving Average - Auto Regressivo Média Móvel (v. Equação 3.8).

𝑋𝑡 = 𝜃1𝜈𝑡−1+ 𝜃2𝜈𝑡−2+ · · · + 𝜃𝑞𝜈𝑡−𝑞 (3.7)

Box-Jenkins se baseia essencialmente no modelo ARMA (v. Equação 3.8) pres- supondo estacionariedade da série temporal.

𝜑(𝐵)𝑋𝑡= 𝜃(𝐵)𝜈𝑡 (3.8)

Capítulo 3. Métodos tradicionais de predição 43 sendo: 𝐵|𝐵𝑘𝑋 𝑡= 𝑋𝑡−𝑘, 𝑘∈ N (operador de atraso) (3.9) 𝜑= [1 − 𝜑1𝐵− 𝜑2𝐵2− · · · − 𝜑𝑝𝐵𝑝] (3.10) 𝜃 = [𝜃1𝐵 + 𝜃2𝐵2+ · · · + 𝜃𝑝𝐵𝑝] (3.11)

A estacionariedade é um requisito que pode ser rompido pelas condições de tendência, sazonalidade, outliers e não linearidades. Essas condições podem estar presentes cada uma por sua vez ou mesmo todas ao mesmo tempo.

Por essa razão, a utilização do modelo básico ARMA necessita de um pré- processamento dos dados a serem utilizados na etapa de treinamento. As técnicas de pré-processamento mais utilizadas são:

∙ Diferenciação: transformação da série temporal conforme a Equação 3.12; geral- mente, 𝑑 = 1 é suficiente;

∙ Remoção da tendência: uma regressão ℛ (geralmente linear) é feita sobre a série 𝒳𝑡 e uma nova série da dados 𝒳𝑡′ = 𝒳𝑡− ℛ é utilizada no processo de

treinamento;

∙ Normalização dos dados;

∙ Remoção das sazonalidades e de outliers.

𝑋𝑡= [𝑋𝑡−1𝑋𝑡−2𝑋𝑡−3· · · 𝑋𝑡−𝑝] → ∇𝑑𝑋𝑡= (1 − 𝐵)𝑑𝑋𝑡 (3.12)

A fim de incorporar parte crítica dos pré-processamentos sobre os dados ao modelo, o modelo ARMA pode ser modificado na forma da Equação 3.13 (modelo SARIMA).

𝜑(𝐵)∇(𝐵)𝑑∇(𝐵𝑠)𝐷Φ(𝐵𝐷)𝑋

𝑡= 𝜃(𝐵)Θ(𝐵𝑠)𝜈𝑡 (3.13)

Sendo:

∙ 𝑠 o período sazonal;

∙ 𝐵 o operador de atraso (“backshift”) tal que 𝐵𝑘· 𝑋

Algoritmo 1: Método de Box-Jenkins Data: Série temporal𝒳𝑡

Result: Modelo ajustado

1 Plote a série de pontos e observe a presença de estacionariedade, outliers,

sazonalidade e tendência;

2 while Não houver modelo que explique os dados de treinamento/validação do 3 Com base na observação da série plotada e do gráfico da função de

auto-correlação (FAC), determine quais parâmetros 𝑝, 𝑃, 𝑑, 𝐷, 𝑠, 𝑞, 𝑄 serão estimados - esta etapa é chamada de identificação de modelo;

4 Estime, através dos dados 𝑋𝑡, os parâmetros selecionados na etapa anterior; 5 Verifique se o modelo obtido explica os dados de treinamento/validação.

Utilize o conhecimento obtido para refinar o modelo escolhido na Etapa 2 - esta etapa é chamada análise crítica do modelo;

6 if Modelo encontrado no fim explica os dados de treinamento/validação then 7 Utilize o modelo em predição, controle ou identificação de sistemas; 8 Finalize o processo de modelagem.

9 end if 10 end while

∙ 𝜑 o polinômio de coeficientes 𝜑 = [1 − 𝜑1𝐵 − 𝜑2𝐵2· · · − 𝜑𝑝𝐵𝑝];

∙ Φ o polinômio de coeficientes Φ = [1 − Φ𝑠𝐵𝑠 − Φ2𝑠𝐵2𝑠· · · − Φ𝑃·𝑠𝐵𝑃·𝑠];

∙ ∇(𝐵)𝑑o operador de diferenciação ∇(𝐵)𝑑= (1 − 𝐵)𝑑;

𝑑∈ N, sendo que geralmente 𝑑 = 0 ou 𝑑 = 1.

∙ ∇(𝐵𝑠)𝐷 o operador de remoção sazonal ∇(𝐵𝑠)𝐷 = (1 − 𝐵𝑠)𝐷; 𝐷 ∈ N;

∙ 𝜃 o polinômio de coeficientes 𝜃 = [𝜃1𝐵 𝜃2𝐵2 · · · 𝜃𝑞𝐵𝑞];

∙ Θ o polinômio de coeficientes Θ = [Θ𝑠𝐵𝑠 Θ2𝑠𝐵2𝑠 · · · Θ𝑄·𝑠𝐵𝑄·𝑠];

∙ 𝜈𝑡a série de erros passados do processo de predição.

O Algoritmo 1, baseado em Box, Jenkins e Reinsel (2011) e Raftery (1985), descreve o método de Box-Jenkins. Essa metodologia se consagrou por formalizar o procedimento de identificação de modelos que expliquem a dinâmica dos dados sob análise independentemente do conhecimento de estrutura dos sistemas que ger- aram esses dados. Em outras palavras, não se faz necessário o conhecimento de modelo caixa-branca ou caixa-cinza, como ocorre em modelagens econométricas e bayesianas.

Considere uma série temporal 𝒳𝑡na forma da Equação 3.14

Capítulo 3. Métodos tradicionais de predição 45

Algoritmo 2: Método de Box-Jenkins modificado Data: Série temporal𝒳𝑡

Data: Npop Data: Niter

Result: Modelo ajustado

1 pop ← População inicial; 2 𝑓 𝑖𝑡𝑛𝑒𝑠𝑠← desempenho(pop); 3 𝜂= 0, 4;

// Ou outro valor 0 < 𝜂 < 0, 5

4 for 𝑖← 1 to Niter do

5 Tome três índices aleatórios 𝑟1, 𝑟2, 𝑟3;

6 Indivíduo de teste 𝑢 ← 𝑝𝑜𝑝𝑟1+ 𝜂(𝑝𝑜𝑝𝑟2− 𝑝𝑜𝑝𝑟3); 7 𝑓 𝑖𝑡𝑛𝑒𝑠𝑠𝑢 ← desempenho(𝑢, 𝒳𝑡); 8 if 𝑓 𝑖𝑡𝑛𝑒𝑠𝑠𝑢 > 𝑓 𝑖𝑡𝑛𝑒𝑠𝑠𝑟1 then 9 𝑝𝑜𝑝𝑟1 ← 𝑢; 10 𝑓 𝑖𝑡𝑛𝑒𝑠𝑠𝑟1 ← 𝑓 𝑖𝑡𝑛𝑒𝑠𝑠𝑢; 11 end if 12 end for

13 return Indivídio em 𝑝𝑜𝑝 com melhor 𝑓 𝑖𝑡𝑛𝑒𝑠𝑠;

Figura 14 – Modelo generalizado Box-Jenkins (AGUIRRE, 2007).

A Equação 3.14 pode ser interpretada como a saída 𝑋𝑡de um sistema dinâmico

sem entradas externas e com perturbação na saída (v. Figura 14). Definido o operador de atraso 𝐵 tal que 𝐵𝑘·𝑋

𝑡= 𝑋𝑡−𝑘, reorganiza-se a Equação

3.14 na forma 3.16:

(︀1 − 𝜑1𝐵− 𝜑2𝐵2− · · · 𝜑𝑝𝐵𝑝)︀ 𝑋𝑡=(︀𝜃1𝐵+ 𝜃2𝐵2+ · · · + 𝜃𝑞𝐵𝑞)︀ 𝜈𝑡 (3.15)

Reescrevendo-se a Equação 3.14 na forma da 3.16, pode-se obter, a partir de propriedades da transformada 𝒵 (AGUIRRE, 2007; OGATA, 1995) em ambos os lados, uma função de transferência para um sistema discreto.

𝒵{︀(︀1 − 𝜑1𝐵 − 𝜑2𝐵2− · · · 𝜑𝑝𝐵𝑝)︀ 𝑋𝑡}︀ = 𝒵 {︀(︀𝜃1𝐵+ 𝜃2𝐵2+ · · · + 𝜃𝑞𝐵𝑞)︀ 𝜈𝑡}︀ ⇒ 𝑋[𝑧] = 𝐶(𝑧) 𝐷(𝑧) = (𝜃1𝑧−1+ 𝜃2𝑧−2+ · · · + 𝜃𝑞𝑧−𝑞) (1 − 𝜑1𝑧−1− 𝜑2𝑧−2− · · · 𝜑𝑝𝑧−𝑝) 𝜈[𝑧] (3.16)

Algoritmo 3: Método de desempenho para Box-Jenkins modificado Data: Série temporal𝒳𝑡

Data: Vetor de parâmetros 𝑢 = [⃗𝜑, ⃗𝜃]

Data: p,q // Lags AR e MA; Result: Desempenho 1 𝑝𝑟𝑒𝑑← [0 · · · 0] // |𝑝𝑟𝑒𝑑| = |𝒳𝑡− 𝑝|; 2 𝑒𝑟𝑟𝑜← [0 · · · 0] // |𝑒𝑟𝑟𝑜| = |𝒳𝑡− 𝑝|; 3 𝑝𝑟𝑒𝑑𝑓 ← [0 · · · 0] // |𝑝𝑟𝑒𝑑𝑓 | = |𝒳𝑡− 𝑝 − 𝑞|; 4 𝑒𝑟𝑟𝑜𝑓 ← [0 · · · 0] // |𝑒𝑟𝑟𝑜𝑓 | = |𝒳𝑡− 𝑝 − 𝑞|; 5 𝑖𝑡𝑒𝑟 ← 1; 6 while 𝑖𝑡𝑒𝑟≤ |𝑝𝑟𝑒𝑑| do 7 𝑝𝑟𝑒𝑑𝑖𝑡𝑒𝑟 ← ⃗𝜑· 𝒳(1···𝑝)+(𝑖𝑡𝑒𝑟−1); 8 𝑖𝑡𝑒𝑟 ← 𝑖𝑡𝑒𝑟 + 1; 9 end while 10 𝑖𝑡𝑒𝑟 ← 1; 11 while 𝑖𝑡𝑒𝑟≤ |𝑝𝑟𝑒𝑑| do

12 𝑒𝑟𝑟𝑜𝑖𝑡𝑒𝑟 ← 𝑝𝑟𝑒𝑑𝑖𝑡𝑒𝑟− 𝒳(𝑖𝑡𝑒𝑟+𝑝)// Cálculo dos erros autorregressivos; 13 𝑖𝑡𝑒𝑟 ← 𝑖𝑡𝑒𝑟 + 1; 14 end while 15 𝑖𝑡𝑒𝑟 ← 1; 16 while 𝑖𝑡𝑒𝑟≤ |𝑝𝑟𝑒𝑑𝑓 | do 17 𝑝𝑟𝑒𝑑𝑓𝑖𝑡𝑒𝑟 ← 𝑝𝑟𝑒𝑑(𝑖𝑡𝑒𝑟+𝑞)+𝑡ℎ𝑒𝑡𝑎⃗ · 𝑒𝑟𝑟𝑜(𝑖𝑡𝑒𝑟−1)+1,··· ,𝑞; 18 𝑖𝑡𝑒𝑟 ← 𝑖𝑡𝑒𝑟 + 1; 19 end while 20 𝑖𝑡𝑒𝑟 ← 1; 21 while 𝑖𝑡𝑒𝑟≤ |𝑝𝑟𝑒𝑑𝑓 | do 22 𝑒𝑟𝑟𝑜𝑓𝑖𝑡𝑒𝑟← ⃒ ⃒ ⃒ 𝑝𝑟𝑒𝑑𝑓iter−𝒳(iter+p+q) 𝒳(iter+p+q) ⃒ ⃒ ⃒; 23 𝑖𝑡𝑒𝑟 ← 𝑖𝑡𝑒𝑟 + 1; 24 end while 25 Desempenho = Média(𝑒𝑟𝑟𝑜𝑓); 26 return Desempenho;

Considerando a Equação 3.16 e a Figura 14, pode-se considerar modelo para geração da série 𝒳𝑡por um sistema sem entradas explícitas e com perturbação 𝜈𝑡na

saída. Analisando-se a função de transferência entre a perturbação e a saída 𝐶(𝑧) 𝐷(𝑧), as

raízes 𝛾𝑖 do denominador da Equação 3.16 são polos no plano complexo 𝑧. Quando

essas raízes estão dentro do círculo de raio unitário (|𝛾𝑖| < 1 ∀𝑖), tem-se um sistema

estável, o que na análise de ST interpreta-se como sendo lienaridade e estacionarie- dade do processo estocástico.

Os métodos de predição buscam alocar os pólos e zeros desse sistema de forma a otimizar figuras de mérito como o erro percentual de média absoluta - MAPE.

Capítulo 3. Métodos tradicionais de predição 47