SlideShare uma empresa Scribd logo
Estratégia de Atendimento à População no Combate à Covid-19
Simulador de Cenários com Inteligência Artificial e Dinâmica de Sistemas
Guttenberg Ferreira Passos
Ilan Chamovitz
Suellen Teixeira Zavadzki de Pauli
Paulo Edy Nakamura
Leonardo Grandinetti Chaves
O presente artigo tem como objetivo contribuir para uma estratégia de atendimento à
população no combate à Covid-19, através de um simulador de cenários com Inteligência
Artificial e Dinâmica de Sistemas.
Em fevereiro de 2021 foram anunciadas no Brasil mudanças relevantes no combate à Covid-19,
especialmente quanto à vacinação. Aborda-se nesse artigo uma série de previsões para auxiliar
na estratégia de atendimento à população no combate a esta doença, é uma boa
oportunidade para entender melhor os fatores "invisíveis" que afetam a contaminação das
pessoas.
Para ajudar a modelar esses fatores "invisíveis", partiu-se da obtenção de dados de
distanciamento social, esses dados foram passados como entrada em um sistema de
Inteligência Artificial e foram executadas previsões em Deep Learning (LSTM). A previsão da
variável distanciamento social foi exportada para calibrar o modelo em Systems Dynamics,
com o software Stella, e as simulações foram feitas com um modelo de Covid-19. Como
trabalho futuro, o resultado dessas simulações serão plotados em um mapa de um telefone
celular através de geoprocessamento.
Todos os modelos foram adaptados das aulas do curso de Modelagem Preditiva de Séries
Temporais que podem ser encontradas na timeline da Comunidade da Data Science Academy
no portal: www.datascienceacademy.com.br.
Séries Temporais
Uma série temporal é um conjunto sequencial de pontos de dados, medido tipicamente em
tempos sucessivos.É matematicamente definido como um conjunto de vetores x (t), t = 0,1,2,
... onde t representa o tempo decorrido. A variável x(t) é tratada como uma variável aleatória.
Uma variável aleatória é uma variável quantitativa, cujo resultado (valor) depende de fatores
aleatórios.
As medições realizadas durante um evento em uma série temporal são organizadas em uma
ordem cronológica adequada.Uma série temporal contendo registros de uma única variável é
denominada como univariada e mais de uma variável como multivariada.
As séries temporais adicionam uma dependência explícita da ordem entre as observações:
uma dimensão temporal. Essa dimensão adicional é uma restrição e uma estrutura que
fornece uma fonte de informações adicionais. E muito, muito valiosa.
A análise de séries temporais envolve o desenvolvimento de modelos que melhor capturam ou
descrevem uma série temporal observada para entender as causas. Este campo de estudo
busca o "porquê" por trás de um conjunto de dados de séries temporais.
A qualidade de um modelo descritivo é determinada por quão bem ele descreve todos os
dados disponíveis e a interpretação que fornece para melhor informar o domínio do problema.
O objetivo principal da análise de séries temporais é desenvolver modelos matemáticos que
forneçam descrições plausíveis a partir de dados de amostra.
Fazer previsões sobre o futuro é chamado de extrapolação no tratamento estatístico clássico
de dados de séries temporais. Os campos mais modernos se concentram no tópico e se
referem a ele como previsão de séries temporais. A previsão envolve ajustar os modelos aos
dados históricos e usá-los para prever observações futuras.
Uma distinção importante na previsão é que o futuro está completamente indisponível e só
deve ser estimado a partir do que já aconteceu. O objetivo da análise de séries temporais é
geralmente duplo: entender ou modelar os mecanismos estocásticos que dão origem a uma
série observada e prever os valores futuros de uma série com base no histórico dessa série.
Isso é o que chamamos de Modelagem Preditiva.
Modelagens Preditivas não lineares com séries temporais.
 Para modelos preditivos não lineares usa-se Métodos Estatísticos, Inteligência
Artificial, Machine Learning e Deep Learning, tais como os seguintes algoritmos:
 Naive;
 ExponentialSmoothing;
 ARMA - Autoregressive Moving Average;
 ARIMA - Autoregressive Integrated Moving Average;
 SARIMAX – Seasonal Autoregressive Integrated Moving Average;
 DeepAR–GluonTS - Probabilistic Time Series Modeling;
 MLP - MultilayerPerceptron;
 LSTM - Long short-term memory.
Algoritmo Naive
É o modelo preditivo mais simples que se pode criar. Baseia-se em uma técnica de estimativa
na qual os dados reais do último período são usados como previsão desse período, sem ajustá-
los ou tentar estabelecer fatores causais. É usado apenas para comparação com as previsões
geradas pelas melhores técnicas (sofisticadas).
Naivesignifica ingênuo, portanto, não há técnica avançada aqui é apenas usadocomo ponto de
partida, uma referência para os demais modelos. Qualquer modelo mais avançado deve
apresentar resultados superiores ao AlgoritmoNaive.
Algoritmo ExponentialSmoothing
Smoothing (Suavização ou Alisamento) em séries temporais é um conjunto de métodos para
suavizar séries temporais eliminando "saltos". Existem várias maneiras de fazer isso. Talvez o
mais fácil seja calcular a média móvel simples (SimpleMovingAverage).
A suavização é basicamente uma técnica usada para ver a tendência de longo prazo nos dados,
diminuindo os efeitos dos componentes periódicos / sazonais dos dados. Basicamente, usa-se
a suavização quando se quer remover as flutuações nos dados e focar apenas em preservar as
tendências de longo prazo.
O objetivo de suavizar é remover o ruído e expor melhor o sinal dos processos. As médias
móveis são um tipo simples e comum de suavização usado na análise de séries temporais e na
previsão de séries temporais. O cálculo de uma média móvel envolve a criação de uma nova
série em que os valores são compostos da média de observações brutas na série temporal
original.
A suavização da média móvel (MovingAverageSmoothing) é uma técnica eficaz na previsão de
séries temporais também, ou seja, pode ser usado para preparação de dados, engenharia de
recursos e até diretamente para fazer previsões. Uma média móvel requer que você
especifique um tamanho de janela chamado largura da janela. Isso define o número de
observações brutas usadas para calcular o valor da média móvel.
A parte "móvel" na média móvel refere-se ao fato de que a janela definida pela largura da
janela é deslizada ao longo da série temporal para calcular os valores médios na nova série.
Algoritmo ARMA
Auto RegressiveMovingAverage - ARMA é um modelo de média móvel auto-regressiva. É
simplesmente a fusão entre os modelos AR (p) e MA (q). O modelo AR (p) tenta explicar o
momento e os efeitos médios da reversão frequentemente observados nos mercados (efeitos
dos participantes do mercado). O modelo MA (q) tenta capturar os efeitos de choque
observados em termos de ruído branco. Estes efeitos de choque podem ser considerados
eventos inesperados que afetam o processo de observação, p, como ganhos repentinos,
guerras, ataques, etc.
O modelo ARMA tenta capturar esses dois aspectos ao modelar séries temporais, não leva em
consideração o agrupamento de volatilidade, um fenômeno empírico essencial de muitas
séries temporais financeiras.
O Modelo ARMA(1,1) é representado como: x(t) = ax(t-1) + be(t-1) + e(t), onde e(t) é o ruído
branco com E [e(t)] = 0.
Um modelo ARMA geralmente requer menos parâmetros que um modelo AR (p) ou um
modelo MA (q) individual.
Algoritmo ARIMA
AutoregressiveIntegratedMovingAverage - ARIMAé um modelo de média móvel integrada
auto-regressiva, uma generalização de um modelo ARMA.
Ambos os modelos são ajustados a dados de séries temporais para melhor entender os dados
ou para prever pontos futuros na série (previsão). Os modelos ARIMA são aplicados em alguns
casos em que os dados mostram evidências de não estacionariedade, onde uma etapa inicial
de diferenciação (correspondente à parte "integrada" do modelo) pode ser aplicada uma ou
mais vezes para eliminar a não estacionariedade.
A parte AR do ARIMA indica que a variável de interesse em evolução é regredida com seus
próprios valores defasados (isto é, anteriores). O I (para "integrado") indica que os valores dos
dados foram substituídos pela diferença entre seus valores e os valores anteriores (e esse
processo de diferenciação pode ter sido executado mais de uma vez). O objetivo de cada um
desses recursos é fazer com que o modelo ajuste os dados da melhor maneira possível. A parte
MA indica que o erro de regressão é na verdade uma combinação linear de termos de erro
cujos valores ocorreram contemporaneamente e em vários momentos no passado.
Modelos ARIMA não sazonais são geralmente designados ARIMA(p, d, q), em que os
parâmetros p, d e q são números inteiros não negativos, p é a ordem (número de intervalos de
tempo) do modelo autoregressivo, d é o grau de diferenciação (o número de vezes que os
dados tiveram valores passados subtraídos) e q é a ordem do modelo de média móvel.
Algoritmo SARIMAX
SeasonalAutoregressiveIntegratedMovingAverage- SARIMAX é um modelo sazonal de média
móvel integrada auto-regressivacom os parâmetros (p, d, q) (P, D, Q) m, em que m refere-se
ao número de períodos em cada sazonalidade e os maiúsculos P, D, Q referem-se ao
autorregressivo, diferenciado, e termos da média móvel da parte sazonal do modelo ARIMA.
Algoritmo DeepAR-GluonTS
O DeepARfoi lançado pela Amazon, sendo integrado ao SageMaker. Seu objetivo é prever a
cada etapa o seguinte (horizonte = 1). Isso significa que a rede deve receber na entrada a
observação anterior (no atraso = 1) z_t-1, juntamente com um conjunto de covariáveis
opcionais x_i. As informações são propagadas para a camada oculta e até a função de
verossimilhança (que é uma função de pontuação usada no nível de uma função de perda). A
função de probabilidade pode ser binomial gaussiana ou negativa. O erro é calculado usando a
parametrização atual da probabilidade. Facilmente, isso é representado por mu e sigma no
caso de uma probabilidade gaussiana. Isso significa que, durante a execução do
backpropagation, estamos ajustando os parâmetros de rede (pesos w) que alteram a
parametrização de todos os exemplos.
O DeepAR pode ser implementado com o Gluon Time Series - GluonTS, uma biblioteca para
modelagem de séries temporais baseada em Deep Learning, simplifica o desenvolvimento e a
experimentação de modelos de séries temporais para tarefas comuns, como previsão ou
detecção de anomalias. Ele fornece todos os componentes e ferramentas necessários que os
Cientistas de Dados precisam para criar rapidamente novos modelos, executar e analisar
experimentos com eficiência e avaliar a precisão do modelo.
Algoritmo MLP
Uma rede padrão MultilayerPerceptron- MLPé uma rede neural recorrente - RNNprojetada
para problemas seqüenciais,pode ser pensada como a adição de loops à arquitetura. Por
exemplo, em uma dada camada, cada neurônio pode passar seu sinal para frente (feed-
forward) e também para o lado.
Uma Rede Neural Recorrente é basicamente uma rede neural que pode ser usada quando seus
dados são tratados como uma sequência, onde a ordem particular dos pontos de dados é
importante e esta sequência pode ser de comprimento arbitrário.
O exemplo mais claro é talvez uma série temporal de números, onde a tarefa é prever o
próximo valor de acordo com valores anteriores. A entrada para a RNN em cada passo de
tempo é o valor atual, bem como um vetor de estado que representa o que a rede "viu" no
tempo - etapas anteriores. Este estado-vetor é a memória codificada da RNN, inicialmente
definida como zero.
Algoritmo LSTM
A rede Long Short-TermMemory- LSTMé uma rede neural recorrente treinada usando
BackpropagationThrough Time e supera o problema da dissipação do gradiente.Como tal, o
modelo pode ser usado para criar grandes redes recorrentes que, por sua vez, podem ser
usadas para resolver problemas de sequência difíceis no aprendizado de máquina e obter
resultados de última geração.
Em vez de neurônios, as redes LSTM possuem blocos de memória conectados através de
camadas.Um bloco possui componentes que o tornam mais inteligente que um neurônio
clássico e uma memória para sequências recentes. Um bloco contém portas que gerenciam o
estado e a saída do bloco. Um bloco opera sobre uma sequência de entrada e cada porta
dentro de um bloco usa as unidades de ativação sigmóide para controlar se são acionadas ou
não, condicionando a mudança de estado e a adição de informações que fluem através do
bloco.
Neurônio Biológico
O Deep Learning Book Brasil é uma iniciativa da Data Science Academy, com o objetivo de
ajudar a difundir o Deep Learning, uma das tecnologias mais revolucionárias do nosso tempo
usada na construção de aplicações de Inteligência Artificial.
De acordo o com o Deep Learning Book, o neurônio biológico é uma célula, que pode ser
dividida em três seções: o corpo da célula, os dendritos e o axônio, cada uma com funções
específicas, porém complementares.
Fonte: Data Science Academy- DSA
Neurônio Artificial
Um neurônio artificial representa a base de uma Rede Neural Artificial (RNA), um modelo da
neuroinformática orientado nas redes neurais biológicas.
Fonte: Data Science Academy - DSA
O conhecimento de uma RNA está codificado na estrutura da rede,onde se destacam as
conexões (sinapses)entre as unidades (neurônios) que a compõe.
Fonte: Data Science Academy - DSA
No aprendizado de máquina, o Perceptron é um algoritmo de aprendizado supervisionado de
classificadores binários. Um classificador binário é uma função que pode decidir se uma
entrada, representada por um vetor de números, pertence ou não a alguma classe específica.
É um tipo de classificador linear, ou seja, um algoritmo de classificação que faz suas previsões
com base em uma função de preditor linear combinando um conjunto de pesos com o vetor
de características.
Redes Neurais
Redes neurais são sistemas de computação com nós interconectados que funcionam como os
neurônios do cérebro humano. Usando algoritmos, elas podem reconhecer padrões
escondidos e correlações em dados brutos, agrupá-los e classificá-los, e com o tempo aprender
e melhorar continuamente.
O Instituto Asimov https://www.asimovinstitute.org/neural-network-zoo/ publicou uma folha
de dicas contendo várias arquiteturas de rede neural, nos concentraremos nas arquiteturas
abaixo com foco em Perceptron(P), FeedFoward (FF), Recurrent Neural Network (RNN) e Long
Short TermMemory (LSTM):
Fonte: THE ASIMOV INSTITUTE
Deep Learning é uma das bases da Inteligência Artificial (IA), um tipo de aprendizado de
máquina (MachineLearning) que treina computadores para realizar tarefas como seres
humanos, o que inclui reconhecimento de fala, identificação de imagem e previsões,
aprendendo com o tempo. Podemos dizer que é uma Rede Neural com várias camadas ocultas:
Modelo Base
Definição do Problema de Negócio
Previsão do distanciamento social em Minas Gerais.
Conjunto de Dados
Usaremos conjuntos de dados que mostram o distanciamento social em Minas Gerais. Os
dados têm registros de 15/02/2020 a 29/01/2021.
Análise Exploratória dos Dados
Decomposição da Série Temporal
Pode-se usar os modelos estatísticos para realizar uma decomposição dessa série cronológica.
A decomposição de séries temporais é uma tarefa estatística que desconstrói uma série
temporal em vários componentes, cada um representando uma das categorias de padrões.
Com os modelos de estatísticas, poderemos ver a tendência, os componentes sazonais e
residuais de nossos dados. Pode-se fazer uma decomposição clássica de uma série temporal,
considerando a série como uma combinação aditiva ou multiplicativa do nível base, tendência,
índice sazonal e residual.
Segue abaixo a decomposição da série temporal:
O gráfico acima mostra 2 componentes da série: Sazonalidade e Tendência.
 Sazonalidade - o fenômeno se repete em períodos fixos.
 Tendência - ao longo do tempo, a série segue uma tendência de crescimento.
Estacionaridade da série.
A estacionariedade é um importante conceito na modelagem de séries temporais e é
caracterizada por uma variável que se comporta de forma aleatória ao longo do tempo ao
redor de uma média constante. Uma série temporal é considerada estacionária se suas
propriedades estatísticas, como média e variância, permanecerem constantes ao longo do
tempo. Intuitivamente, podemos dizer que, se uma série temporal tem um comportamento
específico ao longo do tempo, há uma probabilidade muito alta de que ela siga o mesmo no
futuro.
Basicamente, séries temporais que possuem tendência e/ou sazonalidade não são
estacionárias e é necessário o uso de técnicas adequadas a tal situação.
O gráfico ACF permite a avaliação da diferenciação mínima necessária para obter uma série
estacionária (Parâmetro d para o Modelo ARIMA):
Para a execução dos modelos utilizando Métodos Estatísticos os dados foram separados em:
 262 registros de treino e
 88 registros de validação.
Modelo 11 – Previsões Método Naive
11 – Método Naive
13 - Forecasting–ARIMALOG (1, 0, 1)
15 –ARMA (1, 0)
16 – Forecasting - ARIMA (4, 1, 5)
17 – SARIMAX(2,1,1)(2,1,0,10)
12 – ExponentialSmoothing
14 - Forecasting– ARIMALOG (1, 1, 1)
15 – ARMA (9, 6)
16 - Predict-ARIMA (4, 1, 5)
18 – SARIMAX(1,1,1)(0,1,1,10)
Modelos utilizando
Inteligência Artificial - IA
22 – LSTM - IA (3 repetições)
23 – LSTM otimizado - IA
25 – LSTM Bidirecional - IA
RNN01 – MLP Vanilla - IA
22 – LSTM - IA (5 repetições)
24 – Stacked LSTM - IA
25 – LSTM - IA - Grid Search
RNN01 – MLP Window - IA
Previsões utilizando Inteligência Artificial - IA - Deep Learning
RNN02 – LSTM Vanilla IA – Validação
Epoch = 130 - evita o Overfitting
RNN02 – LSTM Vanilla IA – Validação
Epoch = 200
RNN02 – LSTM Window IA– Validação
RNN02– LSTM Time Steps IA Validação
RNN02 – LSTM Stateful IA – Validação
RNN02 – LSTM Stacked IA – Validação
RNN02 – LSTM Vanilla IA – Teste
Epoch = 130 - evita o Overfitting
RNN02 – LSTM Vanilla IA – Teste
Epoch = 200
RNN02 – LSTM Window IA – Teste
RNN02 – LSTM TimeSteps IA – Teste
RNN02 – LSTM Stateful IA – Teste
RNN02 – LSTM Stacked IA – Teste
Modelo RNN02 – LSTM Vanilla IA – Epoch = 130 – evita o Overfitting
Modelo RNN02 – LSTM Vanilla IA – Epoch = 200
ModeloRNN02 – LSTM Window IA
ModeloRNN02– LSTM Time Steps
ModeloRNN02– LSTM Stateful
Modelo RNN02– LSTM Stacked
Forecasting utilizando Inteligência Artificial - IA
Modelo 22 – LSTM - IA (3 repetições)
Modelo 22 – LSTM - IA (5 repetições)
Modelo 23 – LSTM otimizado - IA
Modelo 24 – Stacked LSTM - IA
Modelo 25 – Bidirecional LSTM - IA
Modelo RNN02 – LSTM Vanilla IA – Epoch = 130 – evita o Overfitting
Modelo RNN02 – LSTM Vanilla IA – Epoch = 200
ModeloRNN02 – LSTM Window IA
ModeloRNN02– LSTM Time Steps
ModeloRNN02– LSTM Stateful
Modelo RNN02– LSTM Stacked
Resultados dos Modelos:
Arquiteturas dos Modelos utilizando IA
Modelo 22 – LSTM - IA (5 repetições)
Número de repetições = 5
modelo_lstm.add(LSTM(50, activation = 'relu', input_shape = (n_input, n_features)))
modelo_lstm.add(Dropout(0.10))
modelo_lstm.add(Dense(100, activation = 'relu'))
modelo_lstm.add(Dense(100, activation = 'relu'))
modelo_lstm.add(Dense(1))
modelo_lstm.compile(optimizer = 'adam', loss = 'mean_squared_error')
monitor = EarlyStopping(monitor='val_loss', min_delta=1e-3, patience=3, verbose=1, mode='auto')
modelo_lstm.fit_generator(generator, epochs = 200)
RSME RSME RSME
Nº Arquitetura Modelo Setup treino validação teste
1 Métodos Estatísticos BASE 11 Método Naive 7,6327
2 Métodos Estatísticos Forecasting 12 Exponential Smoothing v1 7,3602
3 Métodos Estatísticos Forecasting 12 Exponential Smoothing v2 8,7714
4 Métodos Estatísticos ARIMA 13 ARIMA LOG (1, 0, 1) 5,1253
5 Métodos Estatísticos ARIMA 14 ARIMA LOG (1, 1, 1) 4,9166
6 Métodos Estatísticos ARMA 15 ARMA (1, 0) 5,1045
7 Métodos Estatísticos ARMA 15 ARMA (3, 5) 4,7948
8 Métodos Estatísticos ARMA 15 ARMA (9, 6) 3,5966
9 Métodos Estatísticos ARIMA 16 ARIMA (4, 1, 5) Forecast 3,7513
10 Métodos Estatísticos SARIMAX 17 SARIMAX (2, 1, 1) (2, 1, 0, 10) 6,5842
11 Métodos Estatísticos SARIMAX 18 SARIMAX (1, 1, 1) (0, 1, 1, 10) 5,0104
12 IA - Deep Learning LSTM 22 LSTM (3 repetições) 5,8273
13 IA - Deep Learning LSTM 22 LSTM (5 repetições) 5,9767
14 IA - Deep Learning LSTM 23 LSTM Otimizado 4,6203
15 IA - Deep Learning LSTM 24 Stacked LSTM 7,0475
16 IA - Deep Learning LSTM 25 LSTM Bidirecional 5,0781
17 IA - Deep Learning DeepAR 26 DeepAR
18 Inteligência Artificial - IARNA - MLP 1 MLP Vanilla 5,1734 5,3914
19 Inteligência Artificial - IARNA - MLP 2 MLP e Método Window 3,1401 2,9119
20 IA - Deep Learning RNN - LSTM 1 LSTM Vanilla - 130 epochs 4,7371 4,1557 4,7485
21 IA - Deep Learning RNN - LSTM 1 LSTM Vanilla - 200 epochs 2,6281 2,7633 3,2239
22 IA - Deep Learning RNN - LSTM 2 LSTM e Método Window 2,7596 2,9540 3,1561
23 IA - Deep Learning RNN - LSTM 3 LSTM e Time Steps 3,9509 3,4389 3,8108
24 IA - Deep Learning RNN - LSTM 4 LSTM e Stateful 3,4706 3,2986 4,3423
25 IA - Deep Learning RNN - LSTM 5 LSTM e Stacked 6,3807 5,7923 5,2433
RSME = Raiz Quadrada do Erro Quadrático Médio
Estratégia de Atendimento à População no Combate à Covid-19
Modelo 23 – LSTM otimizado - IA
Número de repetições = 3
modelo_lstm.add(LSTM(40, activation = 'tanh', return_sequences = True, input_shape = (n_input, n_features)))
modelo_lstm.add(LSTM(40, activation = 'relu'))
modelo_lstm.add(Dense(50, activation = 'relu'))
modelo_lstm.add(Dense(50, activation = 'relu'))
modelo_lstm.add(Dense(1))
adam = optimizers.Adam(lr = 0.001)
modelo_lstm.compile(optimizer = adam, loss = 'mean_squared_error')
monitor = EarlyStopping(monitor='val_loss', min_delta=1e-3, patience=5, verbose=1, mode='auto')
modelo_lstm.fit_generator(generator, epochs = 100)
Modelo 24 – Stacked LSTM - IA
modelo_lstm.add(LSTM(200, activation = 'relu', return_sequences = True, input_shape = (1, 1)))
modelo_lstm.add(LSTM(100, activation = 'relu', return_sequences = True))
modelo_lstm.add(LSTM(50, activation = 'relu', return_sequences = True))
modelo_lstm.add(LSTM(25, activation = 'relu'))
modelo_lstm.add(Dense(20, activation = 'relu'))
modelo_lstm.add(Dense(10, activation = 'relu'))
modelo_lstm.add(Dense(1))
modelo_lstm.compile(optimizer = 'adam', loss = 'mean_squared_error')
modelo_lstm.fit(X, y, epochs5000, verbose = 1)
Arquiteturas dos Modelos utilizando IA Deep Learning
ModeloRNN01 – MLP Vanilla – IA
model.add(Dense(8, input_dim = look_back, activation = 'relu'))
model.add(Dense(1))
model.compile(loss = 'mean_squared_error', optimizer = 'adam')
model.fit(trainX, trainY, epochs = 200, batch_size = 2, verbose = 2)
Modelo RNN01 – MLP Vanilla – IA
model.add(LSTM(4, input_shape = (1, look_back)))
model.add(Dense(1))
model.compile(loss = 'mean_squared_error', optimizer = 'adam')
model.fit(trainX, trainY, epochs = 200, batch_size = 1, verbose = 2)
Modelo RNN02 – LSTM Vanilla – IA
model.add(LSTM(4, input_shape = (1, look_back)))
model.add(Dense(1))
model.compile(loss = 'mean_squared_error', optimizer = 'adam')
model.fit(trainX, trainY, epochs = 200, batch_size = 1, verbose = 2)
Modelo RNN02 – LSTM Window – IA
model.add(LSTM(4, input_shape = (1, look_back)))
model.add(Dense(1))
model.compile(loss = 'mean_squared_error', optimizer = 'adam')
model.fit(trainX, trainY, epochs = 200, batch_size = 1, verbose = 2)
Modelo RNN02 – LSTM Time Steps – IA
model.add(LSTM(4, input_shape = (None, 1)))
model.add(Dense(1))
model.compile(loss = 'mean_squared_error', optimizer = 'adam')
model.fit(trainX, trainY, epochs = 200, batch_size = 1, verbose = 2)
Modelo RNN02 – LSTM Stateful – IA
model.add(LSTM(4, batch_input_shape = (batch_size, look_back, 1), stateful = True))
model.add(Dense(1))
model.compile(loss = 'mean_squared_error', optimizer = 'adam')
fori in range(200):
model.fit(trainX, trainY, epochs = 1, batch_size = batch_size, verbose = 2, shuffle = False)
model.reset_states()
Modelo RNN02 – LSTM Stacked – IA
model.add(LSTM(4, batch_input_shape = (batch_size, look_back, 1), stateful = True, return_sequences = True))
model.add(LSTM(4, batch_input_shape = (batch_size, look_back, 1), stateful = True))
model.add(Dense(1))
model.compile(loss = 'mean_squared_error', optimizer = 'adam')
fori in range(200):
model.fit(trainX, trainY, epochs = 1, batch_size = batch_size, verbose = 2, shuffle = False)
model.reset_states()
Modelo RNN02 – LSTM Stacked – IA (número maior de camadas)
model = Sequential()
model.add(LSTM(100, batch_input_shape = (batch_size, look_back, 1), activation = 'relu', return_sequences = True))
model.add(LSTM(50, activation = 'relu', return_sequences = True))
model.add(LSTM(20, activation = 'relu'))
model.add(Dense(10, activation = 'relu'))
model.add(Dense(5, activation = 'relu'))
model.add(Dense(1))
model.compile(loss = 'mean_squared_error', optimizer = 'adam')
for i in range(400):
model.fit(trainX, trainY, epochs = 1, batch_size = batch_size, verbose = 1, shuffle = False)
model.reset_states()
Os modelos foram baseados em cursos da Data Science Academy DSA e na timeline da Comunidade no portal:
www.datascienceacademy.com.br

Mais conteúdo relacionado

Mais procurados

Generalização, validação e comparação de resultados
Generalização, validação e comparação de resultadosGeneralização, validação e comparação de resultados
Generalização, validação e comparação de resultados
Luís Nunes
 
01 algorimos e complexidade introduç o
01   algorimos e complexidade introduç o01   algorimos e complexidade introduç o
01 algorimos e complexidade introduç o
Cravid Ekuikui
 
ICC - Aula 02 - Algoritmo estruturado, constantes, variáveis e comentários
ICC - Aula 02 - Algoritmo estruturado, constantes, variáveis e comentáriosICC - Aula 02 - Algoritmo estruturado, constantes, variáveis e comentários
ICC - Aula 02 - Algoritmo estruturado, constantes, variáveis e comentários
Felipe J. R. Vieira
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
Muda Brasil
 
IA Redes Neurais Artificiais
IA Redes Neurais ArtificiaisIA Redes Neurais Artificiais
IA Redes Neurais Artificiais
rafael.joi
 
Análise de algoritmo
Análise de algoritmoAnálise de algoritmo
Análise de algoritmo
Caique Moretto
 
Apostila de algoritimos
Apostila de algoritimosApostila de algoritimos
Apostila de algoritimos
Cleide Soares
 
Análise empírica de algoritmos de ordenação
Análise empírica de algoritmos de ordenaçãoAnálise empírica de algoritmos de ordenação
Análise empírica de algoritmos de ordenação
Orlando Junior
 
Logica fuzzy Conceitos e Aplicações
Logica fuzzy   Conceitos e AplicaçõesLogica fuzzy   Conceitos e Aplicações
Logica fuzzy Conceitos e Aplicações
Toni Esteves
 

Mais procurados (9)

Generalização, validação e comparação de resultados
Generalização, validação e comparação de resultadosGeneralização, validação e comparação de resultados
Generalização, validação e comparação de resultados
 
01 algorimos e complexidade introduç o
01   algorimos e complexidade introduç o01   algorimos e complexidade introduç o
01 algorimos e complexidade introduç o
 
ICC - Aula 02 - Algoritmo estruturado, constantes, variáveis e comentários
ICC - Aula 02 - Algoritmo estruturado, constantes, variáveis e comentáriosICC - Aula 02 - Algoritmo estruturado, constantes, variáveis e comentários
ICC - Aula 02 - Algoritmo estruturado, constantes, variáveis e comentários
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
IA Redes Neurais Artificiais
IA Redes Neurais ArtificiaisIA Redes Neurais Artificiais
IA Redes Neurais Artificiais
 
Análise de algoritmo
Análise de algoritmoAnálise de algoritmo
Análise de algoritmo
 
Apostila de algoritimos
Apostila de algoritimosApostila de algoritimos
Apostila de algoritimos
 
Análise empírica de algoritmos de ordenação
Análise empírica de algoritmos de ordenaçãoAnálise empírica de algoritmos de ordenação
Análise empírica de algoritmos de ordenação
 
Logica fuzzy Conceitos e Aplicações
Logica fuzzy   Conceitos e AplicaçõesLogica fuzzy   Conceitos e Aplicações
Logica fuzzy Conceitos e Aplicações
 

Semelhante a Inteligencia artificial serie_temporal_ dis_v1

Apostila ferramentas QT
Apostila ferramentas QTApostila ferramentas QT
Apostila ferramentas QT
Marcos Magnanti
 
4244_5.PDF
4244_5.PDF4244_5.PDF
4244_5.PDF
ssusera5b941
 
Treinamento Modelagem e Simulação UEPG
 Treinamento Modelagem e Simulação UEPG Treinamento Modelagem e Simulação UEPG
Treinamento Modelagem e Simulação UEPG
Davi M. Kiapuchinski
 
Estatistica aplicada exercicios resolvidos manual tecnico formando
Estatistica aplicada exercicios resolvidos manual tecnico formandoEstatistica aplicada exercicios resolvidos manual tecnico formando
Estatistica aplicada exercicios resolvidos manual tecnico formando
Antonio Mankumbani Chora
 
Estatistica exercicios resolvidos
Estatistica exercicios resolvidosEstatistica exercicios resolvidos
Estatistica exercicios resolvidos
Faculdade de Itaituba
 
Aula de programacao_final.dizando
Aula de programacao_final.dizandoAula de programacao_final.dizando
Aula de programacao_final.dizando
João Gomes
 
dokumen.tips_estatistica-aplicada-exercicios-resolvidos-manual-tecnico-forman...
dokumen.tips_estatistica-aplicada-exercicios-resolvidos-manual-tecnico-forman...dokumen.tips_estatistica-aplicada-exercicios-resolvidos-manual-tecnico-forman...
dokumen.tips_estatistica-aplicada-exercicios-resolvidos-manual-tecnico-forman...
RaquelSilva604657
 
Proconf softwear confiabilidade
Proconf softwear confiabilidadeProconf softwear confiabilidade
Proconf softwear confiabilidade
Erico Pontes Melo
 
Estdescr
EstdescrEstdescr
Estdescr
jarbas glauber
 
Previsão de vendas utilizando séries temporais
Previsão de vendas utilizando séries temporaisPrevisão de vendas utilizando séries temporais
Previsão de vendas utilizando séries temporais
Pedro Sobreiro
 
aula1_slides.pdf
aula1_slides.pdfaula1_slides.pdf
aula1_slides.pdf
MiltonManjate1
 
Aula 7 - MASP - ferramentas da qualidade - 2019-1
Aula 7   - MASP -  ferramentas da qualidade - 2019-1Aula 7   - MASP -  ferramentas da qualidade - 2019-1
Aula 7 - MASP - ferramentas da qualidade - 2019-1
IFMG
 
23126 estatisticaaplicada manualtecnicoformando
23126 estatisticaaplicada manualtecnicoformando23126 estatisticaaplicada manualtecnicoformando
23126 estatisticaaplicada manualtecnicoformando
Instituto Politécnico da UFRJ
 
Modelos (S)ARIMA e extensões
Modelos (S)ARIMA e extensõesModelos (S)ARIMA e extensões
Modelos (S)ARIMA e extensões
Fernando A. B. Sabino da Silva
 
Controle estatistico unijorge
Controle estatistico unijorgeControle estatistico unijorge
Controle estatistico unijorge
nigr0 s
 
Cap05
Cap05Cap05
Cap05
mvbahamut
 
Cap05
Cap05Cap05
Cap05
mvbahamut
 
Cap05
Cap05Cap05
Cap05
mvbahamut
 
Introdução à Estatística
Introdução à EstatísticaIntrodução à Estatística
Introdução à Estatística
Carlos Santos Junior
 
Apostila de estatistica
Apostila de estatisticaApostila de estatistica
Apostila de estatistica
Fabricia Fonseca
 

Semelhante a Inteligencia artificial serie_temporal_ dis_v1 (20)

Apostila ferramentas QT
Apostila ferramentas QTApostila ferramentas QT
Apostila ferramentas QT
 
4244_5.PDF
4244_5.PDF4244_5.PDF
4244_5.PDF
 
Treinamento Modelagem e Simulação UEPG
 Treinamento Modelagem e Simulação UEPG Treinamento Modelagem e Simulação UEPG
Treinamento Modelagem e Simulação UEPG
 
Estatistica aplicada exercicios resolvidos manual tecnico formando
Estatistica aplicada exercicios resolvidos manual tecnico formandoEstatistica aplicada exercicios resolvidos manual tecnico formando
Estatistica aplicada exercicios resolvidos manual tecnico formando
 
Estatistica exercicios resolvidos
Estatistica exercicios resolvidosEstatistica exercicios resolvidos
Estatistica exercicios resolvidos
 
Aula de programacao_final.dizando
Aula de programacao_final.dizandoAula de programacao_final.dizando
Aula de programacao_final.dizando
 
dokumen.tips_estatistica-aplicada-exercicios-resolvidos-manual-tecnico-forman...
dokumen.tips_estatistica-aplicada-exercicios-resolvidos-manual-tecnico-forman...dokumen.tips_estatistica-aplicada-exercicios-resolvidos-manual-tecnico-forman...
dokumen.tips_estatistica-aplicada-exercicios-resolvidos-manual-tecnico-forman...
 
Proconf softwear confiabilidade
Proconf softwear confiabilidadeProconf softwear confiabilidade
Proconf softwear confiabilidade
 
Estdescr
EstdescrEstdescr
Estdescr
 
Previsão de vendas utilizando séries temporais
Previsão de vendas utilizando séries temporaisPrevisão de vendas utilizando séries temporais
Previsão de vendas utilizando séries temporais
 
aula1_slides.pdf
aula1_slides.pdfaula1_slides.pdf
aula1_slides.pdf
 
Aula 7 - MASP - ferramentas da qualidade - 2019-1
Aula 7   - MASP -  ferramentas da qualidade - 2019-1Aula 7   - MASP -  ferramentas da qualidade - 2019-1
Aula 7 - MASP - ferramentas da qualidade - 2019-1
 
23126 estatisticaaplicada manualtecnicoformando
23126 estatisticaaplicada manualtecnicoformando23126 estatisticaaplicada manualtecnicoformando
23126 estatisticaaplicada manualtecnicoformando
 
Modelos (S)ARIMA e extensões
Modelos (S)ARIMA e extensõesModelos (S)ARIMA e extensões
Modelos (S)ARIMA e extensões
 
Controle estatistico unijorge
Controle estatistico unijorgeControle estatistico unijorge
Controle estatistico unijorge
 
Cap05
Cap05Cap05
Cap05
 
Cap05
Cap05Cap05
Cap05
 
Cap05
Cap05Cap05
Cap05
 
Introdução à Estatística
Introdução à EstatísticaIntrodução à Estatística
Introdução à Estatística
 
Apostila de estatistica
Apostila de estatisticaApostila de estatistica
Apostila de estatistica
 

Mais de Guttenberg Ferreira Passos

Sistemas de Recomendação
Sistemas de RecomendaçãoSistemas de Recomendação
Sistemas de Recomendação
Guttenberg Ferreira Passos
 
Occurrence Prediction_NLP
Occurrence Prediction_NLPOccurrence Prediction_NLP
Occurrence Prediction_NLP
Guttenberg Ferreira Passos
 
Social_Distancing_DIS_Time_Series
Social_Distancing_DIS_Time_SeriesSocial_Distancing_DIS_Time_Series
Social_Distancing_DIS_Time_Series
Guttenberg Ferreira Passos
 
ICMS_Tax_Collection_Time_Series.pdf
ICMS_Tax_Collection_Time_Series.pdfICMS_Tax_Collection_Time_Series.pdf
ICMS_Tax_Collection_Time_Series.pdf
Guttenberg Ferreira Passos
 
Predictions with Deep Learning and System Dynamics - AIH
Predictions with Deep Learning and System Dynamics - AIHPredictions with Deep Learning and System Dynamics - AIH
Predictions with Deep Learning and System Dynamics - AIH
Guttenberg Ferreira Passos
 
Capacity prediction model
Capacity prediction modelCapacity prediction model
Capacity prediction model
Guttenberg Ferreira Passos
 
Problem Prediction Model with Changes and Incidents
Problem Prediction Model with Changes and IncidentsProblem Prediction Model with Changes and Incidents
Problem Prediction Model with Changes and Incidents
Guttenberg Ferreira Passos
 
Project Organizational Responsibility Model - ORM
Project Organizational Responsibility Model -  ORMProject Organizational Responsibility Model -  ORM
Project Organizational Responsibility Model - ORM
Guttenberg Ferreira Passos
 
Problem prediction model
Problem prediction modelProblem prediction model
Problem prediction model
Guttenberg Ferreira Passos
 
Modelo de Responsabilidade Organizacional e a Transformação Digital
Modelo de Responsabilidade Organizacional e a Transformação DigitalModelo de Responsabilidade Organizacional e a Transformação Digital
Modelo de Responsabilidade Organizacional e a Transformação Digital
Guttenberg Ferreira Passos
 
A transformação digital do tradicional para o exponencial - v2
A transformação digital do tradicional para o exponencial - v2A transformação digital do tradicional para o exponencial - v2
A transformação digital do tradicional para o exponencial - v2
Guttenberg Ferreira Passos
 
MRO predict
MRO predictMRO predict
MRO simula
MRO simulaMRO simula
O facin na prática com o projeto geo
O facin na prática com o projeto geoO facin na prática com o projeto geo
O facin na prática com o projeto geo
Guttenberg Ferreira Passos
 
Modelo em rede de maturidade em governança corporativa e a lei das estatais
Modelo em rede de maturidade em governança corporativa e a lei das estataisModelo em rede de maturidade em governança corporativa e a lei das estatais
Modelo em rede de maturidade em governança corporativa e a lei das estatais
Guttenberg Ferreira Passos
 
Análise da Dispersão dos Esforços dos Funcionários
Análise da Dispersão dos Esforços dos FuncionáriosAnálise da Dispersão dos Esforços dos Funcionários
Análise da Dispersão dos Esforços dos Funcionários
Guttenberg Ferreira Passos
 
Facin e Modelo de Responsabilidade Organizacional
Facin e Modelo de Responsabilidade OrganizacionalFacin e Modelo de Responsabilidade Organizacional
Facin e Modelo de Responsabilidade Organizacional
Guttenberg Ferreira Passos
 
Understanding why caries is still a public health problem
Understanding why caries is still a public health problemUnderstanding why caries is still a public health problem
Understanding why caries is still a public health problem
Guttenberg Ferreira Passos
 
Modelo em Rede de Alinhamento das Ações aos Pilares da Governança
Modelo em Rede de Alinhamento das Ações aos Pilares da GovernançaModelo em Rede de Alinhamento das Ações aos Pilares da Governança
Modelo em Rede de Alinhamento das Ações aos Pilares da Governança
Guttenberg Ferreira Passos
 
Cenários exploratórios da cadeia de valor
Cenários exploratórios da cadeia de valorCenários exploratórios da cadeia de valor
Cenários exploratórios da cadeia de valor
Guttenberg Ferreira Passos
 

Mais de Guttenberg Ferreira Passos (20)

Sistemas de Recomendação
Sistemas de RecomendaçãoSistemas de Recomendação
Sistemas de Recomendação
 
Occurrence Prediction_NLP
Occurrence Prediction_NLPOccurrence Prediction_NLP
Occurrence Prediction_NLP
 
Social_Distancing_DIS_Time_Series
Social_Distancing_DIS_Time_SeriesSocial_Distancing_DIS_Time_Series
Social_Distancing_DIS_Time_Series
 
ICMS_Tax_Collection_Time_Series.pdf
ICMS_Tax_Collection_Time_Series.pdfICMS_Tax_Collection_Time_Series.pdf
ICMS_Tax_Collection_Time_Series.pdf
 
Predictions with Deep Learning and System Dynamics - AIH
Predictions with Deep Learning and System Dynamics - AIHPredictions with Deep Learning and System Dynamics - AIH
Predictions with Deep Learning and System Dynamics - AIH
 
Capacity prediction model
Capacity prediction modelCapacity prediction model
Capacity prediction model
 
Problem Prediction Model with Changes and Incidents
Problem Prediction Model with Changes and IncidentsProblem Prediction Model with Changes and Incidents
Problem Prediction Model with Changes and Incidents
 
Project Organizational Responsibility Model - ORM
Project Organizational Responsibility Model -  ORMProject Organizational Responsibility Model -  ORM
Project Organizational Responsibility Model - ORM
 
Problem prediction model
Problem prediction modelProblem prediction model
Problem prediction model
 
Modelo de Responsabilidade Organizacional e a Transformação Digital
Modelo de Responsabilidade Organizacional e a Transformação DigitalModelo de Responsabilidade Organizacional e a Transformação Digital
Modelo de Responsabilidade Organizacional e a Transformação Digital
 
A transformação digital do tradicional para o exponencial - v2
A transformação digital do tradicional para o exponencial - v2A transformação digital do tradicional para o exponencial - v2
A transformação digital do tradicional para o exponencial - v2
 
MRO predict
MRO predictMRO predict
MRO predict
 
MRO simula
MRO simulaMRO simula
MRO simula
 
O facin na prática com o projeto geo
O facin na prática com o projeto geoO facin na prática com o projeto geo
O facin na prática com o projeto geo
 
Modelo em rede de maturidade em governança corporativa e a lei das estatais
Modelo em rede de maturidade em governança corporativa e a lei das estataisModelo em rede de maturidade em governança corporativa e a lei das estatais
Modelo em rede de maturidade em governança corporativa e a lei das estatais
 
Análise da Dispersão dos Esforços dos Funcionários
Análise da Dispersão dos Esforços dos FuncionáriosAnálise da Dispersão dos Esforços dos Funcionários
Análise da Dispersão dos Esforços dos Funcionários
 
Facin e Modelo de Responsabilidade Organizacional
Facin e Modelo de Responsabilidade OrganizacionalFacin e Modelo de Responsabilidade Organizacional
Facin e Modelo de Responsabilidade Organizacional
 
Understanding why caries is still a public health problem
Understanding why caries is still a public health problemUnderstanding why caries is still a public health problem
Understanding why caries is still a public health problem
 
Modelo em Rede de Alinhamento das Ações aos Pilares da Governança
Modelo em Rede de Alinhamento das Ações aos Pilares da GovernançaModelo em Rede de Alinhamento das Ações aos Pilares da Governança
Modelo em Rede de Alinhamento das Ações aos Pilares da Governança
 
Cenários exploratórios da cadeia de valor
Cenários exploratórios da cadeia de valorCenários exploratórios da cadeia de valor
Cenários exploratórios da cadeia de valor
 

Último

Certificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdfCertificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdf
joaovmp3
 
Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
WELITONNOGUEIRA3
 
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdfDESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
Momento da Informática
 
História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
TomasSousa7
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
Momento da Informática
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
Momento da Informática
 

Último (6)

Certificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdfCertificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdf
 
Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
 
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdfDESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
 
História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
 

Inteligencia artificial serie_temporal_ dis_v1

  • 1. Estratégia de Atendimento à População no Combate à Covid-19 Simulador de Cenários com Inteligência Artificial e Dinâmica de Sistemas Guttenberg Ferreira Passos Ilan Chamovitz Suellen Teixeira Zavadzki de Pauli Paulo Edy Nakamura Leonardo Grandinetti Chaves O presente artigo tem como objetivo contribuir para uma estratégia de atendimento à população no combate à Covid-19, através de um simulador de cenários com Inteligência Artificial e Dinâmica de Sistemas. Em fevereiro de 2021 foram anunciadas no Brasil mudanças relevantes no combate à Covid-19, especialmente quanto à vacinação. Aborda-se nesse artigo uma série de previsões para auxiliar na estratégia de atendimento à população no combate a esta doença, é uma boa oportunidade para entender melhor os fatores "invisíveis" que afetam a contaminação das pessoas. Para ajudar a modelar esses fatores "invisíveis", partiu-se da obtenção de dados de distanciamento social, esses dados foram passados como entrada em um sistema de Inteligência Artificial e foram executadas previsões em Deep Learning (LSTM). A previsão da variável distanciamento social foi exportada para calibrar o modelo em Systems Dynamics, com o software Stella, e as simulações foram feitas com um modelo de Covid-19. Como trabalho futuro, o resultado dessas simulações serão plotados em um mapa de um telefone celular através de geoprocessamento. Todos os modelos foram adaptados das aulas do curso de Modelagem Preditiva de Séries Temporais que podem ser encontradas na timeline da Comunidade da Data Science Academy no portal: www.datascienceacademy.com.br. Séries Temporais Uma série temporal é um conjunto sequencial de pontos de dados, medido tipicamente em tempos sucessivos.É matematicamente definido como um conjunto de vetores x (t), t = 0,1,2, ... onde t representa o tempo decorrido. A variável x(t) é tratada como uma variável aleatória. Uma variável aleatória é uma variável quantitativa, cujo resultado (valor) depende de fatores aleatórios. As medições realizadas durante um evento em uma série temporal são organizadas em uma ordem cronológica adequada.Uma série temporal contendo registros de uma única variável é denominada como univariada e mais de uma variável como multivariada. As séries temporais adicionam uma dependência explícita da ordem entre as observações: uma dimensão temporal. Essa dimensão adicional é uma restrição e uma estrutura que fornece uma fonte de informações adicionais. E muito, muito valiosa.
  • 2. A análise de séries temporais envolve o desenvolvimento de modelos que melhor capturam ou descrevem uma série temporal observada para entender as causas. Este campo de estudo busca o "porquê" por trás de um conjunto de dados de séries temporais. A qualidade de um modelo descritivo é determinada por quão bem ele descreve todos os dados disponíveis e a interpretação que fornece para melhor informar o domínio do problema. O objetivo principal da análise de séries temporais é desenvolver modelos matemáticos que forneçam descrições plausíveis a partir de dados de amostra. Fazer previsões sobre o futuro é chamado de extrapolação no tratamento estatístico clássico de dados de séries temporais. Os campos mais modernos se concentram no tópico e se referem a ele como previsão de séries temporais. A previsão envolve ajustar os modelos aos dados históricos e usá-los para prever observações futuras. Uma distinção importante na previsão é que o futuro está completamente indisponível e só deve ser estimado a partir do que já aconteceu. O objetivo da análise de séries temporais é geralmente duplo: entender ou modelar os mecanismos estocásticos que dão origem a uma série observada e prever os valores futuros de uma série com base no histórico dessa série. Isso é o que chamamos de Modelagem Preditiva. Modelagens Preditivas não lineares com séries temporais.  Para modelos preditivos não lineares usa-se Métodos Estatísticos, Inteligência Artificial, Machine Learning e Deep Learning, tais como os seguintes algoritmos:  Naive;  ExponentialSmoothing;  ARMA - Autoregressive Moving Average;  ARIMA - Autoregressive Integrated Moving Average;  SARIMAX – Seasonal Autoregressive Integrated Moving Average;  DeepAR–GluonTS - Probabilistic Time Series Modeling;  MLP - MultilayerPerceptron;  LSTM - Long short-term memory. Algoritmo Naive É o modelo preditivo mais simples que se pode criar. Baseia-se em uma técnica de estimativa na qual os dados reais do último período são usados como previsão desse período, sem ajustá- los ou tentar estabelecer fatores causais. É usado apenas para comparação com as previsões geradas pelas melhores técnicas (sofisticadas). Naivesignifica ingênuo, portanto, não há técnica avançada aqui é apenas usadocomo ponto de partida, uma referência para os demais modelos. Qualquer modelo mais avançado deve apresentar resultados superiores ao AlgoritmoNaive.
  • 3. Algoritmo ExponentialSmoothing Smoothing (Suavização ou Alisamento) em séries temporais é um conjunto de métodos para suavizar séries temporais eliminando "saltos". Existem várias maneiras de fazer isso. Talvez o mais fácil seja calcular a média móvel simples (SimpleMovingAverage). A suavização é basicamente uma técnica usada para ver a tendência de longo prazo nos dados, diminuindo os efeitos dos componentes periódicos / sazonais dos dados. Basicamente, usa-se a suavização quando se quer remover as flutuações nos dados e focar apenas em preservar as tendências de longo prazo. O objetivo de suavizar é remover o ruído e expor melhor o sinal dos processos. As médias móveis são um tipo simples e comum de suavização usado na análise de séries temporais e na previsão de séries temporais. O cálculo de uma média móvel envolve a criação de uma nova série em que os valores são compostos da média de observações brutas na série temporal original. A suavização da média móvel (MovingAverageSmoothing) é uma técnica eficaz na previsão de séries temporais também, ou seja, pode ser usado para preparação de dados, engenharia de recursos e até diretamente para fazer previsões. Uma média móvel requer que você especifique um tamanho de janela chamado largura da janela. Isso define o número de observações brutas usadas para calcular o valor da média móvel. A parte "móvel" na média móvel refere-se ao fato de que a janela definida pela largura da janela é deslizada ao longo da série temporal para calcular os valores médios na nova série. Algoritmo ARMA Auto RegressiveMovingAverage - ARMA é um modelo de média móvel auto-regressiva. É simplesmente a fusão entre os modelos AR (p) e MA (q). O modelo AR (p) tenta explicar o momento e os efeitos médios da reversão frequentemente observados nos mercados (efeitos dos participantes do mercado). O modelo MA (q) tenta capturar os efeitos de choque observados em termos de ruído branco. Estes efeitos de choque podem ser considerados eventos inesperados que afetam o processo de observação, p, como ganhos repentinos, guerras, ataques, etc. O modelo ARMA tenta capturar esses dois aspectos ao modelar séries temporais, não leva em consideração o agrupamento de volatilidade, um fenômeno empírico essencial de muitas séries temporais financeiras. O Modelo ARMA(1,1) é representado como: x(t) = ax(t-1) + be(t-1) + e(t), onde e(t) é o ruído branco com E [e(t)] = 0. Um modelo ARMA geralmente requer menos parâmetros que um modelo AR (p) ou um modelo MA (q) individual.
  • 4. Algoritmo ARIMA AutoregressiveIntegratedMovingAverage - ARIMAé um modelo de média móvel integrada auto-regressiva, uma generalização de um modelo ARMA. Ambos os modelos são ajustados a dados de séries temporais para melhor entender os dados ou para prever pontos futuros na série (previsão). Os modelos ARIMA são aplicados em alguns casos em que os dados mostram evidências de não estacionariedade, onde uma etapa inicial de diferenciação (correspondente à parte "integrada" do modelo) pode ser aplicada uma ou mais vezes para eliminar a não estacionariedade. A parte AR do ARIMA indica que a variável de interesse em evolução é regredida com seus próprios valores defasados (isto é, anteriores). O I (para "integrado") indica que os valores dos dados foram substituídos pela diferença entre seus valores e os valores anteriores (e esse processo de diferenciação pode ter sido executado mais de uma vez). O objetivo de cada um desses recursos é fazer com que o modelo ajuste os dados da melhor maneira possível. A parte MA indica que o erro de regressão é na verdade uma combinação linear de termos de erro cujos valores ocorreram contemporaneamente e em vários momentos no passado. Modelos ARIMA não sazonais são geralmente designados ARIMA(p, d, q), em que os parâmetros p, d e q são números inteiros não negativos, p é a ordem (número de intervalos de tempo) do modelo autoregressivo, d é o grau de diferenciação (o número de vezes que os dados tiveram valores passados subtraídos) e q é a ordem do modelo de média móvel. Algoritmo SARIMAX SeasonalAutoregressiveIntegratedMovingAverage- SARIMAX é um modelo sazonal de média móvel integrada auto-regressivacom os parâmetros (p, d, q) (P, D, Q) m, em que m refere-se ao número de períodos em cada sazonalidade e os maiúsculos P, D, Q referem-se ao autorregressivo, diferenciado, e termos da média móvel da parte sazonal do modelo ARIMA. Algoritmo DeepAR-GluonTS O DeepARfoi lançado pela Amazon, sendo integrado ao SageMaker. Seu objetivo é prever a cada etapa o seguinte (horizonte = 1). Isso significa que a rede deve receber na entrada a observação anterior (no atraso = 1) z_t-1, juntamente com um conjunto de covariáveis opcionais x_i. As informações são propagadas para a camada oculta e até a função de verossimilhança (que é uma função de pontuação usada no nível de uma função de perda). A função de probabilidade pode ser binomial gaussiana ou negativa. O erro é calculado usando a parametrização atual da probabilidade. Facilmente, isso é representado por mu e sigma no caso de uma probabilidade gaussiana. Isso significa que, durante a execução do backpropagation, estamos ajustando os parâmetros de rede (pesos w) que alteram a parametrização de todos os exemplos. O DeepAR pode ser implementado com o Gluon Time Series - GluonTS, uma biblioteca para modelagem de séries temporais baseada em Deep Learning, simplifica o desenvolvimento e a experimentação de modelos de séries temporais para tarefas comuns, como previsão ou detecção de anomalias. Ele fornece todos os componentes e ferramentas necessários que os
  • 5. Cientistas de Dados precisam para criar rapidamente novos modelos, executar e analisar experimentos com eficiência e avaliar a precisão do modelo. Algoritmo MLP Uma rede padrão MultilayerPerceptron- MLPé uma rede neural recorrente - RNNprojetada para problemas seqüenciais,pode ser pensada como a adição de loops à arquitetura. Por exemplo, em uma dada camada, cada neurônio pode passar seu sinal para frente (feed- forward) e também para o lado. Uma Rede Neural Recorrente é basicamente uma rede neural que pode ser usada quando seus dados são tratados como uma sequência, onde a ordem particular dos pontos de dados é importante e esta sequência pode ser de comprimento arbitrário. O exemplo mais claro é talvez uma série temporal de números, onde a tarefa é prever o próximo valor de acordo com valores anteriores. A entrada para a RNN em cada passo de tempo é o valor atual, bem como um vetor de estado que representa o que a rede "viu" no tempo - etapas anteriores. Este estado-vetor é a memória codificada da RNN, inicialmente definida como zero. Algoritmo LSTM A rede Long Short-TermMemory- LSTMé uma rede neural recorrente treinada usando BackpropagationThrough Time e supera o problema da dissipação do gradiente.Como tal, o modelo pode ser usado para criar grandes redes recorrentes que, por sua vez, podem ser usadas para resolver problemas de sequência difíceis no aprendizado de máquina e obter resultados de última geração. Em vez de neurônios, as redes LSTM possuem blocos de memória conectados através de camadas.Um bloco possui componentes que o tornam mais inteligente que um neurônio clássico e uma memória para sequências recentes. Um bloco contém portas que gerenciam o estado e a saída do bloco. Um bloco opera sobre uma sequência de entrada e cada porta dentro de um bloco usa as unidades de ativação sigmóide para controlar se são acionadas ou não, condicionando a mudança de estado e a adição de informações que fluem através do bloco. Neurônio Biológico O Deep Learning Book Brasil é uma iniciativa da Data Science Academy, com o objetivo de ajudar a difundir o Deep Learning, uma das tecnologias mais revolucionárias do nosso tempo usada na construção de aplicações de Inteligência Artificial. De acordo o com o Deep Learning Book, o neurônio biológico é uma célula, que pode ser dividida em três seções: o corpo da célula, os dendritos e o axônio, cada uma com funções específicas, porém complementares.
  • 6. Fonte: Data Science Academy- DSA Neurônio Artificial Um neurônio artificial representa a base de uma Rede Neural Artificial (RNA), um modelo da neuroinformática orientado nas redes neurais biológicas. Fonte: Data Science Academy - DSA O conhecimento de uma RNA está codificado na estrutura da rede,onde se destacam as conexões (sinapses)entre as unidades (neurônios) que a compõe. Fonte: Data Science Academy - DSA No aprendizado de máquina, o Perceptron é um algoritmo de aprendizado supervisionado de classificadores binários. Um classificador binário é uma função que pode decidir se uma entrada, representada por um vetor de números, pertence ou não a alguma classe específica. É um tipo de classificador linear, ou seja, um algoritmo de classificação que faz suas previsões com base em uma função de preditor linear combinando um conjunto de pesos com o vetor de características. Redes Neurais Redes neurais são sistemas de computação com nós interconectados que funcionam como os neurônios do cérebro humano. Usando algoritmos, elas podem reconhecer padrões
  • 7. escondidos e correlações em dados brutos, agrupá-los e classificá-los, e com o tempo aprender e melhorar continuamente. O Instituto Asimov https://www.asimovinstitute.org/neural-network-zoo/ publicou uma folha de dicas contendo várias arquiteturas de rede neural, nos concentraremos nas arquiteturas abaixo com foco em Perceptron(P), FeedFoward (FF), Recurrent Neural Network (RNN) e Long Short TermMemory (LSTM): Fonte: THE ASIMOV INSTITUTE Deep Learning é uma das bases da Inteligência Artificial (IA), um tipo de aprendizado de máquina (MachineLearning) que treina computadores para realizar tarefas como seres humanos, o que inclui reconhecimento de fala, identificação de imagem e previsões, aprendendo com o tempo. Podemos dizer que é uma Rede Neural com várias camadas ocultas:
  • 8. Modelo Base Definição do Problema de Negócio Previsão do distanciamento social em Minas Gerais. Conjunto de Dados Usaremos conjuntos de dados que mostram o distanciamento social em Minas Gerais. Os dados têm registros de 15/02/2020 a 29/01/2021. Análise Exploratória dos Dados Decomposição da Série Temporal Pode-se usar os modelos estatísticos para realizar uma decomposição dessa série cronológica. A decomposição de séries temporais é uma tarefa estatística que desconstrói uma série temporal em vários componentes, cada um representando uma das categorias de padrões. Com os modelos de estatísticas, poderemos ver a tendência, os componentes sazonais e residuais de nossos dados. Pode-se fazer uma decomposição clássica de uma série temporal, considerando a série como uma combinação aditiva ou multiplicativa do nível base, tendência, índice sazonal e residual. Segue abaixo a decomposição da série temporal:
  • 9. O gráfico acima mostra 2 componentes da série: Sazonalidade e Tendência.  Sazonalidade - o fenômeno se repete em períodos fixos.  Tendência - ao longo do tempo, a série segue uma tendência de crescimento. Estacionaridade da série. A estacionariedade é um importante conceito na modelagem de séries temporais e é caracterizada por uma variável que se comporta de forma aleatória ao longo do tempo ao redor de uma média constante. Uma série temporal é considerada estacionária se suas propriedades estatísticas, como média e variância, permanecerem constantes ao longo do tempo. Intuitivamente, podemos dizer que, se uma série temporal tem um comportamento específico ao longo do tempo, há uma probabilidade muito alta de que ela siga o mesmo no futuro. Basicamente, séries temporais que possuem tendência e/ou sazonalidade não são estacionárias e é necessário o uso de técnicas adequadas a tal situação.
  • 10. O gráfico ACF permite a avaliação da diferenciação mínima necessária para obter uma série estacionária (Parâmetro d para o Modelo ARIMA): Para a execução dos modelos utilizando Métodos Estatísticos os dados foram separados em:  262 registros de treino e  88 registros de validação. Modelo 11 – Previsões Método Naive
  • 11. 11 – Método Naive 13 - Forecasting–ARIMALOG (1, 0, 1) 15 –ARMA (1, 0) 16 – Forecasting - ARIMA (4, 1, 5) 17 – SARIMAX(2,1,1)(2,1,0,10) 12 – ExponentialSmoothing 14 - Forecasting– ARIMALOG (1, 1, 1) 15 – ARMA (9, 6) 16 - Predict-ARIMA (4, 1, 5) 18 – SARIMAX(1,1,1)(0,1,1,10)
  • 12. Modelos utilizando Inteligência Artificial - IA 22 – LSTM - IA (3 repetições) 23 – LSTM otimizado - IA 25 – LSTM Bidirecional - IA RNN01 – MLP Vanilla - IA 22 – LSTM - IA (5 repetições) 24 – Stacked LSTM - IA 25 – LSTM - IA - Grid Search RNN01 – MLP Window - IA Previsões utilizando Inteligência Artificial - IA - Deep Learning
  • 13. RNN02 – LSTM Vanilla IA – Validação Epoch = 130 - evita o Overfitting RNN02 – LSTM Vanilla IA – Validação Epoch = 200 RNN02 – LSTM Window IA– Validação RNN02– LSTM Time Steps IA Validação RNN02 – LSTM Stateful IA – Validação RNN02 – LSTM Stacked IA – Validação RNN02 – LSTM Vanilla IA – Teste Epoch = 130 - evita o Overfitting RNN02 – LSTM Vanilla IA – Teste Epoch = 200 RNN02 – LSTM Window IA – Teste RNN02 – LSTM TimeSteps IA – Teste RNN02 – LSTM Stateful IA – Teste RNN02 – LSTM Stacked IA – Teste
  • 14. Modelo RNN02 – LSTM Vanilla IA – Epoch = 130 – evita o Overfitting Modelo RNN02 – LSTM Vanilla IA – Epoch = 200 ModeloRNN02 – LSTM Window IA ModeloRNN02– LSTM Time Steps
  • 15. ModeloRNN02– LSTM Stateful Modelo RNN02– LSTM Stacked Forecasting utilizando Inteligência Artificial - IA Modelo 22 – LSTM - IA (3 repetições) Modelo 22 – LSTM - IA (5 repetições)
  • 16. Modelo 23 – LSTM otimizado - IA Modelo 24 – Stacked LSTM - IA Modelo 25 – Bidirecional LSTM - IA Modelo RNN02 – LSTM Vanilla IA – Epoch = 130 – evita o Overfitting
  • 17. Modelo RNN02 – LSTM Vanilla IA – Epoch = 200 ModeloRNN02 – LSTM Window IA ModeloRNN02– LSTM Time Steps ModeloRNN02– LSTM Stateful
  • 18. Modelo RNN02– LSTM Stacked Resultados dos Modelos: Arquiteturas dos Modelos utilizando IA Modelo 22 – LSTM - IA (5 repetições) Número de repetições = 5 modelo_lstm.add(LSTM(50, activation = 'relu', input_shape = (n_input, n_features))) modelo_lstm.add(Dropout(0.10)) modelo_lstm.add(Dense(100, activation = 'relu')) modelo_lstm.add(Dense(100, activation = 'relu')) modelo_lstm.add(Dense(1)) modelo_lstm.compile(optimizer = 'adam', loss = 'mean_squared_error') monitor = EarlyStopping(monitor='val_loss', min_delta=1e-3, patience=3, verbose=1, mode='auto') modelo_lstm.fit_generator(generator, epochs = 200) RSME RSME RSME Nº Arquitetura Modelo Setup treino validação teste 1 Métodos Estatísticos BASE 11 Método Naive 7,6327 2 Métodos Estatísticos Forecasting 12 Exponential Smoothing v1 7,3602 3 Métodos Estatísticos Forecasting 12 Exponential Smoothing v2 8,7714 4 Métodos Estatísticos ARIMA 13 ARIMA LOG (1, 0, 1) 5,1253 5 Métodos Estatísticos ARIMA 14 ARIMA LOG (1, 1, 1) 4,9166 6 Métodos Estatísticos ARMA 15 ARMA (1, 0) 5,1045 7 Métodos Estatísticos ARMA 15 ARMA (3, 5) 4,7948 8 Métodos Estatísticos ARMA 15 ARMA (9, 6) 3,5966 9 Métodos Estatísticos ARIMA 16 ARIMA (4, 1, 5) Forecast 3,7513 10 Métodos Estatísticos SARIMAX 17 SARIMAX (2, 1, 1) (2, 1, 0, 10) 6,5842 11 Métodos Estatísticos SARIMAX 18 SARIMAX (1, 1, 1) (0, 1, 1, 10) 5,0104 12 IA - Deep Learning LSTM 22 LSTM (3 repetições) 5,8273 13 IA - Deep Learning LSTM 22 LSTM (5 repetições) 5,9767 14 IA - Deep Learning LSTM 23 LSTM Otimizado 4,6203 15 IA - Deep Learning LSTM 24 Stacked LSTM 7,0475 16 IA - Deep Learning LSTM 25 LSTM Bidirecional 5,0781 17 IA - Deep Learning DeepAR 26 DeepAR 18 Inteligência Artificial - IARNA - MLP 1 MLP Vanilla 5,1734 5,3914 19 Inteligência Artificial - IARNA - MLP 2 MLP e Método Window 3,1401 2,9119 20 IA - Deep Learning RNN - LSTM 1 LSTM Vanilla - 130 epochs 4,7371 4,1557 4,7485 21 IA - Deep Learning RNN - LSTM 1 LSTM Vanilla - 200 epochs 2,6281 2,7633 3,2239 22 IA - Deep Learning RNN - LSTM 2 LSTM e Método Window 2,7596 2,9540 3,1561 23 IA - Deep Learning RNN - LSTM 3 LSTM e Time Steps 3,9509 3,4389 3,8108 24 IA - Deep Learning RNN - LSTM 4 LSTM e Stateful 3,4706 3,2986 4,3423 25 IA - Deep Learning RNN - LSTM 5 LSTM e Stacked 6,3807 5,7923 5,2433 RSME = Raiz Quadrada do Erro Quadrático Médio Estratégia de Atendimento à População no Combate à Covid-19
  • 19. Modelo 23 – LSTM otimizado - IA Número de repetições = 3 modelo_lstm.add(LSTM(40, activation = 'tanh', return_sequences = True, input_shape = (n_input, n_features))) modelo_lstm.add(LSTM(40, activation = 'relu')) modelo_lstm.add(Dense(50, activation = 'relu')) modelo_lstm.add(Dense(50, activation = 'relu')) modelo_lstm.add(Dense(1)) adam = optimizers.Adam(lr = 0.001) modelo_lstm.compile(optimizer = adam, loss = 'mean_squared_error') monitor = EarlyStopping(monitor='val_loss', min_delta=1e-3, patience=5, verbose=1, mode='auto') modelo_lstm.fit_generator(generator, epochs = 100) Modelo 24 – Stacked LSTM - IA modelo_lstm.add(LSTM(200, activation = 'relu', return_sequences = True, input_shape = (1, 1))) modelo_lstm.add(LSTM(100, activation = 'relu', return_sequences = True)) modelo_lstm.add(LSTM(50, activation = 'relu', return_sequences = True)) modelo_lstm.add(LSTM(25, activation = 'relu')) modelo_lstm.add(Dense(20, activation = 'relu')) modelo_lstm.add(Dense(10, activation = 'relu')) modelo_lstm.add(Dense(1)) modelo_lstm.compile(optimizer = 'adam', loss = 'mean_squared_error') modelo_lstm.fit(X, y, epochs5000, verbose = 1) Arquiteturas dos Modelos utilizando IA Deep Learning ModeloRNN01 – MLP Vanilla – IA model.add(Dense(8, input_dim = look_back, activation = 'relu')) model.add(Dense(1)) model.compile(loss = 'mean_squared_error', optimizer = 'adam') model.fit(trainX, trainY, epochs = 200, batch_size = 2, verbose = 2) Modelo RNN01 – MLP Vanilla – IA model.add(LSTM(4, input_shape = (1, look_back))) model.add(Dense(1)) model.compile(loss = 'mean_squared_error', optimizer = 'adam') model.fit(trainX, trainY, epochs = 200, batch_size = 1, verbose = 2) Modelo RNN02 – LSTM Vanilla – IA model.add(LSTM(4, input_shape = (1, look_back))) model.add(Dense(1)) model.compile(loss = 'mean_squared_error', optimizer = 'adam') model.fit(trainX, trainY, epochs = 200, batch_size = 1, verbose = 2) Modelo RNN02 – LSTM Window – IA model.add(LSTM(4, input_shape = (1, look_back))) model.add(Dense(1)) model.compile(loss = 'mean_squared_error', optimizer = 'adam') model.fit(trainX, trainY, epochs = 200, batch_size = 1, verbose = 2) Modelo RNN02 – LSTM Time Steps – IA model.add(LSTM(4, input_shape = (None, 1))) model.add(Dense(1))
  • 20. model.compile(loss = 'mean_squared_error', optimizer = 'adam') model.fit(trainX, trainY, epochs = 200, batch_size = 1, verbose = 2) Modelo RNN02 – LSTM Stateful – IA model.add(LSTM(4, batch_input_shape = (batch_size, look_back, 1), stateful = True)) model.add(Dense(1)) model.compile(loss = 'mean_squared_error', optimizer = 'adam') fori in range(200): model.fit(trainX, trainY, epochs = 1, batch_size = batch_size, verbose = 2, shuffle = False) model.reset_states() Modelo RNN02 – LSTM Stacked – IA model.add(LSTM(4, batch_input_shape = (batch_size, look_back, 1), stateful = True, return_sequences = True)) model.add(LSTM(4, batch_input_shape = (batch_size, look_back, 1), stateful = True)) model.add(Dense(1)) model.compile(loss = 'mean_squared_error', optimizer = 'adam') fori in range(200): model.fit(trainX, trainY, epochs = 1, batch_size = batch_size, verbose = 2, shuffle = False) model.reset_states() Modelo RNN02 – LSTM Stacked – IA (número maior de camadas) model = Sequential() model.add(LSTM(100, batch_input_shape = (batch_size, look_back, 1), activation = 'relu', return_sequences = True)) model.add(LSTM(50, activation = 'relu', return_sequences = True)) model.add(LSTM(20, activation = 'relu')) model.add(Dense(10, activation = 'relu')) model.add(Dense(5, activation = 'relu')) model.add(Dense(1)) model.compile(loss = 'mean_squared_error', optimizer = 'adam') for i in range(400): model.fit(trainX, trainY, epochs = 1, batch_size = batch_size, verbose = 1, shuffle = False) model.reset_states() Os modelos foram baseados em cursos da Data Science Academy DSA e na timeline da Comunidade no portal: www.datascienceacademy.com.br