Você está na página 1de 134

FUNDAÇÃO GETULIO VARGAS

ESCOLA de MATEMÁTICA APLICADA

Michelle Bandarra Marques Costa

Ensaios em matemática aplicada:


Estimação e trajetórias bootstrap de oferta de sangue e estudo
de desempenho de extensões do algoritmo de Programação
Dinâmica Dual Estocática

Rio de Janeiro
2017
Michelle Bandarra Marques Costa

Ensaios em matemática aplicada:


Estimação e trajetórias bootstrap de oferta de sangue e estudo
de desempenho de extensões do algoritmo de Programação
Dinâmica Dual Estocática

Dissertação para obtenção do grau de mes-


tre apresentada à Escola de Matemática
Aplicada

Área de concentração: Otimização Esto-


cástica

Orientador: Vincent Guigues

Rio de Janeiro
2017
Ficha catalográfica elaborada pela Biblioteca Mario Henrique Slmonsen/FGV

Costa, Michelle Bandarra Marques


Ensaios em matemática aplicada: estimação e trajetórias bootstrap de oferta de
sangue e estudo de desempenho de extensões do algoritmo de Programação
Dinâmica Dual Estocástica / Michelle Bandarra Marques Costa. - 2017.
132 f.
Dissertação (mestrado) - Fundação Getulio Vargas, Escola de Matemática
Aplicada.
Orientador: Vincent Gérard Yannick Guigues.
Inclui bibliografia.

1. Programação estocástica. 2. Otimização matemática. 3. Análise de séries


temporais. 4. Bootstrap (Programa de computador). I. Guigues, Vincent Gérard
Yannick. 11. Fundação Getulio Vargas. Escola de Matemática Aplicada. III. Título.

CDD - 519.62
' '- FGV

MICHELLE BANDARRA MARQUES COSTA

"ENSAIOS EM MATEMÁTICA APLICADA",

Dissertação aprese ntado (a) ao Curso de M estrado em Modelage m Matemática da

Informação do( a) Escola de Matemática Aplicada para obtenção do grau de M estra(a)

em Mod elage m Matemática da nformação.

Data da defesa: 26/09/2017

ASSINATURA DOS MEMBROS DA BANCA EXAMINADORA

Vincent Gera rd Yann ick Guigues


Orientador(a)

Eduardo Fons eca Mendes (


y
M embro Interno

~ r
----= .
Adriart:~er Pizzinga
Membro Externo
Aos meus avós, Aristides e Celeste
Agradecimentos
Agradeço ao meu orientador, Vincent Guigues, por toda a dedicação e atenção dedicada
à conclusão deste trabalho. Também agradeço ao Adrian, sem o qual não saberia metade do
que aprendi de estatística e econometria. Agradeço aos meus pais e minha irmã, que estiveram
presentes por toda a minha vida, me apoiando e ajudando em todos os momentos, bons e ruins,
e que eu nada seria sem eles.
The best time to plant a tree was 20 years ago.
The second best time is now.

Chinese Proverb
Resumo
Estudamos dois tópicos distintos da matemática aplicada. O primeiro tópico dedica-se à estima-
ção e geração de trajetórias futuras de séries de oferta de sangue, contribuindo para a literatura
de gestão de estoque de bens perecíveis. São utilizados modelos de Vetores Autoregressivos
(VAR) e as trajetórias são geradas por duas técnicas distintas de bootstrap presentes na litera-
tura que consideram a não-normalidade dos erros do modelo. Conclui-se que ambas técnicas são
adequadas e abordagens possíveis para melhorar a previsibilidade das séries de oferta de sangue.
O segundo tópico dedica-se ao estudo de diferentes extensões do algoritmo de Programação Dinâ-
mica Dual Estocástica (Stochastic Dual Dynamic Programming , SDDP). Sob a ótica de modelos
de seleção de carteira, são comparados os desempenhos computacionais de dois algoritmos. O
primeiro é uma modificação do SDDP que calcula múltiplos cortes por iteração, Multicut Decom-
position Algorithm (MuDA). O segundo introduz estratégias de seleção de corte ao MuDA, no
que denominamos de Cut Selection Multicut Decomposition Algorithm, CuSMuDA e, até onde
sabemos, ainda não foi proposto pela literatura. São comparadas duas estratégias de seleção de
corte distintas, CS1 e CS2. Foram rodadas simulações para 6 casos do problema de seleção de
carteira e os resultados mostram a atratividade do modelo proposto CuSMuDA CS2, que obteve
tempos computacionais entre 5,1 e 12,6 vezes menores que o MuDA e entre 10,3 e 21,9 vezes
menores que o CuSMuDA CS1.

Palavras-chave: SDDP, Otimização Estocástica, Séries Temporais, Bootstrap.


Abstract
We study two topics of applied mathematics. The first topic is devoted to the estimation of blood
supply time series and the generation of simulated trajectories. The main goal is to contribute
to the literature of stock management of perishable goods. We use Autoregressive Vetors models
and two bootstrap techniques when residuals are nonGaussian. We conclude that both techniques
are suitable for the problem at hand and are good approaches to enhance predictability of the
blood supply time series.
The second topic is devoted to the study of different extensions of the Stochastic Dual Dy-
namic Programming algorithm (SDDP). We compare the computational performance of two
algorithms applied to portfolio selection models. The first one is Multicut Decomposition Algo-
rithm (MuDA) which modifies SDDP by including multiple cuts (instead of just one) per stage
and per iteration. The second, Cut Selection Multicut Decomposition Algorithms (CuSMuDA),
combines MuDA with cut selection strategies and, to the best of our knowledge, has not been
proposed so far in the literature. We compare two Cut Selection strategies, CS1 and CS2. We
run simulations for 6 different instances of the portfolio problem. The results show the attrac-
tiveness of CuSMUDA CS2, which was much quicker than MuDA (between 5,1 and 12,6 times
quicker) and much quicker than the other cut selection strategy, CuSMuDA CS 1 (between 10,3
and 21,9 times quicker).

Keywords: SDDP, Stochastic Optimization, Time Series, Bootstrap.


Lista de Figuras
2.1 Mapa da Hemorrede do Rio de Janeiro . . . . . . . . . . . . . . . . . . . . 9
2.2 Gráficos de linha das séries teporais de ofertas de sangue . . . . . . . . . 11

3.1 Evolução dos limites superiores 𝑧𝑠𝑢𝑝𝑖 e inferiores 𝑧𝑖𝑛𝑓


𝑖 ao longo das 𝑖 iterações dos
algoritmos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.2 Proporção média de cortes selecionados (ao longo das iterações do algoritmo) para
os estágios 𝑡 = 2,...,𝑇 pelos modelos CuSMuDA CS1 e CuSMuDA CS2 . . . . . . 29
3.3 Representação para os estágios 𝑡 = 2,...,𝑇 , com 𝑇 = 5, da proporção média de
cortes (ao longo das iterações dos algoritmos) selecionados para Q𝑡 (·,𝑟𝑡𝑗 ) como
função de 𝑗 = 1,...,𝑀 e 𝑀 = 20. Gráficos da esquerda consideram o modelo
CuSMuDA CS 1 e gráficos da direita o modelo CuSMuDA CS 2. . . . . . . . . . 30
3.4 Representação para os estágios 𝑡 = 2,...,𝑇 , com 𝑇 = 8, da proporção média de
cortes (ao longo das iterações dos algoritmos) selecionados para Q𝑡 (·,𝑟𝑡𝑗 ) como
função de 𝑗 = 1,...,𝑀 e 𝑀 = 10. Gráficos da esquerda consideram o modelo
CuSMuDA CS 1 e gráficos da direita o modelo CuSMuDA CS 2. . . . . . . . . . 31
Lista de Tabelas
2.1 Estatísticas de teste nos resíduos do VAR(2) . . . . . . . . . . . . . . . . . 13

3.1 Subconjuntos de ativos escolhidos . . . . . . . . . . . . . . . . . . . . . . . . 26


3.2 Tempo computacional (em minutos) para solucionar cada variação do
problema de portfólio com os algoritmos MuDA, CuSMuDA CS 1 e
CuSMuDA CS 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Sumário

1 Introdução 1
1.1 Estudo em tópicos de estatística e econometria . . . . . . . . . . . . . . . . . . . 1
1.2 Estudo em tópicos de otimização estocástica e computação . . . . . . . . . . . . . 2
1.3 Organização e Estrutura do Trabalho . . . . . . . . . . . . . . . . . . . . . . . . . 2

2 Modelo de simulação para séries de oferta de sangue 3


2.1 Fundamentos teóricos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2 Modelos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2.1 Vetores auto-regressivos (VAR) . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2.2 Simulação de Bootstrap . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.3 Dados e Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.3.1 Dados e implementação . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.3.2 Simulação Bootstrap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

3 Programação Dinâmica Dual Estocástica (PDDE) 15


3.1 Fundamentação Teórica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.1.1 Modelos probabilísticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.1.2 Programação Dinâmica Estocástica . . . . . . . . . . . . . . . . . . . . . . 16
3.1.3 Programação Dual Dinâmica Estocástica (PDDE ou SDDP em inglês) . . 18
3.1.4 Extensões do SDDP, Seleções de Corte e Algoritmos de decomposição mul-
ticortes (MuDA) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.2 Modelos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.2.1 Seleção de carteira . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.2.2 MuDA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.2.3 CuSMuDA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.3 Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

4 Conclusão 33
Referências Bibliográficas 34
Capítulo 1

Introdução
O presente trabalho foi dividido em abordagens distintas a dois problemas matemáticos e eco-
nométricos do mundo real. A primeira parte dedica-se ao estudo econométrico, onde foram
realizadas estimações de modelos econométricos e gerações de trajetórias futuras a séries de
oferta de sangue. A segunda parte dedica-se ao estudo de otimização estocástica, com aplicação
de extensões de métodos de programação dinâmica a modelos de gestão de portfólio e formulação
de uma nova estratégia para refinar os métodos atualmente utilizados pela literatura.

1.1 Estudo em tópicos de estatística e econometria

A gestão do banco de sangue nos postos de saúde e hospitais é uma tarefa complexa e de im-
portância primordial para as políticas de saúde no Brasil e no mundo. Bolsas de sangue estão
sujeitas a todo tipo de falhas desde o momento de sua coleta, passando pelo processamento da
matéria até os testes de qualidade. Além disso, há o desafio atrelado a estocagem de um bem
perecível como o sangue.1 A gestão bem sucedida de bolsas de sangue deve garantir o equaciona-
mento constante da oferta de sangue de hemocentros com a demanda por bolsas em hospitais e
postos médicos na assistência de enfermos, portadores de doenças, acidentados e casos cirúrgicos.

Para isto, é necessário controle do inventário e previsibilidade no fluxo de entrada e saída de


bolsas de sangue nos hemocentros, evitando tanto o desperdício quanto a escassez de bolsas de
sangue. Neste sentido, estudos buscando a melhora do processo são de grande importância, e
este trabalho busca colaborar na discussão propondo uma modelagem para as séries de oferta de
bolsas de sangue em hemocentros e um método para previsão de fluxos futuros.

Nosso trabalho propõe um método para modelagem, estimação e desenho de trajetórias fu-
turas para as séries de oferta de sangue, ensejando colaborar com a literatura do tema e, mais
amplamente, à literatura de gestão de estoque de bens perecíveis. Utilizamos séries diárias de
doações ao hemocentro Instituto Estadual de Hematologia Arthur de Siqueira Cavalcanti (HE-
MORIO), localizado no Rio de Janeiro, responsável por coletar, processar, armazenar e distribuir
o sangue e seus derivados a hospitais e postos de saúde da rede pública do Estado, e modelamos
as séries de oferta de sangue utilizando modelos econométricos consagrados, como Vetores Au-
torregressivos (VAR), e duas técnicas distintas de Bootstrap para geração de trajetórias futuras e
intervalos de confiança das previsões considerando erros não-Gaussianos. Conclui-se que ambas
técnicas são adequadas e abordagens possíveis para melhorar a previsibilidade das séries de oferta
de sangue.

1
O prazo de validade de uma bolsa de sangue varia com a forma como ela foi coletada, estando estimado entre
21 e 35 dias, segundo a Portaria 1.353 do Ministério da Saúde (Ministério de Saúde, 2013)
2

1.2 Estudo em tópicos de otimização estocástica e computação

Problemas de otimização estocástica buscam solucionar de forma eficiente situações reais, através
de modelos matemáticos onde os parâmetros estocásticos, i.e., os parâmetros cujo valor é incerto
no momento de definição das ações a serem tomadas, são representados por variáveis aleatórias.
Sendo bastante comuns em diversas áreas da ciência e engenharia, esses tipos de problemas são
amplamente explorados pela literatura em variadas formulações possíveis, desde problemas de
inventário ([62], [23]) até problemas de seleção de carteira ([5], [7], [34]).

Nosso trabalho dedica-se ao estudo de extensões do algoritmo de Programação Dinâmica Dual


Estocástica (Stochastic Dual Dynamic Programming, SDDP), uma técnica de amostragem base-
ada na Decomposição de Benders. Variantes do SDDP incluem modelos com múltiplos cortes
adicionados por iteração (Multicut Decomposition Algorithm, MuDA), aumentando a comple-
xidade de cada iteração do algoritmo, e estratégias de seleção de corte, aplicadas ao modelo
multicorte (Cut Selection Multicut Decomposition Algorithm, CuSMuDA). Apesar de técnicas de
seleção de corte aplicadas a modelos de multiplos cortes serem úteis para aceleração da conver-
gência do algoritmo, até o nosso conhecimento não foi proposto na literatura uma combinação
do método de MuDA com estratégias de seleção de corte. Além de estudarmos CuSMuDA com
uma estratégia de seleção de cortes conhecida na literatura, Level 1, propusemos a aplicação
ao caso estocástico da seleção de corte Limited Memory Level 1 apresentada em [32] para Dual
Dynamic Programming (versão determinística do SDDP).

O trabalho teve como objetivo estudar problemas de otimização estocástica sob a ótica dos
algoritmos de programação linear estocástica multiestágios, com atenção aos algoritmos MuDA,
CuSMuDA com estratégia de seleção de cortes Level 1 (CuSMuDa CS1) e CuSMuDA com estraté-
gia de seleção de cortes Limited Memory Level 1 (CuSMuDA CS2). Os modelos são formalmente
apresentados e aplicados ao problema clássico de seleção de carteira. Também são expostos os
resultados de experimentos numéricos em seis casos do problema de seleção de carteira, utili-
zando os três algoritmos (MuDA, CuSMuDA CS1 e CuSMuDA CS2). Os resultados mostram a
atratividade computacional da estratégia de seleção de cortes proposta CS2, que obteve tempos
computacionais entre 5,1 e 12,6 vezes menores que MuDA e entre 10,3 e 21,9 vezes menores que
CuSMuDA CS1.

1.3 Organização e Estrutura do Trabalho

O presente trabalho contém, além desta introdução, outros 3 capítulos.

O segundo capítulo apresenta todo o conteúdo do estudo em tópicos de estatística e econo-


metria, incluindo os fundamentos teóricos utilizados para a modelagem e geração de trajetórias
futuras das séries de oferta de sangue, os dados utilizados e resultados obtidos.

O terceiro capítulo apresenta todo o conteúdo do estudo em tópicos de otimização estocástica


e computação, apresentando a fundamentação teórica de otimização estocástica e do algoritmo
de SDDP e suas modificações principais na literatura, além de detalhar o desenvolvimento dos
algoritmos aos três modelos tratados nas simulações (MuDA, CusMuDA CS1 e CuSMuDA CS2)
aplicados ao problema de seleção de carteira e uma última seção com apresentação dos dados e
dos resultados obtidos. Finalmente, o quarto capítulo conclui o trabalho.
Capítulo 2

Modelo de simulação para séries de


oferta de sangue

2.1 Fundamentos teóricos

Sangue é um recurso essencial para procedimentos médico-cirúrgios, sendo fundamental que esse
valioso e limitado recurso esteja disponível a todos que precisam, sendo fundamental que se evite
ao máximo seu desperdício.[44]. O sangue é composto principalmente por quatro tipos diferentes
de hemocomponentes e hemoderivados, decorrentes de processos físicos e físico químicos realiza-
dos no material, sendo eles: concentrado de hemácias, concentrado de plaquetas, plasma fresco
congelado e crioprecipitado. Com exceção do plasma, todos os componentes são perecíveis, com
tempo de vida útil que chega, no máximo, a 35 dias (Concentrado de hemácias).1

Em 1901, Karl Landsteiner descobriu o que ficou conhecido como o sistema ABO, que clas-
sifica o sangue em quatro grupos principais, A, B, AB e O [50]. Em 1940, foi descoberto outro
sistema de grupamento de sangue, o sistema Rh, dando origem aos tipos sanguíneos Rh positivo
e Rh negativo. Seguindo os dois sistemas, há oito tipos sanguíneos: A+, A-, B+, B-, AB+, AB-,
O+ e O-.[51]

No Brasil, a coleta de sangue é feita através de doações voluntárias. O grupo representado


pelos doadores é diversificado, possuindo tanto doadores ocasionais quanto doadores frequentes,
e cujas restrições são condições tais como idade entre 18 e 65 anos, peso acima de 50 quilos e
aptidão médica. O tamanho usual de bolsa de sangue no Brasil é de cerca de 300 a 400 ml.[40]

Depois de coletado, o sangue é levado a laboratório, onde seu tipo sanguíneo é determinado
e são executados diversos testes de triagem, além de poder ser separado em hemocomponentes.
Caso seja considerado saudável, o sangue é estocado em um banco de sangue, onde ficará dispo-
nível para atendimento da demanda de hospitais solicitando o material para transfusões. Uma
única doação pode ajudar diversos pacientes, de acordo com quantos produtos foram processa-
dos a partir de uma única bolsa, dentre concentrado de hemácias, concentrado de plaquetas e
plasma.[40] 2 A maior parte da literatura na área é restrita ao estudo das Hemácias, que repre-
sentam o maior volume de transfusões.

Como doações de sangue são feitas voluntariamente, a quantidade de sangue doado recebido
1
O prazo de validade de uma bolsa de sangue varia com a forma como ela foi coletada, estando estimado entre
21 e 35 dias, segundo a Portaria 1.353 do Ministério da Saúde (Ministério de Saúde, 2013)
2
Hemácias são utilizadas em cirurgias e acidentes envolvendo grandes perdas de sangue, em pacientes anêmicos
e em bebês prematuros. Plaquetas são utilizadas em cirurgias e acidentes envolvendo grandes perdas de sangue
e no tratamento de câncer. Plasma é utilizado no tratamento de doenças do fígado e em casos de queimaduras.
4

por hemocentros para cada tipo sanguíneo é estocástica, assim como o número de transfusões
demandadas por cada hospital para cada tipo sanguíneo, e estas duas variáveis - oferta e de-
manda - devem ser levadas em conta pelo gestor de um banco de sangue. Parte fundamental do
esforço de hospitais para melhorar a gestão de bancos de sangue está em compreender os padrões
estatísticos dessas duas séries - através da análise estatística de dados históricos - de forma a
aumentar sua previsibilidade ([63]).

Há uma ampla literatura em problemas de inventário de produtos perecíveis ([54], [55], [63],
[29], [43], [56]). Alguns dos primeiros trabalhos que se concentraram na área de modelagem
da oferta e demanda de sangue representaram as séries de demanda sanguínea como seguindo
uma distribuição binomial negativa, com parâmetros que dependiam do tipo sanguíneo e dia da
semana, dentre outros ([20] e [21]). [57] formularam uma cadeia de Markov para o problema;
entretanto a abordagem foi posteriormente criticada, desde a alegação de violação da propriedade
memoryless exigida em processos de Markov até a dificuldade em se determinar no mundo real
as probabilidades de transição.3 . Até o melhor de nosso conhecimento, não encontramos traba-
lhos que modelassem as séries sanguíneas como variáveis contínuas e nem, tampouco, trabalhos
que modelassem conjuntamente as séries de sangue, capturando efeitos cruzados potencialmente
gerados pela substitutibilidade entre alguns tipos sanguíneos. Nossa escolha por esse tipo de
análise foi sua aplicação relativamente simples e com resultados bastante satisfatórios, com os
modelos estimados tendo boas performances com a base de dados utilizada.

Além dos métodos para modelagem das séries de oferta e demanda de sangue, também é de
interesse da literatura o desenho de trajetórias e modelos de previsão dos dados futuros. Por
exemplo, [25] desenvolveram modelos sofisticados de previsão da oferta de sangue para o sistema
regional de Albany, Nova Iorque, utilizando técnicas de suavização exponencial.

Nosso trabalho propõe um método para modelagem, estimação e desenho de trajetórias fu-
turas para as séries de oferta de sangue, ensejando colaborar com a literatura do tema e, mais
amplamente, à literatura de gestão de estoque de bens perecíveis. Utilizamos séries diárias de
doações ao hemocentro Instituto Estadual de Hematologia Arthur de Siqueira Cavalcanti (HE-
MORIO), localizado no Rio de Janeiro, responsável por coletar, processar, armazenar e distribuir
o sangue e seus derivados a hospitais e postos de saúde da rede pública do Estado, e modela-
mos as séries de oferta de sangue separadamente utilizando modelos econométricos consagrados,
como Vetores Autorregressivos (VAR), e duas técnicas distintas de Bootstrap para geração de
trajetórias futuras e intervalos de confiança das previsões considerando erros não-Gaussianos.
Conclui-se que ambas técnicas são adequadas e abordagens possíveis para melhorar a previsibi-
lidade das séries de oferta de sangue.

As próximas seções tratarão dos principais modelos utilizados no trabalho e apresentarão os


resultados das estimações e das simulações.

2.2 Modelos

Nesta seção será apresentado o modelo de séries temporais utilizado no presente trabalho e a
técnica utilizada para geração de trajetórias futuras. A metodologia consiste na estimação de
modelo por vetores autorregressivos (VAR), modificado para considerar o impacto de fatores
exógenos contemporâneos (VARX). Nosso modelo VARX é aplicado em duas etapas, a primeira
consistindo na estimação por Mínimos quadrados ordinários (MQO) das séries regredidas em
3
Para maiores detalhes, ver [42]
5

fatores exógenos contemporâneos, e a segunda consistindo na estimação por VAR das séries cor-
rigidas resultantes da primeira etapa. Ao longo de todo o processo são utilizados outros conceitos
e técnicas estatísticas como, notadamente, análises gráficas e testes de hipóteses. Finalmente, é
apresentado o conceito de bootstrap e as duas técnicas de bootstrap utilizadas para geração de
trajetórias futuras das séries de oferta de sangue.

2.2.1 Vetores auto-regressivos (VAR)


Modelos de vetores auto-regressivos (VAR) examinam relações lineares entre variáveis tratadas
como endógenas e os valores defasados delas próprias e das demais.

Seja 𝑌𝑡 = (𝑌1𝑡 ,...,𝑌𝐾𝑡 )′ ∈ R𝑘 um vetor aleatório das variáveis de interesse. Seja o modelo
estrutural

𝐶𝑌𝑡 = 𝐵0 + 𝐵1 𝑌𝑡−1 + ... + 𝐵𝑝 𝑇𝑡−𝑝 + 𝐵𝑣𝑡 , 𝑡 = 0,1,2... (2.1)


no qual 𝐶 é uma matriz 𝐾 × 𝐾 que define as restrições contemporâneas entre as variaveis
que constituem 𝑌𝑡 , 𝐵0 é um vetor 𝐾 × 1 de termos de intercepto, 𝐵𝑖 s são matrizes 𝐾 × 𝐾 de
coeficientes, 𝐵 é uma matriz diagonal 𝐾 ×𝐾 de desvios padrão e 𝑣𝑡 é um vetor 𝑘 ×1 de perturba-
ções aleatórias não correlacionadas entre si contemporânea ou temporalmente, i.e., 𝑣𝑡 𝑖.𝑖.𝑑(0; 𝐼𝐾 ).

O modelo VAR(p) na forma reduzida é dado por:

𝑌𝑡 = 𝐶 −1 𝐵0 +𝐶 −1 𝐵1 𝑌𝑡−1 +...+𝐶 −1 𝐵𝑝 𝑇𝑡−𝑝 +𝐶 −1 𝐵𝑣𝑡 = 𝜈 +𝐴1 𝑌𝑡−1 +...+𝐴𝑝 𝑌𝑡−𝑝 +𝑢𝑡 , 𝑡 = 0,1,2...
(2.2)

no qual o vetor de erros i.i.d. 𝑢𝑡 é tal que 𝐸(𝑢𝑡 ) = 0 e 𝐸(𝑢𝑡 𝑢𝑡 ) = Σ𝑢 , onde Σ𝑢 é uma matriz
simétrica positiva definida 𝐾 × 𝐾 .

A condição de estacionariedade de um VAR estacionário diz que as raízes da equação carac-


terísticas 𝑑𝑒𝑡(𝐼𝐾 − 𝐴1 𝑧 − ... − 𝐴𝑝 𝑍 𝑝 ) = 0 estão fora do círculo unitário, onde 𝐼𝐾 é uma matriz
identidade 𝐾 × 𝐾 e 𝑑𝑒𝑡(·) denota o determinante de uma matriz.

Dadas 𝑛 realizações de (2.2), podemos utilizar o método de MQO para estimar de forma
eficiente os parâmetros, desde que incluidos lags suficientes de todas as variáveis e a equação
satisfaça a hipótese de homocedasticidade para séries temporais (para maiores detalhes, ver [52])

Critérios de informação de Akaike e Schwarz


A determinação da ordem 𝑝 do modelo pode ser feita de duas formas: teste da razão de
verossimilhanças ([13]) e critérios de informação.

Dois dos critérios de informação mais populares na literatura são Akaike [1] e Schwarz Baye-
siano [24], dados por

Critério de informação de Akaike


ˆ
∑︁ 2
𝐴𝐼𝐶(𝑞) = 𝑙𝑜𝑔| (𝑞) + 𝑞𝑚2
𝑣
𝑇

Critério de informação de Schwarz


ˆ
∑︁ 𝑙𝑜𝑔𝑇
𝑆𝐵𝐼𝐶(𝑞) = 𝑙𝑜𝑔| (𝑞) + 𝑞𝑚2
𝑣
𝑇
6

Previsão do modelo VAR


Dadas 𝑛 realizações (𝑌1 ,...,𝑌𝑛 ) de (2.2), é possível gerar previsões potenciais para o período
𝑛 + ℎ em 𝑛 da seguinte forma

ˆ (ℎ)
ˆ (ℎ) + ... + 𝐴ˆ𝑝 𝑌𝑛−𝑝
𝑌ˆ𝑛 (ℎ) = 𝜈ˆ + 𝐴ˆ1 𝑌𝑛−1 (2.3)

onde 𝑌ˆ𝑛 (𝑗) = 𝑌𝑛+𝑗 para 𝑗 ≤ 0.


Modelo VARX(p,n) Em nosso trabalho, utilizamos uma modificação do modelo VAR tra-
dicional que considera a inclusão de variáveis exógenas em (2.2), representadas por 𝑋𝑡 vetor
𝑛 × 1 contendo 𝑛 variáveis exógenas a 𝑌𝑡 . A forma escolhida para estimação do nosso modelo
VARX(p,n) foi a realização de estimação em duas partes.4

Na primeira, estima-se o seguinte modelo MQO 5 :

𝑦𝑖 = 𝑐𝑖 + 𝑥𝑖 𝛽 + 𝜖𝑖 , 𝑖 = 1,...,8 (2.4)

no qual 𝑖 representa o tipo sanguíneo considerado, 𝑦𝑖 é um vetor 𝑇 × 1 da série de oferta do


i-ésimo tipo sanguíneo, 𝑐𝑖 é o intercepto, 𝑥𝑖 é um vetor 𝑇 × 𝑛𝑖 das 𝑛𝑖 variáveis exógenas a 𝑦𝑖
identificadas e 𝜖𝑖 é o vetor 𝑇 × 1 de resíduos do modelo.

Repare que podemos escrever (2.4) como 𝜖𝑖 = 𝑦𝑖 − 𝑐𝑖 − 𝑥𝑖 𝛽 , o que nos ajuda a compreender
a interpretação de 𝜖 como sendo a série de oferta do i-ésimo tipo sanguíneo, retirados os efeitos
exógenos contemporâneos. Assim, a partir da estimação de (2.4) é possível obtermos 𝜖ˆ𝑖 ∀𝑖.

ˆ
Assim, definindo 𝑌𝑡 = [(𝑦1𝑡 − 𝑥1𝑡 𝛽),...,(𝑦 ˆ ′
8𝑡 − 𝑥8𝑡 𝛽)] = [𝜖ˆ 8𝑡 ] , estimamos nosso modelo
1𝑡 , ..., 𝜖ˆ

VAR(p) seguinte a equação (2.2).

2.2.2 Simulação de Bootstrap


A técnica de Bootstrap é indicada para problemas nos quais os procedimentos estatísticos conven-
cionais sejam de difícil aplicação. Por causa de sua generalidade, técnicas de Bootstrap têm sido
aplicadas a uma classe extensa de problemas, desde a obtenção de estimativas de erros padrões
e intervalos de confiança até a geração de cenários e trajetórias futuras. Em séries temporais,
a utilização da técnica de Bootstrap surgiu em 1984, quando a metodologia foi aplicada num
contexto econométrico para previsão de demanda de energia no mercado americano [67]. Mais
tarde outros trabalhos surgiram e estudou-se a estimação do erro-padrão das estimativas dos
parâmetros dos modelos de previsão.

Operacionalmente, o método de simulação por reamostragem de Bootstrap consiste em um


sorteio com reposição dos elementos de uma amostra aleatória, gerando uma "amostra Boots-
trap ", de tamanho igual à original. Extrai-se um número suficiente de amostras6 a fim de se
obter a "distribuição Bootstrap "de qualquer estatística de interesse do pesquisador. Desta forma,
o conjunto de observações Bootstrap corresponde a uma estimativa da verdadeira distribuição
amostral da estatística em questão. Como mostrado em [19], a distribuição Bootstrap converge
assintoticamente para a distribuição verdadeira da estatística.

4
para maiores detalhes sobre a metodologia VARX, ver [22]
5
Para maiores detalhes sobre o MQO, ver [18]
6
Segundo [15], o número de reamostragens necessárias para se obter boas estimativas, em intervalos de confiança
e problemas de testes de hipóteses, seria de pelo menos 1000 repetições Bootstrap
7

Bootstrap para simulações VAR(p) com erros não Gaussianos


A maior parte da literatura de previsão de modelos VAR foca na previsão pontual de cada
uma das variáveis do sistema. Dois problemas podem acarretar deste tipo de previsão: erro de
previsão quando as variáveis do sistema são condicionais a valores das outras variáveis e o inte-
resse de previsão múltiplos períodos a frente, que deve incorporar a incerteza acerca da evolução
futura das variáveis de interesse [26].

Uma forma de solucionar esta questão é assumir erros de previsão Gaussianos em um modelo
𝑉 𝐴𝑅(𝑝), porém esta opção acarreta em problemas associados com a determinação de lag do
modelo, como tratado em detalhes em [45]. Além disso, a evidência empírica sugere que séries
temporais constantemente rompem com a hipótese Gaussiana ([39], [46]).

Uma forma de construir densidades de previsão multivariadas incorporando as incertezas dos


parâmetros e da ordem do VAR, sem depender de hipóteses sobre a distribuição dos erros, é uti-
lizando bootstraps não paramétricos (veja [6] para uma revisão de procedimentos de bootstrap em
séries temporais). No presente trabalho, consideraremos dois métodos de bootstrap para geração
de trajetórias futuras de modelo VAR: [48] e [26].

Bootstrap Backward [48]


O método de bootstrap para previsão de VAR(p) estacionários introduzido por [48] é uma
extensão do procedimento proposto por [68] para processos univariados auto-regressivos 𝐴𝑅(𝑝).
O método utiliza a representação backwards do modelo VAR para geração de pseudo dados
amostrais in sample (trajetórias de bootstrap in sample ), utilizados para replicar os parâmetros
estimados. As trajetórias futuras são obtidas a partir de bootstrap no modelo VAR utilizando
os estimadores obtidos pelo VAR backward particular de cada trajetória in sample e do sorteio
com reposição dos resíduos originais no VAR.

Assim, considere o modelo 𝑉 𝐴𝑅(𝑝) dado pela equação (2.2). O modelo é estacionário, de
modo que todas as raízes da equação característica 𝑑𝑒𝑡(𝐼𝐾 − 𝐴1 𝑧 − ... − 𝐴𝑝 𝑧 𝑝 ) = 0 encontram-se
fora do círculo unitário.

Dadas 𝑛 realizações de (𝑌1 ,...,𝑌𝑝 ) de (2.2), podemos estimar os parâmetros do modelo pelo
método de mínimos quadrados, denotando por (ˆ 𝜈 , 𝐴ˆ1 , ..., 𝐴ˆ𝑝 ) os estimadores de MQO para
(𝜈,𝐴1 ,...,𝐴𝑝 ) e 𝑢ˆ𝑡 os resíduos de MQO.

Considere o modelo VAR backward associado ao modelo VAR da equação (2.2)

𝑌𝑡 = 𝜇 + 𝐻1 𝑌𝑡+1 + ... + 𝐻𝑝 𝑌𝑡+𝑝 + 𝜔𝑡 , 𝑡 = 0,1,... (2.5)


no qual 𝐻∑︀
𝑖 são matrizes
∑︀ 𝐾×𝐾 de coeficientes, 𝜔𝑡 é um vetor aleatório 𝐾×𝐾 tal que 𝐸(𝜔𝑡 ) = 0

e 𝐸(𝜔𝑡 𝜔𝑡 ) = 𝜔 , onde 𝜔 é uma matriz 𝐾 ×𝐾 simétrica positiva definida com elementos finitos.

Os modelos VAR ’forward ’ (equação (2.2)) e VAR backward (equação (2.5)) são intimamente
′ ′
relacionados; por exemplo, 𝐻1 = Γ−1 𝐴1 Γ, onde Γ = 𝐸(𝑌𝑡 𝑌𝑡 ) para o caso VAR(1) (ver [47] para
maiores detalhes).

𝜇,𝐻ˆ1 ,...,𝐻ˆ𝑝 ) e
Denotamos os estimadores de MQO da equação (2.5) de (𝜇, 𝐻1 , ..., 𝐻𝑝 ) por (ˆ
𝜔ˆ𝑡 os resíduos de MQO.
8

Podemos gerar um conjunto de pseudo-dados recursivamente baseado na equação (2.5) da


seguinte forma:

𝑌𝑡* = 𝜇 + 𝐻1 𝑌𝑡+1
* *
+ ... + 𝐻𝑝 𝑌𝑡+𝑝 + 𝜔𝑡* , (2.6)

sendo que os 𝑝 primeiros valores da equação são definidos como idênticos aos 𝑝 últimos valores
da série original e 𝜔𝑡* é retirado aleatoriamente de {𝜔ˆ𝑡 }𝑛𝑡=1 com reposição.

Assim, é possível gerar conjuntos de pseudo-dados in sample cujas últimas p observações,


nas quais as previsões do VAR se baseiam, são idênticas aos últimos p valores da série original.

A previsão de bootstrap para o período 𝑛 + ℎ no período 𝑛 pode ser gerada como

𝑌𝑛* (ℎ) = 𝜈 * + 𝐴*1 𝑌𝑛* (ℎ − 1) + ... + 𝐴*𝑝 𝑌𝑛* (ℎ − 𝑝) + 𝑢*𝑛+ℎ (2.7)

sendo que 𝑌𝑛* (𝑗) = 𝑌𝑛+𝑗 para 𝑗 ≤ 0, 𝑢*𝑛+ℎ é sorteado aleatoriamente de {𝑢ˆ*𝑡 }𝑛𝑡=1 com reposi-
ção e (𝜈 * ,𝐴*1 , ..., 𝐴*𝑝 ) são os estimadores de MQO para (𝜈, 𝐴1 , ..., 𝐴𝑝 ) obtidos pelos pseudo-dados
{𝑌𝑡* }𝑛𝑡=1 . A geração de 𝐵 conjuntos de pseudo-dados {𝑌𝑡* (ℎ,𝑖)}𝐵 𝑖=1 permite, portanto, a geração
de 𝐵 previsões de bootstrap baseadas na equação (2.7). A partir das 𝐵 trajetórias futuras tam-
bém é possível obter intervalos de previsão com (1 − 𝛼)100% de significância. Para tal, a cada
ℎ ≥ 1, ordena-se em ordem crescente {𝑌𝑛* (ℎ,𝑖)}𝐵 𝑖=1 , de modo que 𝑌𝑛 (ℎ,1) possui o menor valor
*

dentre as 𝐵 trajetórias em 𝑛 + ℎ e 𝑌𝑛 (ℎ,𝐵) o maior valor. O intervalo de confiança de previsão


*
𝛼 𝛼
de 𝑌𝑛+ℎ a (1 − 𝛼)100% de significância é [𝑌𝑛* (ℎ, 100%𝐵),𝑌𝑛* (ℎ,1 − 100%𝐵)].
2 2

Bootstrap Forward [26]


O método de bootstrap proposto em [26] evita o uso da representação backward, o que o torna
adequado para outras modelagens além do VAR, como modelos VARMA ou VAR-GARCH. O
método utiliza as primeiras 𝑝 observações dos dados e sorteio com reposição dos resíduos esti-
mados por MQO do modelo VAR para gerar trajetórias in sample. As trajetórias futuras são
obtidas a partir de bootstrap no modelo VAR utilizando os últimos 𝑝 valores da amostra original,
os parâmetros estimados por bootstrap nas trajetórias in sample e o sorteio com reposição dos
resíduos originais no VAR.

Assim, da mesma forma que anteriormente, dadas 𝑛 realizações de (𝑌1 ,...,𝑌𝑝 ) de (2.2), po-
demos estimar os parâmetros do modelo pelo método de mínimos quadrados, denotando por
𝜈 , 𝐴ˆ1 , ..., 𝐴ˆ𝑝 ) os estimadores de MQO para (𝜈,𝐴1 ,...,𝐴𝑝 ) e 𝑢ˆ𝑡 os resíduos de MQO.

Podemos gerar um conjunto de pseudo-dados recursivamente da seguinte forma:

𝑌𝑡* = 𝜈 + 𝐴1 𝑌𝑡−1
* *
+ ... + 𝐴𝑝 𝑌𝑡−𝑝 + 𝑢*𝑡 , (2.8)

sendo que os 𝑝 primeiros valores da equação são definidos como idênticos aos 𝑝 primeiros
valores da série original e 𝑢*𝑡 é retirado aleatoriamente de {𝑢ˆ𝑡 }𝑛𝑡=1 com reposição. A estimação
da equação (2.8) por MQO gera o conjunto de estimadores (𝜈 * ,𝐴*1 , ..., 𝐴*𝑝 ) para (𝜈, 𝐴1 , ..., 𝐴𝑝 ).

A previsão de bootstrap para o período 𝑛 + ℎ no período 𝑛 pode ser gerada como

𝑌𝑛* (ℎ) = 𝜈 * + 𝐴*1 𝑌𝑛* (ℎ − 1) + ... + 𝐴*𝑝 𝑌𝑛* (ℎ − 𝑝) + 𝑢*𝑛+ℎ (2.9)


9

sendo que 𝑌𝑛* (𝑗) = 𝑌𝑛+𝑗 para 𝑗 ≤ 0, 𝑢*𝑛+ℎ é sorteado aleatoriamente de {𝑢ˆ*𝑡 }𝑛𝑡=1 com reposi-
ção. A geração de 𝐵 conjuntos de pseudo dados {𝑌𝑡* (ℎ,𝑖)}𝐵𝑖=1 permite, portanto, a geração de 𝐵
previsões de bootstrap baseadas na equação (2.9).

Da mesma forma que em [48], a partir das 𝐵 trajetórias futuras podemos obter intervalos de
previsão, como descrito anteriormente.

As previsões bootstrap convergem estocasticamente quando 𝑛 cresce aos valores futuros ver-
dadeiros da distribuição ([26]), o que torna o uso do bootstrap robusto para diversos enfoques,
inclusive para o cálculo de intervalos de previsão do VAR.

2.3 Dados e Resultados

2.3.1 Dados e implementação

O presente estudo utilizou dados obtidos junto ao Hemocentro Instituto Estadual de Hematologia
Arthur de Siqueira Cavalcanti (HEMORIO)7 , Hemocentro coordenador da Rede de Hemoterapia
pública do Estado do Rio de Janeiro (figura 1), responsável por coletar, processar, armazenar e
distribuir o sangue e seus derivados a hospitais e postos de saúde da rede pública do Estado.

Figura 2.1: Mapa da Hemorrede do Rio de Janeiro

7
HEMORIO, Rua Frei Caneca, 8, Centro - Rio de Janeiro
10

Fundado em 1944 como o primeiro Banco de sangue do Brasil, o HEMORIO já distribuía


sangue para hospitais de emergência desde sua fundação, apesar de o serviço de Hematologia só
ter sido implantado em 1956. Atualmente, o HEMORIO abastece com sangue e derivados cerca
de 200 unidades de saúde, e recebe em média cerca de 350 doadores voluntários de sangue por
dia. Além disso, possui um serviço de Hematologia, com mais de 10 mil pacientes ativos, que
realizam tratamentos de doenças hematológicas.

Os dados foram coletados do histórico de Expedição de componentes do HEMORIO. Este


banco de dados registra diariamente as bolsas de sangue doadas à Rede de Hematologia do HE-
MORIO, informando data de coleta, grupo ABO, fator Rh e componente. Toda bolsa de sangue
coletada, independente do processamento utilizado, gera um bolsa de concentrado de hemácias,
que é o hemocomponente de maior interesse para utilização em hospitais e centros cirúrgicos,
tornando-se assim o foco do nosso estudo.

Todas as análises estatísticas, econométricas e simulações de bootstrap foram implementadas


utilizando o software RStudio, baseado na linguagem de programação R.

Estatísticas descritivas
Designaremos as oito séries de oferta de sangue como as séries históricas diárias do total de
unidades de bolsas de concentrado de hemácias resultantes das doações de sangue de cada um
dos 8 tipos sanguíneos existentes (A positivo, A negativo, B positivo, B negativo, AB positivo,
AB negativo, O positivo e O negativo). O período da amostra obtida compreende desde 1º de
janeiro de 2013 até 09 de dezembro de 2015, totalizando 1.073 observações.

A figura 2.2 registra a série histórica obtida para cada tipo sanguíneo

As séries históricas de oferta de sangue podem ser observadas na figura 2.2.


Através da análise do banco de dados e das funções de autocorrelação e autocorrelação parcial,
foi possível tirar algumas conclusões a respeito das séries de oferta. Primeiramente, observar que
os tipos sanguíneos O positivo e A positivo são os mais frequentes entre os doadores da amostra,
com médias diárias de 81,8 bolsas e 57,0 bolsas, respectivamente. Entre os tipos sanguíneos de
menor frequência da amostra estão B negativo e AB negativo, o último consistindo basicamente
de valores 0 e 1.

Mínimos Quadrados Ordinários


A observação dos dados das séries de oferta, além da consideração das funções de autocorrelação
e autocorrelação parcial (FAC e FACP) das séries individuais de oferta de sangue, mostraram
que elas possuem sazonalidade semanal, com dias de semana possuindo maior fluxo de doadores
que finais de semana. Além disso, há períodos das séries considerados outliers negativos - pe-
ríodos com menor fluxo de doações, como Natal, Ano novo e o período que compreende a Copa
do Mundo no Brasil - e períodos considerados outliers positivos - períodos com maior fluxo de
doações, como os de Campanhas de doação. Estas descobertas estão em linha com estudos ante-
riores, como o de [16], que conclui que as séries de sangue não aparentam sazonalidade no ano,
mas apresentam variações ao longo dos dias da semana, com maiores taxas sendo registradas
usualmente nas segundas, terças e quartas feiras e menores taxas nos finais de semana e feriados.
Ainda, o tipo sanguíneo AB- parece não responder adequadamente aos mesmos estímulos que
os outros, não possuindo sazonalidade aparente nem outliers consistentes ao longo dos anos da
amostra8 .
8
A série apresenta apenas um forte outlier no período de 08 a 10 de outubro de 2014
11

Tipo A+ Tipo A−

30
200
25
150
20

100 15

10
50
5

0 0

2013.0 2013.5 2014.0 2014.5 2015.0 2015.5 2016.0 2013.0 2013.5 2014.0 2014.5 2015.0 2015.5 2016.0

Tipo B+ Tipo B−

10
60
8

40 6

4
20
2

0 0

2013.0 2013.5 2014.0 2014.5 2015.0 2015.5 2016.0 2013.0 2013.5 2014.0 2014.5 2015.0 2015.5 2016.0

Tipo AB+ Tipo AB−

25 12
10
20
8
15
6
10
4
5 2
0 0

2013.0 2013.5 2014.0 2014.5 2015.0 2015.5 2016.0 2013.0 2013.5 2014.0 2014.5 2015.0 2015.5 2016.0

Tipo O+ Tipo O−
60
300 50
250
40
200
30
150
20
100
50 10

0 0

2013.0 2013.5 2014.0 2014.5 2015.0 2015.5 2016.0 2013.0 2013.5 2014.0 2014.5 2015.0 2015.5 2016.0

Figura 2.2: Gráficos de linha das séries teporais de ofertas de sangue


12

Portanto, o primeiro passo para a estimação do modelo envolveu a dessazonalização das séries
e controle dos efeitos contemporâneos incidentes. Para isso, estimaram-se regressões lineares
individuais pelo método de Mínimos Quadrados Ordinários, como o modelo descrito abaixo

𝑦𝑡𝑖 = 𝑥𝑡𝑖 𝛽𝑖 + 𝜖𝑡 , 𝑡 = 1,...,𝑇, 𝑖 ∈ 𝐴 + ,𝐴 − ,𝐵 + ,𝐵 − ,𝐴𝐵 + ,𝑂 + ,𝑂− (2.10)

no qual 𝑇 é o tamanho da amostra (1.073 observações), 𝑖 designa o tipo sanguíneo, e o vetor


𝑥𝑡𝑖 de variáveis explicativas possui, além do intercepto, 6 dummies referentes a diferentes dias
da semana, uma dummy de tendência para o período entre 1º janeiro e o início do Carnaval
9 , uma dummy para os dois dias da campanha nacional de doação de sangue, que ocorre em

novembro anualmente, e dummies para os feriados ocorridos no período, o que compreende uma
dummy Copa do Mundo, que controla pelos diversos feriados que a cidade teve em dias de jogos
do campeonato ocorridos na cidade do Rio de Janeiro, uma dummy para o dia 1º de janeiro,
quando o Hemorio não coleta doações, uma dummy para o Natal, uma dummy para o Reveillon.

Nossa hipótese é de que há dependência temporal nas séries, de modo que a estimação dos
modelos individuais de regressão linear por MQO apresentou o problema de autocorrelação dos
resíduos, comprometendo as estatísticas de testes de hipóteses.10 Para correção do problema, foi
feita a estimativa da variância dos estimadores de MQO pelo método de Newey-West. No Anexo
I estão os gráficos das séries amostrais e estimadas pelo modelo da equação (2.10), além dos
gráficos dos resíduos estimados por MQO. Também podem ser vistos em detalhes os sumários
das regressões de cada série.

Vetores Autorregressivos
Do primeiro passo de MQO, obtemos séries dessazonalizadas e corrigidas para os efeitos descritos
e podemos passar para a definição de defasagem do VAR a ser considerado, que utiliza como
variáveis dependentes os resíduos estimados de MQO dos sete tipos sanguíneos A+, A-, AB+,
B+, B-, O+ e O-.

Os critérios de informação Akaike e Schwartz indicaram defasagem apropriada de um lag, i.e.,


que o modelo apropriado seria o VAR(1). Foi feita a estimação do VAR(1) e posterior análise
dos gráficos de FAC e FACP, onde se verificou que o modelo não estava bem especificado, tendo
sido observados resíduos autocorrelacionados para as regressões das séries A+ e O+.

Portanto, aumentou-se a defasagem, estimando-se o modelo VAR(2). Apesar de menos par-


cimonioso que o modelo VAR(1), o modelo VAR(2) estimado controlou a autocorrelação serial
dos erros observada no VAR(1) pela inclusão de mais um lag das séries explicativas. Os valores
estimados do modelo encontram-se na tabela 2.1 abaixo.

O anexo II mostra os gráficos dos resíduos de cada série proveniente do VAR(2), além de seus
histogramas, qq plot, FAC e FACP. Com o auxílio dos gráficos e com as estatísticas dos testes
Jarque-Bera ([41]), feitas em cada série de resíduos, para verificação de normalidade, pôde-se
9
Em função do aumento da demanda por sangue no período que compreende o Carnaval no Rio de Janeiro,
o Hemorio faz um esforço de campanha desde o começo do ano para abastecimento dos estoques de sangue da
instituição
10
Um ajuste fino feito inicialmente no modelo considerou a significância dos estimadores obtidos, dada pela
estatística t, para fazer regressões personalizadas por tipo sanguíneo, incluindo conjunto possivelmente menor dos
estimadores inicialmente considerados. Com as estatísticas Wald, foram feitos testes de restrição dos coeficientes
para entender se os efeitos das dummies explicativas eram diferentes em anos distintos. Como ambas análises pro-
duziram pouca diferença em relação às regressões sem restrições, por simplicidade e automatização computacional
elas foram desconsideradas.
13

Tabela 2.1: Estatísticas de teste nos resíduos do VAR(2)


Média Dp Kurtose skewness JB estatística JB p valor
A+ -0.03 14.21 0.34 0.14 8.76 0.013
A- 0.00 2.94 0.73 0.56 81.09 0.000
B+ -0.00 6.24 0.86 0.36 56.61 0.000
B- 0.00 1.56 1.14 0.78 168.19 0.000
AB+ 0.00 2.78 0.76 0.54 78.62 0.000
O+ -0.04 19.21 0.98 0.19 180.54 0.000
O- -0.00 4.41 0.33 0.37 49.62 0.000
AB- 0.78 1.06 19.14 2.99 29.81 0.000

comprovar que tais séries, com fracas exceções, não poderiam ser consideradas como advindas
de distribuições Gaussianas.

Apesar de não seguirem distribuição normal, as séries de resíduo estimadas do VAR(2) são
independentes e identicamente distribuídas (iid), como verificado pelo teste BDS([11]). 11 No
Anexo III é possível acessar as estatísticas dos testes Jarque-Bera e BDS a cada uma das séries.

2.3.2 Simulação Bootstrap


Foram seguidas três metodologias para simulação de cenários futuros de cada série de oferta
sanguínea (com exceção do AB-).

A primeira considera, erroneamente, que os resíduos advindos da estimação do VAR(2) são


Gaussianos. A segunda e terceira metodologia utilizam o bootstrap backward [48] e o bootstrap
forward [26] citados anteriormente, que tratam de simulações com erros não-Gaussianos.

Em todas as três metodologias, as trajetórias futuras para a série de oferta de sangue do tipo
sanguíneo AB- foram obtidas por processo de Monte Carlo ([53]), através do sorteio sequencial,
com reposição, de valores amostrais da série.

Para as três metodologias consideraram-se 𝐵 = 2.000 trajetórias com horizonte de previsão


ℎ = 30 dias para cada tipo sanguíneo, a começar imediatamente ao fim da amostra disponível,
i.e., 𝑛 = 𝑇 . A média das trajetórias dá a estimativa futura 1 a 30 dias a frente, e os 2,5% valores
mais baixos e os 2,5% valores mais altos em cada momento 𝑡 a frente determinam o intervalo de
confiança da previsão.

Neste momento, faz-se necessário um comentário acerca da escolha pela modelagem contínua
das séries. Como consequência da escolha de modelagem feita das séries nesse trabalho, em al-
gumas das trajetórias calculadas foram obtidos valores negativos às variáveis de oferta. A forma
escolhida para tratar a questão foi a imposição de mínimo zero para todas as observações gera-
das, de forma que todas as observações negativas foram artificialmente substituídas por valores
nulos.

Bootstrap Gaussiano
Usada como base de comparação para as outras duas metodologias, a simulação Gaussiana
consiste na geração de trajetórias de bootstrap futuras utilizando os parâmetros estimados no
modelo VAR(2) e da hipótese que os erros são Gaussianos. Este é um bootstrap paramétrico,
onde ao invés de se sortear da distribuição amostral dos erros, se sorteia da distribuição teórica -
11
Todos os testes foram feitos com m igual a 6 e erro variando entre 0,5 e 2,5 desvios padrão
14

no caso, 𝑁 (0, ˆ 𝑢 ), onde ˆ 𝑢 é a matriz variância covariância dos erros amostrais. Após a geração
∑︀ ∑︀
das trajetórias futuras do VAR(2), é realizado processo de recuperação dos valores de interesse,
que são estimações para as séries de oferta de sangue. Assim, percorre-se o caminho inverso à
estimação, construindo as trajetórias ao modelo de MQO a partir das trajetórias do modelo VAR
e, posteriormente, discretizando os valores obtidos para conversão das trajetórias em trajetórias
de número de bolsas de sangue ofertadas por dia, por tipo sanguíneo.

Os gráficos finais de cada tipo sanguíneo, contendo as 2.000 trajetórias, a previsão da série
(média das trajetórias em cada 𝑡, 𝑡 = {1,...,30}), e o intervalo de confiança de 95% encontram-se
no Anexo IV.

Bootstrap backward [48]


Seguindo [48], tal simulação é utilizada para quando os resíduos são não-Gaussianos. O mé-
todo envolve a estimação de um VAR(2) backwards, utilizado posteriormente na geração de novas
trajetórias in sample, que por sua vez servirão para uma nova estimação de parâmetros do mo-
delo VAR(2) tradicional e geração de trajetórias futuras pelo sorteio com reposição dos resíduos
originais no VAR (2) calculados sob os novos estimadores obtidos pelo VAR(2) particular de
cada trajetória.12

Os gráficos de cada tipo sanguíneo, contendo as 2.000 trajetórias, a previsão da série (média
das trajetórias em cada 𝑡, 𝑡 = {1,...,30}), e o intervalo de confiança de 95% encontram-se no
Anexo V.

Bootstrap forward [26]


Também utilizada quando os resíduos não são Gaussianos, tal bootstrap difere do método de
[48] por não exigir uma estimação de um VAR(2) backwards. Em [26], as trajetórias in sample
possuem todas os mesmos 2 primeiros valores e são geradas através dos estimadores já estimados
no VAR(2) tradicional e de sorteio dos resíduos originais do VAR(2). O resto do processo é idên-
tico a [48], utilizando tais trajetórias para novas estimações dos parâmetros do modelo VAR(2)
tradicional e geração de trajetórias futuras pelo sorteio com reposição dos resíduos originais no
VAR (2) calculados sob os novos estimadores obtidos pelo VAR(2) particular de cada trajetória.

Os gráficos de cada tipo sanguíneo, contendo as 2.000 trajetórias, a previsão da série (média
das trajetórias em cada 𝑡, 𝑡 = {1,...,30}) e o intervalo de confiança de 95%, juntamente com a
comparação com o método de [48], encontram-se no Anexo VI.

Para todos os tipos sanguíneos considerados, os resultados de Bootstrap dos métodos não
Gaussianos são similares sob o modelo VAR(2). Em ambos métodos observam-se valores espera-
dos dado pelas trajetórias como similares ao encontrado pelo Bootstrap Gaussiano. A principal
diferença entre este e os dois métodos não Gaussianos está na construção dos intervalos de con-
fiança, que são mais ruidosos, em linha com o esperado. Conclui-se que ambas metodologias de
Bootstrap não Gaussiano são adequadas e abordagens possíveis para melhorar a previsibilidade
das séries de oferta de sangue.

12
Para detalhes, ver [48]
Capítulo 3

Programação Dinâmica Dual


Estocástica (PDDE)

3.1 Fundamentação Teórica

Problemas de otimização estocástica buscam solucionar de forma eficiente situações reais, através
de modelos matemáticos onde os parâmetros estocásticos, i.e., os parâmetros cujo valor é incerto
no momento de definição das ações a serem tomadas, são representados por variáveis aleatórias.
Sendo bastante comuns em diversas áreas da ciência e engenharia, esses tipos de problemas são
amplamente explorados pela literatura em variadas formulações possíveis, desde problemas de
inventário ([62], [23], [66]) até problemas de seleção de carteira ([5], [7], [34], [66]).

Tipicamente, um problema de otimização estocástica busca minimizar o valor esperado de


uma função objetivo ao longo de um horizonte de planejamento em um espaço de probabilidade
determinado. O horizonte de planejamento se divide em estágios, períodos de tempo onde os
parâmetros estocásticos adquirem valores específicos para o estágio, revelando assim parte da
incerteza do problema. Em problemas com múltiplos estágios, é comum representar por uma
árvore de cenários o conjunto de todos os valores possíveis às variáveis aleatórias assumirem
em todo o horizonte de planejamento, onde cada cenário representa uma realização possível às
variáveis aleatórias ao longo dos estágios do problema. O objetivo do problema de otimização
estocástica é determinar a melhor decisão a ser tomada diante da incertezas apresentadas pelas
variáveis aleatórias e os vários cenários.

3.1.1 Modelos probabilísticos

Na literatura é possível encontrar diferentes métodos para abordagem do problema de otimiza-


ção estocástica de forma a incorporar e tratar as incertezas, dentre eles métodos de programação
estocástica. A programação estocástica trata de problemas de otimização com parâmetros que
assumem uma distribuição de probabilidade discreta ou contínua e pode ser dividida em Mo-
delos de Recurso (recourse models ) e Modelos Probabilísticos (chance-constrained programming ).

Enquanto Modelos de Recurso ([17], [4], [66]) utilizam abordagem reativa, corrigindo viola-
ções a restrições após a realização das incerteza, Modelos Probabilísticos ([14], [66]) expressam
restrições de estágios futuros em termos de declarações probabilísticas sobre as decisões de pri-
meiro estágio. Os modelos probabilísticos são particularmente úteis quando os custos e benefícios
associados às decisões futuras são difíceis de serem avaliados.

O procedimento básico através do qual modelos probabilísticos lidam com incerteza é ilustrado
16

com o modelo linear abaixo

⎨ min 𝑐𝑇 𝑥

𝐴𝑥 ≥ 𝑏 (3.1)
𝑥 ≥ 0,

onde 𝑥 ∈ R𝑛 , 𝑐 ∈ R𝑛 e 𝐴 é uma matrix real 𝑚 × 𝑛.

Assume-se que 𝑐 e 𝐴 são parâmetros determinísticos e 𝑏 é um vetor aleatório com função de


distribuição acumulada marginal Θ conhecida. Nesta abordagem simplista, define-se o nível de
confiança 𝛼 ∈ R𝑛 , de modo a reescrever a restrição 𝐴𝑥 ≥ 𝑏 como
𝑚
{︀ ∑︁
(3.2)
}︀
𝑃 𝐴𝑖𝑗 𝑥𝑗 ≥ 𝑏𝑖 ≥ 𝛼𝑖 , 𝑖 = 1,...,𝑛
𝑗=1

onde P é a medida de probabilidade e 𝐴𝑖𝑗 é o elemento da i-ésima linha e j-ésima coluna da


matriz 𝐴.

Aplicando a função de distribuição acumulada de 𝑏𝑖 à restrição (3.2), esta pode ser reformu-
lada como
𝑚
∑︁
𝐴𝑖𝑗 𝑥𝑗 ≥ Θ−1
𝑖 (𝛼𝑖 ), 𝑖 = 1,...,𝑛, (3.3)
𝑗=1

onde 𝛼𝑖 e Θ−1
𝑖 são conhecidos. Desta forma a restrição (3.2) é reduzida a uma restrição linear
comum e o modelo probabilístico se transforma em um modelo de programação linear determi-
nístico.
É também possível considerar restrições em probabilidade conjunta do tipo P(𝐴𝑥 ≥ 𝑏) com 𝐴
e 𝑏 aleatórios para o problema (3.1) ([66]). Recentemente restrições em probabilidade conjunta
em modelos dinâmicos em que sequencias de decisões sob incerteza devem ser tomadas foram
também propostos, ver [2], [33].

3.1.2 Programação Dinâmica Estocástica

Algoritmos de Programação Dinâmica Estocástica (Stochastic Dynamic Programming, SDP)


([38], [12], [69]) podem ser utilizados para resolver processos de decisão sequenciais. Esse tipo
de algoritmo utiliza técnicas de decomposição para, como o nome sugere, decompor o problema
original em subproblemas menores, permitindo assim a representação desde modelos lineares até
modelos mais complexos não lineares.

Considere o problema linear abaixo



min 𝑐𝑇 𝑥1 + 𝑐𝑇2 𝑥2
𝑥1 ,𝑥2 1




⎨ 𝐴1 𝑥1 = 𝑏1

𝐴2 𝑥2 + 𝐵2 𝑥1 = 𝑏2 (3.4)

𝑥1 ≥ 0




𝑥2 ≥ 0,

onde os parâmetros 𝑐1 , 𝑐2 , 𝐴1 , 𝐴2 , 𝑏1 , 𝑏2 , 𝐵2 são conhecidos.


17

O problema (3.4) pode ser interpretado como um processo de dois estágios, onde no primeiro
estágio deve-se decidir um valor para a variável 𝑥1 que obedeça à restrição 𝐴1 𝑥1 = 𝑏1 e no se-
gundo estágio se otimiza o valor da variável 𝑥2 , que depende da decisão 𝑥1 tomada no primeiro
estágio e dos parâmetros 𝑐2 , 𝐴2 , 𝑏2 , 𝐵2 .

Dessa forma, o problema de primeiro estágio seria definido como



⎨ min 𝑐𝑇 𝑥1 + 𝒬(𝑥1 )
𝑥1 1

𝐴1 𝑥1 = 𝑏1 (3.5)

𝑥1 ≥ 0

onde 𝑥1 é a variável de decisão de primeiro estágio, também chamada de variável de estado,


𝐴1 , 𝑐1 e 𝑏1 são os dados associados ao problema de primeiro estágio, 𝑐𝑇1 𝑥1 é o custo imediato e
𝒬(𝑥1 ) é a função de custo futuro e representa o valor ótimo esperado do problema de segundo
estágio.

O problema de segundo estágio, por sua vez, é definido como



⎨ min 𝑐𝑇 𝑥2
𝑥2 2

𝒬(𝑥1 ) = 𝐴2 𝑥2 = 𝑏2 − 𝐵2 𝑥1 (3.6)

𝑥2 ≥ 0.

No caso em que o vetor 𝜉 = (𝑐2 ,𝐵2 ,𝐴2 ,𝑏2 ) dos parâmetros deste problema de segundo estágio
são aleatórios, o problema de segundo estágio depende das realizações desses parâmetros e neste
caso, denotaremos por ⎧
⎨ min 𝑐˜𝑇 𝑥2
𝑥2 2

˜ = (3.7)
Q(𝑥1 , 𝜉)
⎪ 𝐴˜2 𝑥2 = ˜𝑏2 − 𝐵
˜2 𝑥1
𝑥2 ≥ 0

o custo de segundo estágio para a realização 𝜉˜ = (˜ ˜2 ,𝐴˜2 ,˜𝑏2 )) dos parâmetros aleatórios.
𝑐2 ,𝐵
Aqui, assume-se que o vetor aleatório 𝜉 possui um número finito de realizações conhecidas
independentes
∑︀𝑀 𝜉1 ,...,𝜉𝑀 chamadas de cenários, cada cenário com sua respectiva probabilidade
𝑝1 ,...,𝑝𝑀 : 𝑖=1 𝑝𝑖 = 1.

Neste caso, para o problema de segundo estágio minimiza-se o valor esperado 𝒬(𝑥1 ) =
𝐸𝜉 [Q(𝑥1 ,𝜉)] do custo que pode ser escrito em função do somatório
𝑀
∑︁
𝒬(𝑥1 ) = 𝑝𝑖 Q(𝑥1 ,𝜉𝑖 ) (3.8)
𝑖=1
Assumindo o modelo discreto, pode-se reescrever (3.4) de forma a chegarmos ao modelo

𝑐𝑇1 𝑥1 + 𝑀
∑︀
⎨ min

𝑥1 𝑖=1 𝑝𝑖 Q(𝑥1 ,𝜉𝑖 )
𝐴1 𝑥1 = 𝑏1 (3.9)

𝑥1 ≥ 0

onde Q(𝑥1 ,𝜉𝑖 ) é o valor ótimo do problema de segundo estágio para cada realização 𝑖 = 1,...,𝑀 :

⎨ min 𝑐𝑇 𝑥2
𝑥2 2𝑖

Q(𝑥1 ,𝜉𝑖 ) = 𝐴2𝑖 𝑥2 = 𝑏2𝑖 − 𝐵2𝑖 𝑥1 (3.10)

𝑥2 ≥ 0.

No primeiro estágio, é tomada a decisão quanto ao valor do vetor 𝑥1 , antes da realização


das incertezas representadas por 𝜉 desconhecido. Para isso, minimiza-se o custo 𝑐𝑇1 𝑥1 acrescido
18

do valor esperado do custo do problema de segundo estágio. No segundo estágio, onde as in-
formações sobre 𝜉 já estão disponíveis, é tomada a decisão sobre o valor do vetor 𝑥2 , refletindo
o comportamento sob informação completa, compensando qualquer decisão inadequada tomada
no primeiro estágio.

Como a decisão de primeiro estágio 𝑥1 depende apenas da informação disponível até aquele
momento (princípio de não antecipatividade), ela independe das realizações do segundo estágio
e, sendo assim, o vetor 𝑥1 é o mesmo para todos os possíveis eventos que venham a ocorrer no
segundo estágio do problema ([10]).

A forma com que algoritmos de SDP solucionam o problema é através da discretização da


variável de estado 𝑥1 em diversos valores de teste {ˆ
𝑥1𝑖 , 𝑖 = 1,...,𝑚} e da resolução do problema
(3.10) para cada valor de teste e para cada realização 𝜉𝑖 . Assim, são construídas aproximações
da função de custo futuro 𝒬(𝑥1 ) a partir desses valores de teste e da interpolação entre valores
de teste vizinhos.

O algoritmo pode ser generalizado para o caso multiestágios. De forma equivalente a equação
(3.5) do problema de dois estágios, o problema para o estágio 𝑡 = 1,...,𝑇 em um modelo de
múltiplos estágios pode ser representado por

⎨ 𝑥min
⎪ 𝑐𝑇 𝑥𝑡 + 𝒬𝑡+1 (𝑥𝑡 )
𝑛 𝑡
𝑡 ∈R
Q𝑡 (𝑥𝑡−1 , 𝜉𝑡 ) = 𝐴𝑡 𝑥𝑡 + 𝐵𝑡 𝑥𝑡−1 = 𝑏𝑡 (3.11)

𝑥𝑡 ≥ 0

onde 𝑏𝑡 e 𝑐𝑡 são vetores aleatórios, as matrizes 𝐴𝑡 e 𝐵𝑡 são aleatórias (com um número finito e
conhecido de linhas), e 𝜉𝑡 é um vetor aleatório correspondendo a concatenação dos elementos das
matrizes aleatórias 𝐴𝑡 e 𝐵𝑡 e dos vetores 𝑏𝑡 , 𝑐𝑡 .

Assume-se que 𝜉𝑡 ,𝑡 = 2,...,𝑇 são independentes, com distribuição discreta e suporte finito
Θ𝑡 = {𝜉𝑡1 ,...,𝜉𝑡𝑀𝑡 } e 𝜉1 é determinístico.
[︁ ]︁
Neste caso, a função de custo futuro para o estágio 𝑡 − 1 é 𝒬𝑡 (𝑥𝑡−1 ) = E𝜉 Q𝑡 (𝑥𝑡−1 , 𝜉𝑡 ) , com
𝒬1 (𝑥0 ) = Q1 (𝑥0 , 𝜉1 ). Convenciona-se que 𝒬𝑇 +1 é nulo e 𝑥0 é dado.

Por conveniência, denotaremos

𝑋𝑡 (𝑥𝑡−1 ,𝜉𝑡 ) := {𝑥𝑡 ∈ R𝑛 : 𝐴𝑡 𝑥𝑡 + 𝐵𝑡 𝑥𝑡−1 = 𝑏𝑡 , 𝑥𝑡 ≥ 0}. (3.12)

3.1.3 Programação Dual Dinâmica Estocástica (PDDE ou SDDP em inglês)

A estratégia dos algoritmos de SDP de aproximação das funções de custo futuro através da discre-
tização das variáveis de estágio e a consideração dos múltiplos cenários das variáveis estocásticas
acarreta em aumento exponencial de complexidade à medida que se acrescentam componentes
nas variáveis de estado (maldição da dimensionalidade), o que impede a aplicação prática da
técnica a problemas com vetores de estado de grande tamanho e muitos estágios ([58]).

Deste modo, houve a necessidade de se propor alternativas ou melhorias para solucionar a


limitação do método de SDP a problemas de grande escala. Dentre os métodos propostos está
o PDDE ou Stochastic Dual Dynamic Programming (SDDP) em inglês ([58]), um algoritmo de
amostragem variante de técnicas de decomposição aninhada ([8], [9]) que utiliza um número finito
de cenários. Consideraremos a aplicação do SDDP para resolver problemas risco neutros. Para
19

a extensão do método para resolver problemas envolvendo medidas de risco ver [65], [35], [36], [30].

O SDDP soluciona uma pequena parte dos cenários de uma árvore de cenários, construindo
a política ótima com base em aproximações das funções de custo futuro, definidas através de
funções afim construídas por hiperplanos de suporte conhecidos como cortes de Benders (ou,
simplesmente, cortes). Os hiperplanos são obtidos pela solução dual do problema de otimização
de cada estágio e são adicionados a função custo a cada iteração do algoritmo. Esta abordagem
evita a necessidade de construção de aproximações da função custo com base em um conjunto
de valores discretos das variáveis de estado, contornando a maldição da dimensionalidade do SDP.

Para entender melhor o algoritmo, considere o problema (3.9), com 𝑀 cenários ∑︀𝑀possíveis para
o vetor aleatório 𝜉 e cada cenário com probabilidade {𝑝𝑖 , 𝑖 = 1,...,𝑀 }, tal que 𝑖=1 𝑝𝑖 = 1.

Pereira e Pinto demonstram que as funções de custo futuro Q(𝑥1 ) são construídas exatamente
por funções lineares afim (cortes). Assim, utilizando apenas uma sub-amostra de valores para
𝑥1 , é possível construir cortes que podem ser utilizados no estágio anterior para prover valores da
função de custo esperada 𝒬(𝑥1 ) para qualquer valor de teste de 𝑥1 . Para calcular esses cortes, o
algoritmo performa duas iterações principais, conhecidas como passo Forward e passo Backward.

No passo Forward, um cenário para a variável aleatória é sorteado da árvore de cenários, e as


decisões são tomadas com base neste cenário, começando do primeiro estágio. Nesta etapa, são
calculados o valor final da função objetivo e as políticas escolhidas (pontos de teste para 𝑥1 ).

Após a definição de pontos de teste, o algoritmo prossegue para o passo Backward, onde se
refina a política ótima sugerida adicionando um novo corte a cada estágio do problema, iniciando
no último estágio e evoluindo para trás até o primeiro estágio.

Assim, a aproximação da função de custo futura é obtida pelo seguinte problema


{︂
min 𝑓
Q𝑗 (𝑥1 ) = (3.13)
𝑓 ≥ 𝜋𝑖𝑗 (𝑏2𝑗 − 𝐸1 𝑥1 ), 𝑖 = 1,...,𝑛

para todo 𝑗 = 1,...,𝑀 , onde 𝜋𝑖𝑗 é o multiplicador simplex associado a restrição do problema
de segundo estágio do cenário 𝑗 , calculado no ponto de teste 𝑥 ˆ1𝑖 . Assim, dado o conjunto de
pontos de teste {𝑥1𝑖 , 𝑖 = 1,...,𝑛}, é possível calcular os multiplicadores associados {𝜋𝑖𝑗 , 𝑖 = 1,...,𝑛}
para todo 𝑗 = 1,...,𝑀 , resolvendo (3.13) para todo 𝑗 com o conjunto de pontos de teste acima.

Como a aproximação da função de custo futura obtida utiliza apenas parte da totalidade de
hiperplanos de corte que definem a função de custo futuro de cada um dos M cenários, ela é o
limite inferior da função de custo futuro de cada cenário, e o problema de primeiro estágio se
torna
{︂
min 𝑐1 𝑥1 + 𝒬(𝑥1 )
𝑧= (3.14)
𝐴1 𝑥1 ≥ 𝑏1

Utilizando (3.13) podemos reescrever (3.14) como



⎨ min 𝑐1 𝑥1 + 𝑓
𝑧= 𝐴1 𝑥1 ≥ 𝑏1 (3.15)
𝑓 − 𝜋𝑖𝑗 (𝑏2𝑗 − 𝐸1 𝑥1 ) ≥ 0, 𝑖 = 1,...,𝑛, 𝑗 = 1,...,𝑀

onde a solução de (3.15) dá o limite inferior 𝑧 do custo ótimo verdadeiro, i.e., 𝑧 = 𝑐1 𝑥1 + 𝑓 .


20

Um limite inferior sobre o valor ótimo é assim definido como o custo esperado de primeiro
estágio, que é a soma dos custo presente e custos esperados futuros aproximados. O limite su-
perior 𝑧¯, por sua vez, é definido como a estimativa do custo esperado total obtido ao se avaliar
a política ótima definida pelos cortes em diversos cenários. A proximidade estatística entre um
limite inferior e superior observa a convergência entre os passos Backward e Forward, e é testada
por algum tipo de critério de parada. Um candidato a critério de parada é a diferença entre 𝑧¯ e 𝑧
ser inferior a um farrafo. Caso o critério de parada não seja atendido após a realização de dados
passos Forward e Backwards, deve ser feita nova iteração, determinando vértices adicionais para
refinar a aproximação. Para a escolha dos pontos de teste, Pereira e Pinto sugerem simulações
de Monte Carlo da amostra de cenários.

O método SDDP para problemas multiestágios pode ser vista em detalhe no algoritmo para
𝑇 estágios abaixo.

Passo Forward. A cada iteração 𝑘 , o algoritmo aproxima 𝒬𝑡 por 𝒬𝑘𝑡 (𝑥) = max1≤𝑗≤𝑘 𝛼𝑡𝑗 +
⟨𝛽𝑡𝑗 ,𝑥⟩. No início de cada iteração é sorteado um cenário 𝜉2𝑘 ,...,𝜉𝑇𝑘 a partir dos 𝑀 cenários exis-
tentes.

No passo Forward se resolve para 𝑡 = 1,...,𝑇 o problema


𝑇 𝑘

⎨ min 𝑥𝑡 𝑐𝑡 + 𝑓
𝑧= 𝑥𝑡 ∈ 𝑋𝑡 (𝑥𝑘𝑡−1 ,𝜉𝑡𝑘 ) (3.16)
𝑓 ≥ 𝛼𝑡𝑗 + < 𝛽𝑡+1𝑗
,𝑥𝑡 >, 𝑗 = 1,...,𝑘 − 1,

com (𝑥𝑘0 ,𝜉1𝑘 ) = (𝑥0 ,𝜉1 ) dados e solução ótima 𝑥𝑘𝑡 .

Como visto acima, no passo Forward, são calculados o valor final da função objetivo e as
políticas escolhidas a cada estágio. O objetivo é determinar bons valores de teste com base nas
políticas ótimas {𝑥𝑘𝑡 , 𝑡 = 1,...,𝑇 − 1} do problema (3.16). Esses valores seráo utilizados no passo
Backward seguinte do algoritmo, para gerar novo corte para aproximar a função de custo futura
de cada estágio.

Na primeira iteração o algoritmo inicia tomando como pontos de teste qualquer política fac-
tível, i.e., 𝑥1𝑡 ∈ 𝑋𝑡 (𝑥1𝑡−1 ,𝜉𝑡1 ).

∑︀ Do passo Forward deve-se também computar a média 𝑧¯𝑁 e o desvio padrão 𝜎𝑁 do custo total
(𝑐𝑘 )𝑇 𝑥𝑘 dos últimos 𝑁 passos Forward.
𝑡=1,...,𝑇 𝑡 𝑡

Passo Backward. No passo Backward é calculado um novo corte para aproximação das
funções de custo futuro.
Assim, para 𝑡 = 𝑇,...,2, resolve-se o problema abaixo para todos os cenários possíveis 𝑗 =
1, . . . ,𝑀 ,

⎨ min 𝑐𝑇𝑡,𝑗 𝑥𝑡 + 𝑓

𝑓𝑡𝑗𝑘 = 𝑥 ∈ 𝑋𝑡 (𝑥𝑘𝑡−1 , 𝜉𝑡,𝑗 ), (3.17)


⎩ 𝑡
𝑓 ≥ 𝛼𝑡ℓ + ⟨𝛽𝑡+1
ℓ , 𝑥 ⟩, ℓ = 1, . . . ,𝑘.
𝑡

onde 𝛽 corresponde ao corte definido pela solução dual do problema acima. Denotando por 𝜋𝑡𝑗 𝑘

multiplicadores de Lagrange ótimos associados as restrições de igualdade para o problema acima,


calculamos
𝑗𝑘
𝛼𝑡𝑘 = 𝑀
∑︀ 𝑇 𝑘 𝑘 𝑘
∑︀𝑀 𝑇 𝑘
𝑗=1 𝑝𝑡𝑗 [𝑓𝑡 + ⟨𝐵𝑡𝑗 𝜋𝑡𝑗 , 𝑥𝑡−1 ⟩], 𝛽𝑡 = 𝑗=1 𝑝𝑡𝑗 𝐵𝑡𝑗 𝜋𝑡𝑗 .

Para 𝑡 = 1, resolvemos
21

⎨ min 𝑐𝑇1 𝑥𝑡 + 𝑓

𝑥1 ∈ 𝑋1 (𝑥0 , 𝜉1 ), (3.18)
𝑓 ≥ 𝛼1ℓ + ⟨𝛽2ℓ , 𝑥1 ⟩, ℓ = 1, . . . ,𝑘,

cujo valor ótimo é o novo limite inferior 𝑧inf da função objetivo.

Critério de parada. Há diversos critérios de parada possíveis. Uma sugestão é interromper


𝑧sup −𝑧inf
o algoritmo quando 𝑧sup ≤ 0.05, onde 𝑧inf é o valor ótimo do primeiro estágio do problema

e 𝑧sup = 𝑧¯𝑁 + 1.65𝜎𝑁 / 𝑁 .

3.1.4 Extensões do SDDP, Seleções de Corte e Algoritmos de decomposição


multicortes (MuDA)

A prova de convergência do método de SDDP para problemas lineares foi feita em [61]. Diversos
incrementos e extensões ao SDDP foram propostas, incluindo variantes para aversão ao risco
([35], [37], [49]), além de fórmulas de corte para problemas não lineares ([31]) e regularizações
para problemas lineares ([3]) e não lineares ([34]). As provas de convergência para problemas não
lineares foram feitas em [28] para problemas com neutralidade ao risco e em [31] para problemas
risco-avesso.

Devido à caracterísitca do algoritmo de SDDP adicionar uma grande quantidade de cortes


ao problema de otimização a cada iteração recursiva, estratégias de seleção de corte tornam-se
úteis para acelerar a convergência do método. Diversas estratégias diferentes de seleção de corte
já foram propostas na literatura ([64], [27]). Em [59] e [60], foi sugerida a estratégia de seleção
que consistia em selecionar apenas os cortes que possuíssem o maior valor em pelo menos um
dos pontos de teste computados. A estratégia é chamada de Level 1 em [60], tendo sido apresen-
tada pela primeira vez em 2007 no Congresso ROADEF por David Game e Guillaume Le Roy
(GDF-Suez), ver [59].

Uma outra variante possível do algoritmo clássico do SDDP adiciona múltiplos cortes a cada
estágio, por iteração. Chamaremos essa técnica de Multicut Decomposition Algorithm (MuDA).
Esse método possui a vantagem de diminuir a quantidade necessária de iterações para que se
satisfaça o critério de parada, dado que cada iteração calcula centenas de cortes a mais que
uma iteração do SDDP convencional, gerando mais rapidamente boas aproximações das funções
de custo futuro. Por outro lado, a adição de cortes aumenta a complexidade de cada iteração,
fazendo com que o tempo computacional despendido por iteração pode elevar o tempo total de
convergência do algoritmo em relação ao SDDP convencional, mesmo com menos iterações. Para
experimentos númericos ver [70].
Assim como são possíveis estratégias de seleção de corte para aceleração da convergência do
método SDDP, também deveriam ser úteis estratégias de seleção de corte para MuDA. Ao aplicar
seleção de cortes ao algoritmo, previne-se que cada iteração adicional resolva os subproblemas
dos passos Backward e Forward com mais restrições do que o necessário, permitindo ganhos de
eficiência nos cálculos de cada subproblema. Chamaremos de Cut Selection for Multicut De-
composition Algorithms (CuSMuDA) os algoritmos que utilizam estratégias de seleção de corte
acoplados com o método MuDA. Até o nosso conhecimento não foi proposto na literatura este
tipo de combinação de técnicas.
22

3.2 Modelos

Nesta seção, apresentaremos o modelo de seleção de carteira utilizado em nosso trabalho, além
dos algoritmos de MuDA e CuSMuDA para esta aplicação. Para este segundo algoritmo, apre-
sentaremos as duas estratégias de seleção de corte utilizadas em nosso trabalho: a primeira é a
estratégia de seleção de corte denominada Level 1 citada na seção anterior, que já possui espaço
na literatura aplicada a modelos SDDP simples; a segunda foi descrita em [32] (no contexto da
DDP), onde apenas o corte mais antigo é selecionado. Chamaremos pelos nomes de CuSMuDA
CS 1 e CuSMuDA CS 2 os algoritmos de CuSMuDA com as respectivas estratégias de seleção
de corte.

3.2.1 Seleção de carteira


O problema multiestágio de seleção de carteira consiste em distribuir uma quantidade de capital
𝑊0 entre 𝑛 ativos arriscados e um ativo sem risco ao longo de 𝑇 períodos discretos.

Suponha 𝑥𝑡 ∈ R𝑛+1 + o vetor que representa o valor financeiro investido nos 𝑛 ativos arris-
cados e no ativo sem risco 𝑛 + 1, de modo que 𝑥𝑡 (𝑖) representa o investido no ativo 𝑖 para
𝑖 = 1,...,𝑛 + 1 ao final do período 𝑡 para 𝑡 = 1,...,𝑇 . Suponha que para 𝑡 = 1,...,𝑇 cada ativo
arriscado (𝑖 = 1,...,𝑛) possua sua respectiva taxa de retorno 𝜉𝑡 (𝑖) = 𝑟𝑡 (𝑖), desconhecida no mo-
mento da decisão, enquanto o retorno do ativo sem risco 𝜉𝑡 (𝑛 + 1) = 𝑟𝑡 (𝑛 + 1) é determinístico e
conhecido a priori, i.e., 𝑟𝑡 (𝑛 + 1) = 𝑟(𝑛 + 1) para todo 𝑡. Considere 𝑦𝑡 = (𝑦𝑡 (1),...,𝑦𝑡 (𝑛)) ∈ R𝑛+ e
𝑧𝑡 = (𝑧𝑡 (1),...,𝑧𝑡 (𝑛)) ∈ R𝑛+ os conjuntos de valores em dólar vendidos e comprados dos n ativos ao
final de cada período 𝑡, respectivamente, e 𝜂𝑡𝑖 > 0 e 𝜈𝑡𝑖 > 0, 𝑖 = 1,...,𝑛 os custos diretos de transa-
ção de venda e de compra do i-ésimo ativo no período 𝑡, respectivamente. Supondo que a riqueza
inicial 𝑊0 seja distribuída entre os 𝑛 + 1 ativos, considere 𝑥0 = (𝑥0 (1),...,𝑥0 (𝑛 + 1)) ∈ R𝑛+1 + a
∑︀𝑛+1
distribuição inicial, conhecida, onde 𝑖=1 𝑥0 (𝑖) = 𝑊0 .

Assim, para 𝑡 = 1, . . . ,𝑇 , podemos construir o conjunto restrição do nosso problema de portfó-


lio dados uma carteira 𝑥𝑡−1 = (𝑥𝑡−1 (1),...,𝑥𝑡−1 (𝑛 + 1)) e um rendimento 𝑟𝑡 = (𝑟𝑡 (1),...,𝑟𝑡 (𝑛 + 1)).
Seja 𝒳 : R𝑛+1 ×R𝑛+1 → R𝑛+1 ×R𝑛 ×R𝑛 tal que 𝒳 (𝑥𝑡−1 ,𝑟𝑡 ) é um conjunto dos pontos (𝑥𝑡 ,𝑦𝑡 ,𝑧𝑡 ) ∈
+ ×R+ ×R+ satisfazendo
R𝑛+1 𝑛 𝑛

{︂
𝑥𝑡 (𝑖) = 𝑥𝑡−1 (𝑖)𝑟𝑡 (𝑖) − 𝑦𝑡 (𝑖) + 𝑧𝑡 (𝑖), 𝑖 ∑︀
= 1, . . . ,𝑛,
(3.19)
𝑥𝑡 (𝑛 + 1) = 𝑥𝑡−1 (𝑛 + 1)𝑟𝑡 (𝑛 + 1) + 𝑛𝑖=1 (1 − 𝜂𝑡𝑖 )𝑦𝑡 (𝑖) − 𝑛𝑖=1 (1 + 𝜈𝑡𝑖 )𝑧𝑡 (𝑖),
∑︀

A equação (3.19) diz que, o valor investido em um ativo arriscado 𝑖, 𝑖 = 1,..., 𝑛 ao final
do período 𝑡, 𝑥𝑡 (𝑖) será equivalente ao rendimento do ativo ao longo do período (𝑥𝑡−1 (𝑖)𝑟𝑡 (𝑖))
menos a quantidade vendida do ativo no período 𝑡, 𝑦𝑡 (𝑖), acrescida da quantidade comprada
do ativo no mesmo período, 𝑧𝑡 (𝑖). Equivalentemente, o valor total investido no ativo sem risco
ao final do período 𝑡, 𝑥𝑡 (𝑛 + 1) será equivalente ao rendimento do ativo ao longo do período
(𝑥𝑡−1 (𝑛 + 1)𝑟𝑡 (𝑛 + 1)) acrescido do total recebido∑︀pela venda de ativos arriscados no período
𝑡 (descontados os custos de transação de venda), 𝑛𝑖=1 (1 − 𝜂𝑡𝑖 )𝑦𝑡 (𝑖) e descontado o total gasto
na
∑︀𝑛compra de ativos arriscados no período 𝑡 (considerando os custos de transação de compra),
(1 + 𝜈 𝑖 )𝑧 (𝑖).
𝑖=1 𝑡 𝑡

Podemos escrever as equações[︁de programação ]︁ dinâmica do nosso problema de seleção de


carteira como sendo 𝒬𝑡 (𝑥𝑡−1 ) = E Q𝑡 (𝑥𝑡−1 , 𝑟𝑡−1 ) para 𝑡 = 2, . . . ,𝑇 , onde

min − 𝑛+1
{︂ ∑︀
Q𝑇 (𝑥𝑇 −1 , 𝑟𝑇 −1 ) = 𝑖=1 E[𝑟𝑇 (𝑖)]𝑥𝑇 (𝑖) (3.20)
(𝑥𝑇 ,𝑦𝑇 ,𝑧𝑇 ) ∈ 𝒳 (𝑥𝑇 −1 , 𝑟𝑇 −1 ),
23

e para 𝑡 = 2, . . . ,𝑇 − 1,
{︂
min 𝒬𝑡+1 (𝑥𝑡 )
Q𝑡 (𝑥𝑡−1 , 𝑟𝑡−1 ) = (3.21)
(𝑥𝑡 ,𝑦𝑡 ,𝑧𝑡 ) ∈ 𝒳 (𝑥𝑡−1 , 𝑟𝑡−1 ).
No primeiro estágio resolvemos

{min 𝒬2 (𝑥1 ) : (𝑥1 ,𝑦1 ,𝑧1 ) ∈ 𝒳 (𝑥0 , 𝑟0 )}. (3.22)

3.2.2 MuDA

MuDA se baseia em, a cada iteração 𝑘 , aproximar Q𝑡 (·, 𝑟𝑡−1,𝑗 ) por Q𝑘𝑡 (𝑥, 𝑟𝑡−1,𝑗 ) = max1≤ℓ≤𝑘𝑁 ⟨𝛽𝑡,𝑗
ℓ , 𝑥⟩,
(ℓ−1)𝑁 +𝑘
onde 𝛽𝑡,𝑗 , 1 ≤ 𝑘 ≤ 𝑁 , é um corte calculado na iteração ℓ para o estágio 𝑡 e cenário 𝑗 da
variável aleatória 𝑟𝑡−1,𝑗 de retornos, com 𝑗 = 1,...,𝑀 finito, onde o conjunto de possíveis realiza-
ções dos retornos 𝑟𝑡−1 é finito: 𝑟𝑡−1,𝑗 , 𝑗 = 1, . . . ,𝑀 .

Desta forma, ele difere do algoritmo clássico do SDDP por considerar cada corte calculado
para cada cenário e para cada estágio, ao invés de calcular apenas um corte resultante da expec-
tativa de todos os cenários a cada estágio.
O algoritmo MuDA, aplicado ao problema de seleção de carteira, pode ser acessado pelo
pseudocódigo abaixo. [︁ ]︁
Seja 𝒬𝑡 (𝑥𝑡−1 ) = E Q𝑡 (𝑥𝑡−1 , 𝑟𝑡−1 ) para 𝑡 = 2, . . . ,𝑇 .
Na iteração 𝑘 , aproximamos Q𝑡 (·, 𝑟𝑡−1,𝑗 ) por Q𝑘𝑡 (𝑥, 𝑟𝑡−1,𝑗 ) = max1≤ℓ≤𝑘𝑁 ⟨𝛽𝑡,𝑗
ℓ , 𝑥⟩.

Assumimos que os retornos 𝜉𝑡 são independentes e com distribuição discreta. Existem 𝑁


cenários independentes 𝜉˜𝑘 , com 𝑘 = (𝑖 − 1)𝑁 + 1,...,𝑖𝑁 de (𝜉1 ,...,𝜉𝑇 ) sorteados no passo forward
da iteração 𝑖 para obter 𝑁 conjuntos de pontos de teste. Ao final da iteração 𝑖, obtemos funções
aproximadas Q𝑖𝑡 (𝑥𝑡−1 ,𝜉𝑡𝑗 ) = max1≤ℓ≤𝑖𝑁 ⟨𝛽𝑡𝑗
ℓ ,𝑥
𝑡−1 ⟩ de Q𝑡 (·,𝜉𝑡𝑗 ).

Passo forward da iteração 𝑖. São gerados 𝑁 cenários 𝜉˜𝑘 = (𝜉˜2𝑘 ,...,𝜉˜𝑇𝑘 ), 𝑘 = (𝑖 − 1)𝑁 +
1,...,𝑖𝑁 de (𝜉2 ,...,𝜉𝑇 ) e é resolvido o problema abaixo para 𝑘 = (𝑖 − 1)𝑁 + 1,...,𝑖𝑁 e 𝑡 = 1,...,𝑇 − 1

⎧ ∑︀𝑀𝑡
⎨ min 𝑗=1 𝑝𝑡+1ℓ 𝑓ℓ
𝑥𝑡 ∈ 𝒳𝑡 (𝑥𝑘𝑡−1 , 𝜉˜𝑡𝑘 ), (3.23)
⎩ 𝑚 , 𝑥 ⟩, 𝑚 = 1, . . . ,(𝑖 − 1)𝑁,
𝑓ℓ ≥ ⟨𝛽𝑡+1ℓ 𝑡

começando com (𝑥𝑘0 ,𝜉˜1𝑘 ) = (𝑥0 , 𝜉1 ). Seja 𝑥𝑘𝑡 a solução ótima. Para 𝑡 = 𝑇 e 𝑘 = (𝑖 − 1)𝑁 +
1, . . . ,𝑖𝑁 resolvemos

min − 𝑛+1
{︂ ∑︀
𝑖=1 E[𝜉𝑇 +1 (𝑖)]𝑥𝑇 (𝑖) (3.24)
𝑥𝑇 ∈ 𝒳𝑇 (𝑥𝑘𝑇 −1 , 𝜉˜𝑇𝑘 ),

com solução ótima 𝑥𝑘𝑇 .


𝑖
Ao final do passo forward computamos o custo empírico 𝐶𝑢𝑠𝑡𝑜 e desvio padrão 𝜎 𝑖 dos custos
dos cenários sortidos da iteração 𝑖:


𝑖𝑁 𝑇 ⎸ 𝑖𝑁 𝑇
𝑖 1 ∑︁ ∑︁ ⎸1 ∑︁ (︀ ∑︁ 𝑖 )︀2
𝐶𝑢𝑠𝑡𝑜 = 𝑘 𝑘 𝑖
𝑐˜𝑡 𝑥𝑡 , 𝜎 = ⎷ 𝑐˜𝑘𝑡 𝑥𝑘𝑡 − 𝐶𝑢𝑠𝑡𝑜 . (3.25)
𝑁 𝑁
𝑘=(𝑖−1)𝑁 +1 𝑡=1 𝑘=(𝑖−1)𝑁 +1 𝑡=1
24

Isso nos permite calcular o limite superior 𝑧𝑠𝑢𝑝


𝑖 do custo médio da política obtida na iteração
𝑖, dado por

𝑖 𝜎𝑖
𝑖
𝑧𝑠𝑢𝑝 = 𝐶𝑢𝑠𝑡𝑜 + √ Φ−1 (1 − 𝛼) (3.26)
𝑁
onde Φ−1 (1 − 𝛼) é o quantil (1 − 𝛼) da distribuição Normal padrão.

Passo backward da iteração 𝑖. Para 𝑘 = (𝑖 − 1)𝑁 + 1, . . . ,𝑖𝑁 , resolvemos para 𝑡 = 𝑇,𝑗 =


1, . . . ,𝑀 ,

min − 𝑛+1
{︂ ∑︀
𝑖=1 E[𝑟𝑇 (𝑖)]𝑥𝑇 (𝑖) (3.27)
𝑥𝑇 ∈ 𝒳𝑇 (𝑥𝑘𝑇 −1 , 𝜉𝑇 𝑗 ),
e para 𝑡 = 𝑇 − 1,...,2, 𝑗 = 1, . . . 𝑀 ,
⎧ ∑︀𝑀
⎨ min ℓ=1 𝑝𝑡+1ℓ 𝑓ℓ
𝑥 ∈ 𝒳𝑡 (𝑥𝑘𝑡−1 , 𝜉𝑡𝑗 ), (3.28)
⎩ 𝑡 𝑚 , 𝑥 ⟩, 𝑚 = 1, . . . ,𝑖𝑁.
𝑓ℓ ≥ ⟨𝛽𝑡+1ℓ 𝑡

Para o problema acima (problema (3.27) para 𝑡 < 𝑇 e problema (3.28) para 𝑡 = 𝑇 ) com
realização 𝜉𝑡𝑗 de 𝜉𝑡 , e denotando por 𝜆𝑘𝑡𝑗 o multiplicador de Lagrange associado às restrições de
igualdade computamos

𝑘
𝛽𝑡𝑗 = 𝜆𝑘𝑡𝑗 ∘ 𝜉𝑡𝑗 , (3.29)
lembrando que o vetor 𝑥 ∘ 𝑦 tem componentes (𝑥 ∘ 𝑦)(𝑖) = 𝑥(𝑖)𝑦(𝑖) para vetores 𝑥,𝑦 .

Critério de parada. Ao final do passo backward da iteração 𝑖, resolvemos


⎧ ∑︀𝑀2
⎨ min ℓ=1 𝑝2ℓ 𝑓ℓ
𝑥 ∈ 𝒳1 (𝑥0 , 𝜉1 ), (3.30)
⎩ 1 𝑚 , 𝑥 ⟩, 𝑚 = 1, . . . ,𝑖𝑁,
𝑓ℓ ≥ ⟨𝛽2ℓ 1

cujo valor ótimo nos dá o limite inferior 𝑧𝑖𝑛𝑓


𝑖 do valor ótimo 𝒬1 (𝑥0 ) do problema. Dada uma
𝑖
𝑧𝑠𝑢𝑝 𝑖
−𝑧𝑖𝑛𝑓
tolerância 𝜖 > 0, o algoritmo termina quando 𝑖
𝑧𝑠𝑢𝑝
≤ 𝜖.

3.2.3 CuSMuDA
Como dito anteriormente, CuSMuDA é a variante do MuDA que utiliza estratégias de seleção
de cortes, resolvendo os problemas dos passos Forward e Backward utilizando uma aproximação
de Q𝑘𝑡 (𝑥, 𝑟𝑡−1,𝑗 ) que considera apenas um subconjunto do total de cortes calculados até a itera-
ção considerada. Com isso, o número de restrições adicionadas aos problemas de otimização de
cada estágio dos passos Forward e Backwards é reduzido, otimizando o gasto computacional do
algoritmo a cada iteração.

Seja 𝑆𝑡𝑗 𝑘 o conjunto que reúne os índices dos cortes selecionados ao final da iteração 𝑘 para

aproximar Q𝑡 (·,𝑟𝑡𝑗 ). A variante de seleção de cortes computa a aproximação de 𝒬𝑡 da iteração


𝑘 , 𝒬𝑘𝑡 , utilizando Q𝑘𝑡 (·,𝑟𝑡𝑗 ) dada por

Q𝑘𝑡 (𝑥𝑡−1 ,𝑟𝑡𝑗 ) = max 𝐶𝑡𝑗



(𝑥𝑡−1 ) (3.31)
𝑘
ℓ∈𝑆𝑡𝑗

onde 𝐶𝑡𝑗
ℓ é o corte calculado para o cenário 𝑗 estágio 𝑡 na iteração ℓ.
25

Consideraremos duas estratégias de selecção de cortes: Multicut Level 1 e Limited Memory


Level 1, descritas a seguir.

Estratégia de seleção de cortes "Multicut Level 1"


Nesta estratégia, todos os cortes que alcançam seu maior valor para ao menos um dos pontos de
teste computados até então são selecionados. Desta forma,
𝑘
𝑆𝑡𝑗 = ∪𝑘𝑖=1 𝐼𝑡𝑗
𝑖𝑘

onde 𝐼𝑡𝑗
𝑖𝑘 = argmax𝐶 𝑙 (𝑥𝑖 ).
𝑡𝑗 𝑡−1
ℓ=1,...,𝑘
Esta estratégia foi apresentada em dois trabalhos no contexto do SDDP: [60] onde foi cha-
mada de Level 1, e [59], onde foi chamada de Territory Algorithm.

Para esta estratégia, temos que em 𝑡 = 𝑇, ∀𝑘 ≥ 1, nenhuma seleção de cortes é necessária.


ˆ 1 ≤ 𝑘ˆ ≤ 𝑘, ∀𝑘 ≥ 2 selecionarão o corte 𝐶 𝑘^ , por ser um dos
Isso ocorre pois todas as iterações 𝑘, 𝑇𝑗
^
cortes com o maior valor em 𝑥𝑘𝑡−1 .

Estratégia de seleção de cortes "Multicut Limited memory (MLM)"


Nesta estratégia em cada ponto 𝑥𝑖𝑡−1 consideramos o conjunto dos índices 𝐼𝑡𝑗 𝑖𝑘 dos cortes mais

altos neste ponto (definido no parágrafo anterior) e selecionamos o mais velho desses cortes.
Esta estratégia de corte foi apresentada pela primeira vez em [32] no contexto do método
DDP, sendo diretamenteo aplicável para SDDP e MUDA, e implica que, em um dado ponto de
teste, sempre selecionaremos o corte mais velho dentre todos os cortes que obtém valor máximo
neste ponto, i.e., selecionaremos o corte que foi computado primeiro.
O Anexo VII expõe os pseudo-códigos das duas estratégias de corte apresentadas.

O algoritmo CuSMuDA é obtido incluindo no algoritmo MuDA uma das duas estratégias de
seleção de corte acima mencionadas após o cálculo dos cortes no passo Backward.

3.3 Resultados

Implementamos as três variações do método SDDP propostas anteriormente para a resolução


do problema de seleção de carteira. Os três métodos são: MuDA, CuSMuDA CS1, denotação
dada ao modelo MuDA com a introdução da estratégia de seleção de corte chamada Level 1, e
CuSMuDA CS2, denotação dado ao modelo Muda com a introdução da estratégia de seleção de
corte MLM.

As implementações foram realizadas no programa Matlab e os problemas de otimização dos


passos Backward e Forward foram resolvidos numericamente utilizando a biblioteca de otimiza-
ção Mosek.

Para termos variações do problema de seleção de carteira, alternamos o número de ativos


arriscados em carteira 𝑛 ∈ {4,5,6} e o número de estágios (medido em dias) 𝑇 ∈ {5,8}, gerando
seis versões do problema, com o par (𝑇,𝑛) tomando os valores (5,4), (5,5), (5,6), (8,4), (8,5) e (8,6).

Fixamos 𝑢(𝑖) = 1, 𝑖 = 1,...,𝑛 (não há venda a descoberto) enquanto os componentes de 𝑥0 são


uniformemente distribuídos entre [0,10]. Para o critério de parada, utilizamos 𝑁 = 200, 𝛼 = 0,025
e 𝜖 = 0,05.
26

Para cada estágio 𝑡, a distribuição de 𝑟𝑡 (1 : 𝑛) possui 𝑀 realizações 𝑟𝑡1 (1 : 𝑛), . . . ,𝑟𝑡𝑀 (1 : 𝑛),
com 𝑝𝑡𝑖 = 𝑃 (𝑟𝑡 = 𝑟𝑡𝑖 ) = 1/𝑀 e 𝑟1 (1 : 𝑛), 𝑟𝑡1 (1 : 𝑛),...,𝑟𝑡𝑀 (1 : 𝑛) são sorteados aleatoriamente da
série histórica de retornos diários de 𝑛 ativos do Índice S&P 500, no período entre 18/5/2009 e
28/5/2015. Os ativos escolhidos da amostra, para cada configuração do valor de 𝑛 do problema,
encontram-se na tabela 3.1.

Tabela 3.1: Subconjuntos de ativos escolhidos


Número de ativos Ativos
𝑛=4 AAPL (apple INc.), XOM (Exxon Mobil Corp.),
MSFT (Microsoft Corp.), JNJ (Johnson & Johnson)
𝑛=5 AAPL, XOM, MSFT, JNJ, WFC (Wills Fargo)
𝑛=6 AAPL, XOM, MSFT, JNJ, WFC, GE (General Elec-
tric)

O retorno diário do ativo livre de risco 𝑟𝑡 (𝑛 + 1) é 0,1% para todo 𝑡. Os custos de transação
são conhecidos, com 𝜈𝑡 (𝑖) = 𝜂𝑡 (𝑖), ∀𝑡; ∀𝑖 obtidos sorteando da distribuição 0,08 + 0,06 cos( 2𝜋
𝑇 𝑈𝑇 ),
onde 𝑈𝑇 é uma variável aleatória com distribuição discreta uniforme no conjunto {1,2,...,𝑇 }.

Consistência das implementações


Se todos os algoritmos são corretamente implementados, os limites inferiores e superiores 𝑧𝑖𝑛𝑓
𝐾

e 𝑧𝑠𝑢𝑝
𝐾 computados na última iteração 𝐾 dos algoritmos deveriam ser próximos do valor ótimo

𝒬1 (𝑥0 ) do problema. Como não sabemos o valor ótimo 𝒬1 (𝑥0 ) do problema, os valores compu-
𝐾 e 𝑧 𝐾 deveriam ser próximos em todos os três algoritmos. É possível observar na
tados para 𝑧𝑖𝑛𝑓 𝑠𝑢𝑝
figura 3.1 que, nos três algoritmos implementados este é o caso. Além disso, o comportamento
das séries é em linha com o esperado, com uma tendência de crescimento do limite inferior e de
queda do limite superior a cada iteração.

Em todos os algoritmos, poucas iterações são necessárias para satisfazer o critério de pa-
rada, não sendo necessárias mais que sete iterações para a convergência no modelo MuDA, por
exemplo. Ainda que haja poucas iterações, é importante lembrar que uma imensa quantidade de
cortes está sendo computada por iteração. Para ilustrar, no modelo de portfólio (𝑇,𝑛) = (8,6)
implementado com o algoritmo MuDA, com a nossa configuração do problema, o número de
cortes calculados por iteração e por estágio é de 𝑁 𝑀 = 200 × 20 = 4.000 para todo 𝑡, o que, con-
siderando que foram necessárias 7 iterações para a convergência, totaliza 7(𝑇 − 1)𝑀 𝑁 = 196.000
cortes calculados até a convergência do método.

Tempo computacional
O tempo computacional de cada algoritmo para cada versão do problema de portfolio encontra-
se na tabela 3.2. Como podemos observar, o algoritmo CuSMuDA CS1 demanda entre 40% e
105% mais tempo para solucionar o problema que o algoritmo MuDA. Por outro lado, o CuS-
MuDA CS 2 é consistentemente mais eficiente que os outros dois algoritmos (entre 5,1 e 12,6
vezes mais rápido que o MuDA e entre 10,3 e 21,9 vezes mais rápido que o CuSMuDA CS1), em
qualquer versão do problema de portfólio considerada.

Proporção de cortes selecionados


Uma explicação para a diferença de tempo computacional entre os algoritmos é a proporção
de cortes selecionados por iteração em cada uma das duas estratégias de seleção de cortes. De
27

−23.4 −33

−23.6
−33.5
−23.8

−24 −34
MuDA
−24.2 CuSMuDA CS 1
−34.5 CuSMuDA CS 2
MuDA
−24.4 CuSMuDA CS 1
CuSMuDA CS 2
−35
−24.6

−24.8 −35.5

−25
−36
−25.2

−25.4 −36.5
1 2 1 2 3
Iteration Iteration

(a) 𝑇 = 5, 𝑛 = 4, 𝑀 = 20 (b) 𝑇 = 5, 𝑛 = 5, 𝑀 = 20
−32
−34

−33 −34.5

−34 −35

−35.5 MuDA
−35 MuDA
CuSMuDA CS 1
CuSMuDA CS 1
−36 CuSMuDA CS 2
−36 CuSMuDA CS 2

−36.5
−37
−37

−38
−37.5

−39
−38

−40 −38.5
1 2 3 4 5 1 2 3
Iteration Iteration

(c) 𝑇 = 5, 𝑛 = 6, 𝑀 = 20 (d) 𝑇 = 8, 𝑛 = 4, 𝑀 = 10
−12 −20

−13

−14 −25

−15

−16 −30

−17

−18 MuDA −35


MuDA
CuSMuDA CS 1
−19 CuSMuDA CS 1
CuSMuDA CS 2
CuSMuDA CS 2
−20 −40

−21

−22 −45
1 2 3 4 5 6 7 1 2 3 4 5 6 7 8 9
Iteration Iteration

(e) 𝑇 = 8, 𝑛 = 4, 𝑀 = 10 (f) 𝑇 = 8, 𝑛 = 6, 𝑀 = 10

Figura 3.1: Evolução dos limites superiores 𝑧𝑠𝑢𝑝


𝑖 e inferiores 𝑧𝑖𝑛𝑓
𝑖 ao longo das 𝑖 iterações dos
algoritmos
28

Tempo computacional (em minutos) para solucionar cada variação do


Tabela 3.2:
problema de portfólio com os algoritmos MuDA, CuSMuDA CS 1 e CuSMuDA CS
2
MuDA CuSMuDA CS 1 CuSMuDA CS 2
𝑇 = 5, 𝑛 = 4, 𝑀 = 20 8,97 13,45 1,31
𝑇 = 5, 𝑛 = 5, 𝑀 = 20 17,03 29,41 2,38
𝑇 = 5, 𝑛 = 6, 𝑀 = 20 45,87 64,22 5,25
𝑇 = 8, 𝑛 = 4, 𝑀 = 10 7,94 16,27 1,56
𝑇 = 8, 𝑛 = 5, 𝑀 = 10 43,39 73,98 4,30
𝑇 = 8, 𝑛 = 6, 𝑀 = 10 63,47 110,55 5,05

fato, a complexidade de cada problema de otimização realizado nos passos Forward e Backward
pode ser substancialmente reduzida se há menos restrições a serem consideradas. Por outro lado,
selecionar os melhores cortes implica em comparar cortes para cada ponto teste existente, a cada
iteração, o que pode também aumentar o tempo computacional do algoritmo.

Como podemos ver nas figuras 3.2 a 3.4, a proporção média (ao longo das iterações) de cortes
selecionados no CuSMuDA CS 2 é inferior a 5% para todos os estágios, em qualquer variante do
modelo de seleção de portfólio, o que significa que uma grande quantidade de cortes possuem o
mesmo valor para alguns pontos de teste e que, para cada um destes pontos, enquanto o algo-
ritmo CuSMuDA CS 1 seleciona todos os cortes, o algoritmo CuSMuDA CS 2 seleciona apenas o
mais antigo desses cortes. Isso permite que os problemas de otimização resolvidos no algoritmo
CuSMuDA tenham menor complexidade, refletindo em maior eficiência deste algoritmo quando
comparado ao CuSMuDA CS 2. Ainda, pela proporção de cortes selecionados ser deveras baixa,
o algoritmo consegue ter um ganho de performance relacionado a resolução das subrotinas de
otimização em ordem muito superior ao tempo computacional que é demandado para selecio-
nar os cortes, fazendo com que o CuSMuDA CS 2 também seja muito mais eficiente que o MuDA.

Por outro lado, o algoritmo CuSMuDA CS 1 seleciona, em média, pelo menos 60% dos cortes
computados por iteração, com todos os cortes sendo selecionados no último estágio (como espe-
rado). Pela proporção de cortes selecionados ser alta, a redução de complexidade dos problemas
de otimização das subrotinas do algoritmo não conseguem compensar o tempo computacional
demandado para selecionar os cortes, fazendo com que o algoritmo CuSMuDA CS 2 seja menos
eficiente que o algoritmo MuDA.

As figuras 3.3 e 3.4 mostram a evolução da proporção média de cortes selecionados (ao longo
das iterações do algoritmo) para Q𝑡 (·, 𝑟𝑡𝑗 ) como função de 𝑗 = 1,...,𝑀 . Além de mostrar conclu-
sões similares as acima, os gráficos dessas figuras revelam que a proporção de cortes selecionados
para as funções Q𝑡 (·, 𝑟𝑡𝑗 ) como função de 𝑗 = 1,...,𝑀 são bastante similares para cada 𝑗 .

Por fim, é necessário notar que, apesar de ser esperado que o CuSMuDA CS 1 selecionasse
todos os cortes no último estágio, nossa primeira implementação do algoritmo resultou na eli-
minação de alguns cortes no último estágio. Isso ocorre devido ao fato que os problemas de
otimização das subrotinas computam valores aproximados para solução. Portanto, dois pro-
blemas de otimização poderiam computar os mesmos cortes e ainda assim retornar soluções
aproximadas diferentes, ainda que muito próximas. Similarmente, um corte pode ser, em teoria,
o maior para algum ponto teste, mas numericamente o valor de outro corte neste ponto pode
ser considerado marginalmente maior devido aos erros numéricos. Para resolver tal problema
de implementação, introduzimos um pequeno termo de erro 𝜖0 (𝜖0 = 10−6 nas nossas simula-
ções) tal que dois valores 𝑉1 e 𝑉2 de dois cortes 𝒞1 e 𝒞2 em um ponto teste são considerados
29

1
1
0.9

CuSMuDA CS 1 0.8
0.8
CuSMuDA CS 2
0.7
CuSMuDA CS 1
0.6 CuSMuDA CS 2
0.6
0.5

0.4 0.4

0.3

0.2 0.2

0.1

0 0
2 3 4 5 2 3 4 5
Stage Stage

(a) 𝑇 = 5, 𝑛 = 4, 𝑀 = 20 (b) 𝑇 = 5, 𝑛 = 5, 𝑀 = 20

1
1
0.9

0.8 CuSMuDA CS 1
0.8
CuSMuDA CS 2
0.7 CuSMuDA CS 1
CuSMuDA CS 2
0.6
0.6
0.5

0.4 0.4

0.3

0.2 0.2

0.1

0 0
2 3 4 5 2 3 4 5 6 7 8
Stage Stage

(c) 𝑇 = 5, 𝑛 = 6, 𝑀 = 20 (d) 𝑇 = 8, 𝑛 = 4, 𝑀 = 10
1
1
0.9
0.9

0.8 0.8

0.7 0.7

0.6 0.6
CuSMuDA CS 1
0.5 CuSMuDA CS 2
0.5
CuSMuDA CS 1
0.4 CuSMuDA CS 2 0.4

0.3 0.3

0.2 0.2

0.1 0.1

0 0
2 3 4 5 6 7 8 2 3 4 5 6 7 8
Stage Stage

(e) 𝑇 = 8, 𝑛 = 5, 𝑀 = 10 (f) 𝑇 = 8, 𝑛 = 6, 𝑀 = 10

Figura 3.2: Proporção média de cortes selecionados (ao longo das iterações do algoritmo) para
os estágios 𝑡 = 2,...,𝑇 pelos modelos CuSMuDA CS1 e CuSMuDA CS2
30

0.06
1
Stage 2
Stage 3
0.05 Stage 4
0.8 Stage 5

0.04
0.6
Stage 2
Stages 3, 4, 5 0.03

0.4
0.02

0.2
0.01

0
0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
j j

(a) 𝑇 = 5, 𝑛 = 4, 𝑀 = 20, CuSMuDA CS 1 (b) 𝑇 = 5, 𝑛 = 4, 𝑀 = 20, CuSMuDA CS 2


0.08
1
Stage 2
0.07 Stage 3
0.95 Stage 4
Stage 2 Stage 5
0.9 0.06
Stage 3
Stages 4, 5
0.85 0.05

0.8
0.04

0.75
0.03
0.7
0.02
0.65

0.01
0.6

0.55 0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
j j

(c) 𝑇 = 5, 𝑛 = 5, 𝑀 = 20, CuSMuDA CS 1 (d) 𝑇 = 5, 𝑛 = 5, 𝑀 = 20, CuSMuDA CS 2


1.05 0.07

1 Stage 2
0.06 Stage 3
Stage 4
0.95
Stage 5
0.05
0.9 Stage 2
Stage 3
Stages 4, 5 0.04
0.85

0.8
0.03

0.75
0.02
0.7

0.01
0.65

0.6 0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
j j

(e) 𝑇 = 5, 𝑛 = 6, 𝑀 = 20, CuSMuDA CS 1 (f) 𝑇 = 5, 𝑛 = 6, 𝑀 = 20, CuSMuDA CS 2

Figura 3.3: Representação para os estágios 𝑡 = 2,...,𝑇 , com 𝑇 = 5, da proporção média de cortes
(ao longo das iterações dos algoritmos) selecionados para Q𝑡 (·,𝑟𝑡𝑗 ) como função de 𝑗 = 1,...,𝑀
e 𝑀 = 20. Gráficos da esquerda consideram o modelo CuSMuDA CS 1 e gráficos da direita o
modelo CuSMuDA CS 2.
31

0.07

1 Stage 2
0.06 Stage 3
Stage 4
Stage 5
0.8 Stage 6
0.05
Stage 7
Stage 8
0.04
0.6

0.03
0.4 Stage 2
Stage 3
Stages 4, 5 0.02
Stages 6, 7, 8
0.2
0.01

0 0
1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10
j j

(a) 𝑇 = 8, 𝑛 = 4, 𝑀 = 10, CuSMuDA CS 1 (b) 𝑇 = 8, 𝑛 = 4, 𝑀 = 10, CuSMuDA CS 2


0.025
1

0.9
0.02

0.8

0.7 0.015

0.6 Stage 2
Stage 3
0.01 Stage 4
0.5 Stage 5
Stage 6
Stages 2, 5 Stage 7
0.4 Stage 3 Stage 8
0.005
Stage 4
0.3 Stage 6
Stage 7
Stage 8
0.2 0
1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10
j j

(c) 𝑇 = 8, 𝑛 = 5, 𝑀 = 10, CuSMuDA CS 1 (d) 𝑇 = 8, 𝑛 = 5, 𝑀 = 10, CuSMuDA CS 2

1 Stage 2
0.08
Stage 3
0.9 Stage 4
0.07 Stage 5
0.8 Stage 6
0.06 Stage 7
0.7 Stage 8

0.6 0.05

0.5 0.04

0.4 Stage 2
Stage 3 0.03
0.3 Stage 4
Stage 5
0.02
0.2 Stages 6, 7
Stage 8
0.01
0.1

0 0
1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10
j j

(e) 𝑇 = 8, 𝑛 = 6, 𝑀 = 10, CuSMuDA CS 1 (f) 𝑇 = 8, 𝑛 = 6, 𝑀 = 10, CuSMuDA CS 2

Figura 3.4: Representação para os estágios 𝑡 = 2,...,𝑇 , com 𝑇 = 8, da proporção média de cortes
(ao longo das iterações dos algoritmos) selecionados para Q𝑡 (·,𝑟𝑡𝑗 ) como função de 𝑗 = 1,...,𝑀
e 𝑀 = 10. Gráficos da esquerda consideram o modelo CuSMuDA CS 1 e gráficos da direita o
modelo CuSMuDA CS 2.
32

iguais se |𝑉2 − 𝑉1 | ≤ 𝜖0 𝑚𝑎𝑥(1,|𝑉1 |), enquanto 𝒞1 é considerado maior que 𝒞2 neste ponto teste se
𝑉1 ≥ 𝑉2 + 𝜖0 𝑚𝑎𝑥(1,|𝑉1 |). Portanto, os pseudo códigos informados anteriormente foram levemente
modificados, como pode ser conferido no Anexo XIII.
Capítulo 4

Conclusão
O presente trabalho se dedicou ao estudo de dois problemas matemáticos distintos, aplicados ao
mundo real.

No primeiro foi feito estudo econométrico de modelagem de séries de oferta de sangue, in-
cluindo estimação e geração de trajetórias futuras. Foram utilizados dados do HEMORIO para
a estimação, apesar da abordagem ser suficientemente generalista para poder ser adaptada a
outras séries de oferta de sangue. As séries de oferta de sangue foram estimadas por Vetores
Autorregressivos (VAR). As trajetórias futuras geradas através das duas técnicas de Bootstrap
estudadas obtiveram expectativa e intervalos de confiança similares e em linha com o esperado,
mostrando-se ambas adequadas e abordagens possíveis para melhorar a previsibilidade das séries
de oferta de sangue.

Próximos passos de interesse incluem a realização de estudo similar para as séries de demanda
de sangue pelos múltiplos hospitais atendidos pela Hemorrede do Estado do Rio de Janeiro e
utilização das estimações para modelos de gestão de bancos de sangue.

O segundo estudo foi dedicado a extensões do algoritmo de Programação Dinâmica Dual Es-
tocástica (Stochastic Dual Dynamic Programming, SDDP). Comparamos dois algoritmos, MuDA
e CuSMuDA, aplicados a seis casos do problema de seleção de carteira. Resultados mostraram
a atratividade do modelo proposto CuSMuDA CS2, que obteve tempos computacionais entre
5,1 e 12,6 vezes menores que o MuDA e entre 10,3 e 21,9 vezes menores que o CuSMuDA CS1.
O trabalho contribuiu com a literatura de otimização estocástica graças à proposta do uso de
estratégias de seleção de corte à extensão de multicortes do SDDP, e particularmente ao sugerir o
uso da estratégia de seleção de cortes Limited Memory Level 1 no caso estocástico. A estratégia
permite ganhos de velocidade de convergência do algoritmo e pode ser aplicada a qualquer pro-
blema prático que necessite de técnicas de otimização estocástica e programação dinâmica linear.

Próximos passos de interesse a este estudo incluem a implementação dos algoritmos a outros
problemas além de seleção de carteira e estudo de convergência do método.
Referências Bibliográficas
[1] H. Akaike, B.N. Petrov, and F. Csaki. Information theory and an extension of the maximum
likelihood principle. Springer, 1973.

[2] L. Andrieu, R. Henrion, and W. Römisch. A model for dynamic chance constraints in hydro
power reservoir management. European Journal of Operational Research, 207:579–589, 2010.

[3] T. Asamov and W.B. Powell. Regularized decomposition of high-dimensional multistage


stochastic programs with markov uncertainty. arXiv preprint arXiv:1505.02227, 2015.

[4] E.M.L. Beale. On minimizing a convex function subject to linear inequalities. Journal of
the Royal Statistical Society. Series B (Methodological), pages 173–184, 1955.
[5] A. Ben-Tal, T. Margalit, and A. Nemirovski. Robust modeling of multi-stage portfolio
problems. In High performance optimization, pages 303–328. Springer, 2000.

[6] J. Berkowitz and L. Kilian. Recent developments in bootstrapping time series. Econometric
Reviews, 19(1):1–48, 2000.
[7] M.J. Best and J. Hlouskova. An algorithm for portfolio optimization with transaction costs.
Management Science, 51(11):1676–1688, 2005.
[8] J.R. Birge. Decomposition and partitioning methods for multistage stochastic linear pro-
grams. Operations research, 33(5):989–1007, 1985.

[9] J.R. Birge and F. Louveaux. Introduction to stochastic programming. series in operations
research and financial engineering, 1997.

[10] J.R. Birge and F.V. Louveaux. A multicut algorithm for two-stage stochastic linear pro-
grams. European Journal of Operational Research, 34(3):384–392, 1988.

[11] W.A. Broock, J.A. Scheinkman, W.D. Dechert, and B. LeBaron. A test for independence
based on the correlation dimension. Econometric reviews, 15(3):197–235, 1996.

[12] N. Buras. Dynamic programming in water resources development. Academic Press, 1966.

[13] G. Casella and R.L. Berger. Statistical inference, volume 2. Duxbury Pacific Grove, CA,
2002.

[14] A. Charnes and W.W. Cooper. Chance-constrained programming. Management science,


6(1):73–79, 1959.

[15] M.R. Chernick. Bootstrap methods: A guide for practitioners and researchers, john wilery
& sons. Inc., Hoboken, New Jersey, 2008.

[16] P.D. Cumming, K.E. Kendall, C.C. Pegels, J.P. Seagle, and J.F. Shubsda. A collections
planning model for regional blood suppliers: description and validation. Management Sci-
ence, 22(9):962–971, 1976.
35

[17] G. Dantzig, A. Orden, and P. Wolfe. The generalized simplex method for minimizing a linear
form under linear inequality restraints. Pacific Journal of Mathematics, 5(2):183–195, 1955.

[18] R. Davidson and J. G. MacKinnon. Econometric theory and methods, volume 5. Oxford
University Press New York, 2004.

[19] B. Efron and R.J. Tibshirani. An introduction to the bootstrap: Monographs on statistics
and applied probability, vol. 57. New York and London: Chapman and Hall/CRC, 1993.

[20] R.C. Elston and J.C. Pickrel. A statistical approach to ordering and usage policies for a
hospital blood bank. Transfusion, 3(1):41–47, 1963.

[21] R.C. Elston and J.C. Pickrel. Guides to inventory levels for a hospital blood bank determined
by electronic computer simulation. Transfusion, 5(5):465–470, 1965.

[22] W. Enders. Applied econometric time series. John Wiley & Sons, 2008.

[23] N. Erkip, W.H. Hausman, and S. Nahmias. Optimal centralized ordering policies in multi-
echelon inventory systems with correlated demands. Management Science, 36(3):381–392,
1990.

[24] G. Schwarz et al. Estimating the dimension of a model. The annals of statistics, 6(2):461–
464, 1978.

[25] G.M. Frankfurter, K.E. Kendall, and C.C. Pegels. Management control of blood through a
short-term supply-demand forecast system. Management Science, 21(4):444–452, 1974.

[26] D. Fresoli, E. Ruiz, , and L. Pascual. Bootstrap multi-step forecasts of non-gaussian var
models. International Journal of Forecasting, 31(3):834–848, 2015.

[27] S. Gaubert, W. McEneaney, and Z. Qu. Curse of dimensionality reduction in max-plus


based approximation methods: Theoretical estimates and improved pruning algorithms.
In Decision and Control and European Control Conference (CDC-ECC), 2011 50th IEEE
Conference on, pages 1054–1061. IEEE, 2011.
[28] P. Girardeau, V. Leclere, and A.B. Philpott. On the convergence of decomposition methods
for multistage stochastic convex programs. Mathematics of Operations Research, 40:130–145,
2015.

[29] S.K. Goyal and B.C. Giri. Recent trends in modeling of deteriorating inventory. European
Journal of operational research, 134(1):1–16, 2001.
[30] V. Guigues. SDDP for some interstage dependent risk-averse problems and application to
hydro-thermal planning. Computational Optimization and Applications, 57:167–203, 2014.

[31] V. Guigues. Convergence analysis of sampling-based decomposition methods for risk-averse


multistage stochastic convex programs. SIAM Journal on Optimization, 26(4):2468–2494,
2016.

[32] V. Guigues. Dual dynamic programing with cut selection: Convergence proof and numerical
experiments. European Journal of Operational Research, 258:47–57, 2017.

[33] V. Guigues and R. Henrion. Joint dynamic probabilistic constraints with projected linear
decision rules. Optimization Methods & Software, 32:1006–1032, 2017.

[34] V. Guigues, M. Lejeune, and W. Tekaya. Regularized decomposition methods for determi-
nistic and stochastic convex optimization and application to portfolio selection with direct
transaction and market impact costs. arXiv, 2017.
36

[35] V. Guigues and W. Römisch. Sampling-based decomposition methods for multistage stochas-
tic programs based on extended polyhedral risk measures. SIAM Journal on Optimization,
22(2):286–312, 2012.

[36] V. Guigues and W. Römisch. SDDP for multistage stochastic linear programs based on
spectral risk measures. Operations Research Letters, 40:313–318, 2012.

[37] V. Guigues and C. Sagastizabal. Risk-averse feasible policies for large-scale multistage
stochastic linear programs. Mathematical Programming, 138(1-2):167–198, 2013.

[38] W. Hall and N. Buras. The dynamic programming approach to water-resources development.
Journal of Geophysical Research, 66(2):517–520, 1961.
[39] D.I. Harvey and P. Newbold. The non-normality of some macroeconomic forecast errors.
International Journal of Forecasting, 19(4):635–653, 2003.
[40] HEMORIO. 2016 (acessado em 3 de fevereiro de 2017).

[41] C.M. Jarque and A.K. Bera. Efficient tests for normality, homoscedasticity and serial inde-
pendence of regression residuals. Economics letters, 6(3):255–259, 1980.

[42] J.B. Jennings and P. Kolesar. Letter to the editor - comments on a blood-bank inventory
model of pegels and jelmert. Operations Research, 21(3):855–858, 1973.

[43] I.Z. Karaesmen, A. Scheller-Wolf, and B. Deniz. Managing perishable and aging inventories:
review and future research directions. In Planning production and inventories in the extended
enterprise, pages 393–436. Springer, 2011.
[44] K.E. Kendall. Planning for innovation in health care: a breakthrough in blood banking.
Long range planning, 17(6):127–131, 1984.
[45] L. Kilian. Accounting for lag order uncertainty in autoregressions: the endogenous lag order
bootstrap algorithm. Journal of Time Series Analysis, 19(5):531–548, 1998.

[46] L. Kilian. Confidence intervals for impulse responses under departures from normality.
Econometric Reviews, 17(1):1–29, 1998.
[47] J.H. Kim. The relationship between forward and backward representations of the stationary
var models. Econometric Theory, 14(5):691–693, 1998.

[48] J.H. Kim. Asymptotic and bootstrap prediction regions for vector autoregression. Interna-
tional Journal of Forecasting, 15(4):393–403, 1999.
[49] V. Kozmík and D.P. Morton. Evaluating policies in risk-averse multi-stage stochastic pro-
gramming. Mathematical Programming, 152(1-2):275–300, 2015.

[50] K. Landsteiner. Ueber agglutinationserscheinungen normalen menschlichen blutes. Wiener


Klinische Wochenschrift, 46:1132—-1134, 1901.
[51] K. Landsteiner and A. Weiner. An agglutinable factor in human blood recognized by immune
sera for rhesus blood. Exp Biol Med, 43:223, 1940.

[52] H. Lütkepohl. New introduction to multiple time series analysis. Springer Science & Business
Media, 2005.

[53] N. Metropolis and S. Ulam. The monte carlo method. Journal of the American statistical
association, 44(247):335–341, 1949.
37

[54] S. Nahmias. Optimal ordering policies for perishable. Operations Research, 23(4):735–749,
1975.

[55] S. Nahmias. Perishable inventory theory: A review. Operations research, 30(4):680–708,


1982.

[56] S. Nahmias. Perishable inventory systems, volume 160. Springer Science & Business Media,
2011.

[57] C.C. Pegels and A.E. Jelmert. An evaluation of blood-inventory policies: A markov chain
application. Operations Research, 18(6):1087–1098, 1970.

[58] M.V.F. Pereira and L.M.V.G. Pinto. Multi-stage stochastic optimization applied to energy
planning. Mathematical programming, 52(1):359–375, 1991.

[59] L. Pfeiffer, R. Apparigliato, and S. Auchapt. Two methods of pruning Benders’ cuts and
their application to the management of a gas portfolio. PhD thesis, INRIA Report, 2012.
[60] A. Philpott, V. de Matos, and E. Finardi. Improving the performance of stochastic dual
dynamic programming. Journal of Computational and Applied Mathematics, 290:196–208,
2012.

[61] A.B. Philpott and Z. Guan. On the convergence of stochastic dual dynamic programming
and related methods. Operations Research Letters, 36(4):450–455, 2008.

[62] E.L. Porteus. Stochastic inventory theory. Handbooks in operations research and manage-
ment science, 2:605–652, 1990.
[63] G.P. Prastacos. Blood inventory management: an overview of theory and practice. Mana-
gement Science, 30(7):777–800, 1984.
[64] A. Ruszczyński. Parallel decomposition of multistage stochastic programming problems.
Mathematical programming, 58(1):201–228, 1993.
[65] A. Shapiro. Analysis of stochastic dual dynamic programming method. European Journal
of Operational Research, 209:63–72, 2011.
[66] A. Shapiro, D. Dentcheva, and A. Ruszczyński. Lectures on Stochastic Programming: Mo-
deling and Theory, second edition. SIAM, Philadelphia, 2014.
[67] R.C. Souza and A.C. Neto. A bootstrap simulation study in arma (p, q) structures. Journal
of Forecasting, 15(4):343–353, 1996.
[68] L.A. Thombs and W.R. Schucany. Bootstrap prediction intervals for autoregression. Journal
of the American Statistical Association, 85(410):486–492, 1990.
[69] A. Turgeon. A decomposition method for the long-term scheduling of reservoirs in series.
Water Resources Research, 17(6):1565–1570, 1981.
[70] W. Zhang, H. Rahimian, and G. Bayraksan. Decomposition algorithms for risk-averse mul-
tistage stochastic programs with application to water allocation under uncertainty. IN-
FORMS Journal on Computing, 28:385–404, 2016.
Anexo I: Estimações de MQO

1. Série A +:
Estimate Std. Error t value Pr(>|𝑡|)
(Intercept) 21.2842 0.7270 29.28 0.0000
pre_carnaval2013 1.0146 0.1309 7.75 0.0000
pre_carnaval2014 0.1931 0.0418 4.61 0.0000
pre_carnaval2015 0.2579 0.0793 3.25 0.0012
jan001 -62.1223 1.4353 -43.28 0.0000
campanha2013 103.7035 1.2252 84.64 0.0000
campanha2014 122.8965 1.4810 82.98 0.0000
campanha2015 127.6354 1.5786 80.86 0.0000
natal2013 -55.1329 1.4642 -37.65 0.0000
natal2014 -50.6944 1.3916 -36.43 0.0000
reveillon2013 33.9258 1.4734 23.03 0.0000
reveillon2014 62.8671 1.4642 42.94 0.0000
copa -7.1545 1.8823 -3.80 0.0002
copabrasil -20.9221 3.0157 -6.94 0.0000
seasonal1 40.2346 1.3259 30.34 0.0000
seasonal2 40.7900 1.4771 27.62 0.0000
seasonal3 41.8487 1.5572 26.88 0.0000
seasonal4 38.4102 1.3903 27.63 0.0000
seasonal5 41.9824 1.3274 31.63 0.0000
seasonal6 36.1700 1.2850 28.15 0.0000
2

Tipo A+

Actual Fitted
200

150

100

50

2013.0 2013.5 2014.0 2014.5 2015.0 2015.5 2016.0

Resíduos OLS

60

40

20

−20

−40

2013.0 2013.5 2014.0 2014.5 2015.0 2015.5 2016.0

Histograma resíduos
150
100
Frequency

50
0

−40 −20 0 20 40

df3

FAC resíduos FACP resíduos


0.20
0.2

Partial ACF
0.1

0.10
ACF

0.0

0.00
−0.1

−0.10

0 200 400 600 0 200 400 600

Lag Lag

Figura 1: MQO Série A+


3

Tipo A−

30 Actual Fitted

25

20

15

10

2013.0 2013.5 2014.0 2014.5 2015.0 2015.5 2016.0

Resíduos OLS

10

−5

2013.0 2013.5 2014.0 2014.5 2015.0 2015.5 2016.0

Histograma resíduos
80 100
Frequency

60
40
20
0

−5 0 5 10

df3

FAC resíduos FACP resíduos


0.10

0.10
Partial ACF
ACF

0.00

0.00
−0.10

−0.10

0 200 400 600 0 200 400 600

Lag Lag

Figura 2: MQO Série A-

2. Série A -:
4

Estimate Std. Error t value Pr(>|𝑡|)


(Intercept) 2.3769 0.1496 15.89 0.0000
pre_carnaval2013 0.1311 0.0259 5.07 0.0000
pre_carnaval2014 0.0264 0.0096 2.76 0.0059
pre_carnaval2015 0.0320 0.0111 2.89 0.0040
jan001 -7.0190 0.1994 -35.20 0.0000
campanha2013 14.9651 0.3995 37.46 0.0000
campanha2014 17.4861 0.6386 27.38 0.0000
campanha2015 17.9733 0.1966 91.43 0.0000
natal2013 -3.1074 0.2811 -11.06 0.0000
natal2014 -3.8397 0.2556 -15.02 0.0000
reveillon2013 5.0796 0.2683 18.93 0.0000
reveillon2014 9.8926 0.2811 35.20 0.0000
copa -1.4292 0.3363 -4.25 0.0000
copabrasil -0.6356 0.8181 -0.78 0.4374
seasonal1 4.7724 0.2636 18.10 0.0000
seasonal2 4.5435 0.2853 15.93 0.0000
seasonal3 4.7305 0.2914 16.23 0.0000
seasonal4 4.4628 0.2826 15.79 0.0000
seasonal5 4.7562 0.2399 19.83 0.0000
seasonal6 4.3682 0.2799 15.61 0.0000

3. Série B +:
5

Tipo B+

Actual Fitted

60

40

20

2013.0 2013.5 2014.0 2014.5 2015.0 2015.5 2016.0

Resíduos OLS

30

20

10

−10

2013.0 2013.5 2014.0 2014.5 2015.0 2015.5 2016.0

Histograma resíduos
150
100
Frequency

50
0

−20 −10 0 10 20

df3

FAC resíduos FACP resíduos


0.10
0.10

Partial ACF
ACF

0.00
0.00

−0.10
−0.10

0 200 400 600 0 200 400 600

Lag Lag

Figura 3: MQO Série B+


6

Estimate Std. Error t value Pr(>|𝑡|)


(Intercept) 6.9290 0.3177 21.81 0.0000
pre_carnaval2013 0.3819 0.0455 8.40 0.0000
pre_carnaval2014 0.1286 0.0280 4.60 0.0000
pre_carnaval2015 0.1034 0.0216 4.78 0.0000
jan001 -22.5725 0.4092 -55.16 0.0000
campanha2013 28.0500 1.0502 26.71 0.0000
campanha2014 33.0868 0.5810 56.95 0.0000
campanha2015 38.1667 1.0456 36.50 0.0000
natal2013 -16.7492 0.5695 -29.41 0.0000
natal2014 -20.2774 0.5568 -36.42 0.0000
reveillon2013 18.9229 0.5787 32.70 0.0000
reveillon2014 29.2508 0.5695 51.36 0.0000
copa -2.0000 0.8631 -2.32 0.0207
copabrasil -8.3643 1.6139 -5.18 0.0000
seasonal1 15.8938 0.5922 26.84 0.0000
seasonal2 15.1481 0.6266 24.18 0.0000
seasonal3 15.8203 0.6760 23.40 0.0000
seasonal4 15.3484 0.6006 25.56 0.0000
seasonal5 15.5444 0.6005 25.89 0.0000
seasonal6 12.9823 0.6045 21.48 0.0000

4. Série B -:
7

Tipo B−

Actual Fitted
10

2013.0 2013.5 2014.0 2014.5 2015.0 2015.5 2016.0

Resíduos OLS

−2

2013.0 2013.5 2014.0 2014.5 2015.0 2015.5 2016.0

Histograma resíduos
150
100
Frequency

50
0

−2 0 2 4 6

df3

FAC resíduos FACP resíduos


0.05

0.05
Partial ACF
ACF

0.00

0.00
−0.05

−0.05

0 200 400 600 0 200 400 600

Lag Lag

Figura 4: MQO Série B-


8

Estimate Std. Error t value Pr(>|𝑡|)


(Intercept) 0.8155 0.0699 11.67 0.0000
pre_carnaval2013 0.0067 0.0074 0.90 0.3678
pre_carnaval2014 0.0200 0.0068 2.93 0.0035
pre_carnaval2015 0.0158 0.0089 1.77 0.0770
jan001 -2.4395 0.1636 -14.91 0.0000
campanha2013 1.7385 0.3499 4.97 0.0000
campanha2014 3.5111 0.2767 12.69 0.0000
campanha2015 2.4399 0.5025 4.86 0.0000
natal2013 -1.7640 0.1593 -11.08 0.0000
natal2014 -0.2983 0.1304 -2.29 0.0223
reveillon2013 -1.2139 0.1251 -9.71 0.0000
reveillon2014 -0.7640 0.1593 -4.80 0.0000
copa -0.2404 0.2393 -1.00 0.3152
copabrasil -1.7916 0.3622 -4.95 0.0000
seasonal1 1.4936 0.1436 10.40 0.0000
seasonal2 1.3984 0.1397 10.01 0.0000
seasonal3 1.9485 0.1701 11.46 0.0000
seasonal4 1.4828 0.1456 10.18 0.0000
seasonal5 1.8026 0.1547 11.65 0.0000
seasonal6 1.4697 0.1449 10.14 0.0000

5. Série AB +:
9

Tipo AB+

Actual Fitted
25

20

15

10

2013.0 2013.5 2014.0 2014.5 2015.0 2015.5 2016.0

Resíduos OLS

10

−5

2013.0 2013.5 2014.0 2014.5 2015.0 2015.5 2016.0

Histograma resíduos
100
80
Frequency

60
40
20
0

−5 0 5 10

df3

FAC resíduos FACP resíduos


0.05

0.05
Partial ACF
ACF

0.00

0.00
−0.05

−0.05

0 200 400 600 0 200 400 600

Lag Lag

Figura 5: MQO Série AB+


10

Estimate Std. Error t value Pr(>|𝑡|)


(Intercept) 2.2076 0.1494 14.78 0.0000
pre_carnaval2013 0.1066 0.0115 9.31 0.0000
pre_carnaval2014 0.0066 0.0089 0.74 0.4592
pre_carnaval2015 0.0216 0.0103 2.10 0.0360
jan001 -6.6229 0.2216 -29.88 0.0000
campanha2013 9.8537 0.8295 11.88 0.0000
campanha2014 14.2595 0.6087 23.43 0.0000
campanha2015 15.6369 0.2091 74.78 0.0000
natal2013 -6.8103 0.2263 -30.09 0.0000
natal2014 -6.2530 0.2418 -25.86 0.0000
reveillon2013 6.3293 0.2414 26.22 0.0000
reveillon2014 1.1897 0.2263 5.26 0.0000
copa -0.9553 0.2447 -3.90 0.0001
copabrasil -1.9155 0.2735 -7.00 0.0000
seasonal1 4.4143 0.2683 16.45 0.0000
seasonal2 4.4631 0.2515 17.75 0.0000
seasonal3 4.6027 0.2583 17.82 0.0000
seasonal4 4.0453 0.2629 15.39 0.0000
seasonal5 4.8184 0.2493 19.33 0.0000
seasonal6 4.2193 0.2717 15.53 0.0000

6. Série O +:
11

Tipo O+

Actual Fitted
300
250
200
150
100
50
0

2013.0 2013.5 2014.0 2014.5 2015.0 2015.5 2016.0

Resíduos OLS

50

−50

2013.0 2013.5 2014.0 2014.5 2015.0 2015.5 2016.0

Histograma resíduos
100
Frequency

60
20
0

−50 0 50

df3

FAC resíduos FACP resíduos


0.3

0.3
0.2

0.2
Partial ACF
ACF

0.1

0.1
0.0

0.0
−0.1

−0.1

0 200 400 600 0 200 400 600

p
Lag Lag

Figura 6: MQO Série O+


12

Estimate Std. Error t value Pr(>|𝑡|)


(Intercept) 30.6795 1.1553 26.56 0.0000
pre_carnaval2013 1.3618 0.0897 15.19 0.0000
pre_carnaval2014 0.3656 0.0472 7.74 0.0000
pre_carnaval2015 0.2219 0.1297 1.71 0.0874
jan001 -89.1594 2.2322 -39.94 0.0000
campanha2013 150.9756 3.1512 47.91 0.0000
campanha2014 172.5205 3.0709 56.18 0.0000
campanha2015 187.8209 2.7058 69.41 0.0000
natal2013 -74.2979 1.9888 -37.36 0.0000
natal2014 -73.5698 1.8207 -40.41 0.0000
reveillon2013 73.3389 2.3043 31.83 0.0000
reveillon2014 48.7021 1.9888 24.49 0.0000
copa -12.2069 2.0956 -5.82 0.0000
copabrasil -26.6088 2.2044 -12.07 0.0000
seasonal1 57.7082 1.7685 32.63 0.0000
seasonal2 57.9816 2.0200 28.70 0.0000
seasonal3 60.6185 2.2079 27.46 0.0000
seasonal4 54.8903 1.7567 31.25 0.0000
seasonal5 59.9900 1.5701 38.21 0.0000
seasonal6 51.7012 1.6910 30.57 0.0000

7. Série A -:
13

Tipo O−
60
Actual Fitted
50

40

30

20

10

2013.0 2013.5 2014.0 2014.5 2015.0 2015.5 2016.0

Resíduos OLS
20
15
10
5
0
−5
−10

2013.0 2013.5 2014.0 2014.5 2015.0 2015.5 2016.0

Histograma resíduos
80 100
Frequency

60
40
20
0

−15 −10 −5 0 5 10 15

df3

FAC resíduos FACP resíduos


0.10

0.10
Partial ACF
ACF

0.00

0.00
−0.10

−0.10

0 200 400 600 0 200 400 600

Lag Lag

Figura 7: MQO Série O-


14

Estimate Std. Error t value Pr(>|𝑡|)


(Intercept) 5.0826 0.2429 20.92 0.0000
pre_carnaval2013 0.2010 0.0225 8.93 0.0000
pre_carnaval2014 0.0346 0.0203 1.71 0.0882
pre_carnaval2015 0.0488 0.0266 1.83 0.0670
jan001 -13.2091 0.2969 -44.49 0.0000
campanha2013 24.1309 0.8715 27.69 0.0000
campanha2014 25.9054 2.6626 9.73 0.0000
campanha2015 26.2055 0.3541 74.01 0.0000
natal2013 -12.1167 0.4278 -28.32 0.0000
natal2014 -12.1537 0.4455 -27.28 0.0000
reveillon2013 -0.0725 0.4368 -0.17 0.8681
reveillon2014 2.8833 0.4278 6.74 0.0000
copa -0.8425 0.6995 -1.20 0.2287
copabrasil -5.7375 0.9358 -6.13 0.0000
seasonal1 7.5829 0.4119 18.41 0.0000
seasonal2 7.9899 0.4747 16.83 0.0000
seasonal3 8.0341 0.4466 17.99 0.0000
seasonal4 8.0711 0.4918 16.41 0.0000
seasonal5 8.0304 0.3918 20.50 0.0000
seasonal6 6.9088 0.3825 18.06 0.0000
Anexo II: Estimações VAR(2)

VAR Estimation Results:


=========================
Endogenous variables: aplus, aminus, bplus, bminus, abplus, oplus, ominus
Deterministic variables: none
Sample size: 1071
Log Likelihood: -21718.648
Roots of the characteristic polynomial:
0.5438 0.3284 0.3284 0.2948 0.28 0.28 0.2595 0.2595 0.2093 0.2093 0.1375
0.1375 0.1359 0.1359
Call:
VAR(y = OLS$res, p = lagvar$selection[1] + 1, type = "none")

Estimation results for equation aplus:


======================================
aplus = aplus.l1 + aminus.l1 + bplus.l1 + bminus.l1 + abplus.l1 +
oplus.l1 + ominus.l1 + aplus.l2 + aminus.l2 + bplus.l2 + bminus.l2 +
abplus.l2 + oplus.l2 + ominus.l2

Estimate Std. Error t value Pr(>|t|)


aplus.l1 0.06595 0.04924 1.339 0.18076
aminus.l1 0.15531 0.17104 0.908 0.36408
bplus.l1 -0.04564 0.09039 -0.505 0.61371
bminus.l1 0.24020 0.29013 0.828 0.40791
abplus.l1 -0.24802 0.17665 -1.404 0.16062
oplus.l1 0.11790 0.03789 3.112 0.00191 **
ominus.l1 0.33256 0.11666 2.851 0.00445 **
aplus.l2 0.04860 0.04910 0.990 0.32250
aminus.l2 -0.14303 0.17079 -0.837 0.40252
bplus.l2 0.09016 0.09054 0.996 0.31958
bminus.l2 -0.30445 0.29100 -1.046 0.29571
abplus.l2 -0.07300 0.17670 -0.413 0.67961
oplus.l2 0.07266 0.03791 1.917 0.05555 .
ominus.l2 -0.06906 0.11691 -0.591 0.55483
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 14.3 on 1057 degrees of freedom


Multiple R-Squared: 0.114, Adjusted R-squared: 0.1023
F-statistic: 9.716 on 14 and 1057 DF, p-value: < 2.2e-16
16

Estimation results for equation aminus:


=======================================
aminus = aplus.l1 + aminus.l1 + bplus.l1 + bminus.l1 + abplus.l1 +
oplus.l1 + ominus.l1 + aplus.l2 + aminus.l2 + bplus.l2 + bminus.l2 +
abplus.l2 + oplus.l2 + ominus.l2

Estimate Std. Error t value Pr(>|t|)


aplus.l1 0.014488 0.010184 1.423 0.15515
aminus.l1 0.067150 0.035375 1.898 0.05794 .
bplus.l1 0.006865 0.018696 0.367 0.71353
bminus.l1 0.174370 0.060006 2.906 0.00374 **
abplus.l1 -0.005560 0.036536 -0.152 0.87907
oplus.l1 0.001720 0.007836 0.220 0.82628
ominus.l1 0.036406 0.024128 1.509 0.13163
aplus.l2 0.003083 0.010156 0.304 0.76149
aminus.l2 0.041157 0.035324 1.165 0.24424
bplus.l2 0.001877 0.018725 0.100 0.92019
bminus.l2 -0.137806 0.060187 -2.290 0.02224 *
abplus.l2 -0.004957 0.036547 -0.136 0.89214
oplus.l2 0.005417 0.007841 0.691 0.48977
ominus.l2 -0.010108 0.024180 -0.418 0.67601
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 2.957 on 1057 degrees of freedom


Multiple R-Squared: 0.05681, Adjusted R-squared: 0.04431
F-statistic: 4.547 on 14 and 1057 DF, p-value: 4.877e-08

Estimation results for equation bplus:


======================================
bplus = aplus.l1 + aminus.l1 + bplus.l1 + bminus.l1 + abplus.l1 +
oplus.l1 + ominus.l1 + aplus.l2 + aminus.l2 + bplus.l2 + bminus.l2 +
abplus.l2 + oplus.l2 + ominus.l2

Estimate Std. Error t value Pr(>|t|)


aplus.l1 0.012471 0.021625 0.577 0.56428
aminus.l1 -0.015266 0.075114 -0.203 0.83899
bplus.l1 0.036988 0.039698 0.932 0.35168
bminus.l1 0.002115 0.127414 0.017 0.98676
abplus.l1 -0.042229 0.077579 -0.544 0.58633
oplus.l1 0.045576 0.016638 2.739 0.00626 **
ominus.l1 0.086917 0.051231 1.697 0.09007 .
aplus.l2 -0.017858 0.021564 -0.828 0.40778
aminus.l2 0.077735 0.075005 1.036 0.30025
bplus.l2 0.046273 0.039760 1.164 0.24477
bminus.l2 -0.104036 0.127796 -0.814 0.41579
abplus.l2 -0.008406 0.077601 -0.108 0.91376
17

oplus.l2 0.014724 0.016648 0.884 0.37667


ominus.l2 -0.067536 0.051343 -1.315 0.18866
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 6.279 on 1057 degrees of freedom


Multiple R-Squared: 0.0565, Adjusted R-squared: 0.044
F-statistic: 4.521 on 14 and 1057 DF, p-value: 5.617e-08

Estimation results for equation bminus:


=======================================
bminus = aplus.l1 + aminus.l1 + bplus.l1 + bminus.l1 + abplus.l1 +
oplus.l1 + ominus.l1 + aplus.l2 + aminus.l2 + bplus.l2 + bminus.l2 +
abplus.l2 + oplus.l2 + ominus.l2

Estimate Std. Error t value Pr(>|t|)


aplus.l1 0.006520 0.005416 1.204 0.2289
aminus.l1-0.025004 0.018813 -1.329 0.1841
bplus.l1 0.004502 0.009943 0.453 0.6508
bminus.l1-0.001613 0.031912 -0.051 0.9597
abplus.l1-0.029537 0.019430 -1.520 0.1288
oplus.l1 0.004298 0.004167 1.031 0.3026
ominus.l1 0.023003 0.012831 1.793 0.0733 .
aplus.l2 0.005072 0.005401 0.939 0.3479
aminus.l2-0.029619 0.018786 -1.577 0.1152
bplus.l2 -0.008862 0.009958 -0.890 0.3737
bminus.l2 0.001241 0.032008 0.039 0.9691
abplus.l2 0.007385 0.019436 0.380 0.7040
oplus.l2 -0.001635 0.004170 -0.392 0.6951
ominus.l2 0.001094 0.012859 0.085 0.9322
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.573 on 1057 degrees of freedom


Multiple R-Squared: 0.02072, Adjusted R-squared: 0.007747
F-statistic: 1.597 on 14 and 1057 DF, p-value: 0.07355

Estimation results for equation abplus:


=======================================
abplus = aplus.l1 + aminus.l1 + bplus.l1 + bminus.l1 + abplus.l1 +
oplus.l1 + ominus.l1 + aplus.l2 + aminus.l2 + bplus.l2 + bminus.l2 +
abplus.l2 + oplus.l2 + ominus.l2

Estimate Std. Error t value Pr(>|t|)


aplus.l1 0.023380 0.009643 2.425 0.0155 *
aminus.l1 -0.021542 0.033494 -0.643 0.5203
bplus.l1 0.014599 0.017702 0.825 0.4097
18

bminus.l1 0.021714 0.056816 0.382 0.7024


abplus.l1 -0.030079 0.034594 -0.869 0.3848
oplus.l1 0.007488 0.007419 1.009 0.3131
ominus.l1 0.000954 0.022845 0.042 0.9667
aplus.l2 0.012337 0.009616 1.283 0.1998
aminus.l2 -0.018257 0.033446 -0.546 0.5853
bplus.l2 0.006419 0.017730 0.362 0.7174
bminus.l2 0.011138 0.056987 0.195 0.8451
abplus.l2 0.012896 0.034604 0.373 0.7095
oplus.l2 -0.009664 0.007424 -1.302 0.1933
ominus.l2 0.010988 0.022895 0.480 0.6314
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 2.8 on 1057 degrees of freedom


Multiple R-Squared: 0.03363, Adjusted R-squared: 0.02083
F-statistic: 2.627 on 14 and 1057 DF, p-value: 0.0009222

Estimation results for equation oplus:


======================================
oplus = aplus.l1 + aminus.l1 + bplus.l1 + bminus.l1 + abplus.l1 +
oplus.l1 + ominus.l1 + aplus.l2 + aminus.l2 + bplus.l2 + bminus.l2 +
abplus.l2 + oplus.l2 + ominus.l2

Estimate Std. Error t value Pr(>|t|)


aplus.l1 0.115497 0.066555 1.735 0.08297 .
aminus.l1 0.232576 0.231176 1.006 0.31462
bplus.l1 0.126740 0.122177 1.037 0.29981
bminus.l1 0.160224 0.392140 0.409 0.68292
abplus.l1 -0.303525 0.238763 -1.271 0.20392
oplus.l1 0.133358 0.051208 2.604 0.00934 **
ominus.l1 0.262216 0.157673 1.663 0.09660 .
aplus.l2 0.024113 0.066367 0.363 0.71643
aminus.l2 -0.030236 0.230842 -0.131 0.89582
bplus.l2 -0.007326 0.122369 -0.060 0.95227
bminus.l2 -0.306073 0.393317 -0.778 0.43663
abplus.l2 -0.193998 0.238831 -0.812 0.41681
oplus.l2 0.157285 0.051238 3.070 0.00220 **
ominus.l2 -0.066142 0.158016 -0.419 0.67561
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 19.33 on 1057 degrees of freedom


Multiple R-Squared: 0.1203, Adjusted R-squared: 0.1087
F-statistic: 10.33 on 14 and 1057 DF, p-value: < 2.2e-16

Estimation results for equation ominus:


19

=======================================
ominus = aplus.l1 + aminus.l1 + bplus.l1 + bminus.l1 + abplus.l1 +
oplus.l1 + ominus.l1 + aplus.l2 + aminus.l2 + bplus.l2 + bminus.l2 +
abplus.l2 + oplus.l2 + ominus.l2

Estimate Std. Error t value Pr(>|t|)


aplus.l1 0.027315 0.015275 1.788 0.07402 .
aminus.l1 0.012741 0.053057 0.240 0.81027
bplus.l1 -0.016625 0.028041 -0.593 0.55339
bminus.l1 0.148352 0.090000 1.648 0.09958 .
abplus.l1 0.026956 0.054799 0.492 0.62289
oplus.l1 0.006017 0.011753 0.512 0.60878
ominus.l1 0.101828 0.036188 2.814 0.00499 **
aplus.l2 0.001876 0.015232 0.123 0.90199
aminus.l2 0.007820 0.052981 0.148 0.88268
bplus.l2 0.043105 0.028085 1.535 0.12513
bminus.l2 -0.192955 0.090271 -2.138 0.03278 *
abplus.l2 0.010084 0.054814 0.184 0.85408
oplus.l2 0.011741 0.011760 0.998 0.31830
ominus.l2 0.009895 0.036266 0.273 0.78502
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 4.435 on 1057 degrees of freedom


Multiple R-Squared: 0.06525, Adjusted R-squared: 0.05287
F-statistic: 5.27 on 14 and 1057 DF, p-value: 9.383e-10

Covariance matrix of residuals:


aplus aminus bplus bminus abplus oplus ominus
aplus 204.438 19.9850 51.411 5.9646 16.371 206.124 27.393
aminus 19.985 8.7451 6.371 0.6622 1.678 24.816 4.313
bplus 51.411 6.3707 39.428 1.8041 6.270 72.597 10.464
bminus 5.965 0.6622 1.804 2.4733 0.670 7.598 1.152
abplus 16.371 1.6778 6.270 0.6700 7.840 23.557 2.498
oplus 206.124 24.8155 72.597 7.5978 23.557 373.466 43.709
ominus 27.393 4.3126 10.464 1.1523 2.498 43.709 19.672

Correlation matrix of residuals:


aplus aminus bplus bminus abplus oplus ominus
aplus 1.0000 0.4727 0.5726 0.2653 0.4089 0.7460 0.4319
aminus 0.4727 1.0000 0.3431 0.1424 0.2026 0.4342 0.3288
bplus 0.5726 0.3431 1.0000 0.1827 0.3566 0.5983 0.3757
bminus 0.2653 0.1424 0.1827 1.0000 0.1522 0.2500 0.1652
abplus 0.4089 0.2026 0.3566 0.1522 1.0000 0.4354 0.2012
oplus 0.7460 0.4342 0.5983 0.2500 0.4354 1.0000 0.5099
ominus 0.4319 0.3288 0.3757 0.1652 0.2012 0.5099 1.0000
20

VAR(2): Resíduo A+

60

40

20

−20

−40

2013.0 2013.5 2014.0 2014.5 2015.0 2015.5 2016.0

Histograma Normal Q−Q Plot

N(0,dp(A+))
4


0.030





3

●●
●●●●
0.025




●●
●●

●●

●●
●●
2


●●
●●


●●

●●


●●
●●

●●



●●

●●



●●

●●

●●
0.020



●●
●●


●●

●●


●●
Sample Quantiles


●●





●●


1

●●


●●



●●





●●



Density




●●

●●




●●





●●

●●



0.015



●●

●●

●●
●●

●●


●●





●●

●●



0

●●

●●





●●


●●

●●




●●





●●
●●




●●



●●






●●


●●



●●

0.010



●●


●●






−1


●●


●●

●●


●●

●●


●●


●●



●●





●●



●●



●●

●●
●●

●●

●●


●●
●●
0.005



●●




−2


●●

●●
●●

●●
●●

●●
●●●

●●●
●●●


●●
0.000

−3


● ●

−40 −20 0 20 40 60 −3 −2 −1 0 1 2 3

df1 Theoretical Quantiles

FAC FACP
0.05
0.05

Partial ACF

0.00
ACF

0.00

−0.10 −0.05
−0.05

0 200 400 600 0 200 400 600

Lag Lag

Figura 8: VAR(2): Resíduos da Série A+


21

VAR(2): Resíduo A−

15

10

−5

2013.0 2013.5 2014.0 2014.5 2015.0 2015.5 2016.0

Histograma Normal Q−Q Plot

N(0,dp(A−)) ●
0.15


●●
●●
●●
3




●●●





●●
●●

●●
●●
●●



●●


0.10





●●


●●


●●
Sample Quantiles

●●



●●





●●

●●



●●

●●
●●

Density


●●




●●
●●


1




●●



●●





●●

●●



●●


●●



●●


●●



●●


●●





●●

●●




●●


●●






●●
0



●●




●●


●●



●●

0.05



●●




●●




●●



●●


●●



●●


●●




●●


●●

●●


●●
●●


●●



●●


●●

●●
−1




●●




●●




●●



●●


●●



●●

●●

●●

●●

●●



●●
●●



●●

●●


●●

●●

●●



●●

●●

●●

●●
−2

●●●

●●●
●●
●●
●●
0.00

● ● ●

−5 0 5 10 −3 −2 −1 0 1 2 3

df1 Theoretical Quantiles

FAC FACP
0.05

0.05
Partial ACF
ACF

0.00

0.00
−0.05

−0.05

0 200 400 600 0 200 400 600

Lag Lag

Figura 9: VAR(2): Resíduos da Série A-


22

VAR(2): Resíduo B+

30

20

10

−10

2013.0 2013.5 2014.0 2014.5 2015.0 2015.5 2016.0

Histograma Normal Q−Q Plot

N(0,dp(B+)) ●


0.06

●●

●●


0.05

●●
●●●

●●

●●

●●

●●

●●
●●


2




●●


0.04


●●




●●

Sample Quantiles

●●

●●
●●

●●
●●


●●




●●


●●




Density

●●





●●

●●





●●


●●

●●




●●
●●

0.03

●●

●●

●●

●●



●●





●●



●●




●●


●●

●●


●●




●●

●●

●●


●●


0

●●




●●





●●



●●



●●




●●
0.02



●●



●●


●●


●●
●●


●●



●●




●●

●●


●●

●●
●●


●●





●●


●●

●●
●●

●●


●●

●●

●●

●●

●●

●●




●●





0.01


●●


●●








●●


−2

●●

●●



●●
●●
●●
●●
●●
●●●
●●●●

● ●●
0.00

● ●

−10 0 10 20 30 −3 −2 −1 0 1 2 3

df1 Theoretical Quantiles

FAC FACP
0.10

0.05
0.05

Partial ACF
ACF

0.00
0.00

−0.05
−0.05

0 200 400 600 0 200 400 600

Lag Lag

Figura 10: VAR(2): Resíduos da Série B+


23

VAR(2): Resíduo B−

−2

2013.0 2013.5 2014.0 2014.5 2015.0 2015.5 2016.0

Histograma Normal Q−Q Plot

N(0,dp(B−)) ●


4
0.25


●●


●●
3

●●●●●
●●
0.20


●●



●●





●●

●●




2



●●

Sample Quantiles


●●

●●


●●

●●
0.15


●●


●●
Density



●●












●●


●●




●●

1


●●




●●




●●


●●





●●



●●


●●






●●
0.10



●●



●●




●●

●●



●●

●●

●●


●●


0

●●




●●




●●




●●





●●



●●

●●
●●

●●


●●





●●
●●






●●





●●


0.05


●●




●●

●●




●●


●●
−1

●●


●●



●●



●●
●●





●●

●●





●●



●●
●●

●●


●●


●●

●●


●●

●●
●●

●●
●●

●●

●●
●●
●●●
●●
●●●●
●●
●●●
−2

● ●●
0.00

−2 0 2 4 6 −3 −2 −1 0 1 2 3

df1 Theoretical Quantiles

FAC FACP
0.05

0.05
Partial ACF
ACF

0.00

0.00
−0.05

−0.05

0 200 400 600 0 200 400 600

Lag Lag

Figura 11: VAR(2): Resíduos da Série B-


24

VAR(2): Resíduo AB+

10

−5

2013.0 2013.5 2014.0 2014.5 2015.0 2015.5 2016.0

Histograma Normal Q−Q Plot

N(0,dp(AB+)) ●

4


0.15




3

●●
●●●
●●●●
●●

●●

●●
●●

●●
●●







●●




2




●●

●●
●●
●●

Sample Quantiles

●●



0.10



●●




●●




●●

●●

●●
Density

●●




●●


1


●●





●●


●●



●●



●●
●●

●●


●●




●●


●●


●●



●●

●●



●●

●●



●●


●●




●●

0


●●


●●


●●

●●




●●



●●


●●

●●



●●


0.05


●●


●●



●●

●●



●●


●●


●●



●●


●●
●●

●●

●●




−1

●●


●●



●●


●●

●●




●●


●●
●●






●●




●●


●●

●●

●●

●●


●●

●●


●●

●●

●●
●●
●●
●●
●●
−2

●●●
●●●●●
●●●●
●●
0.00


−5 0 5 10 −3 −2 −1 0 1 2 3

df1 Theoretical Quantiles

FAC FACP
0.05

0.05
Partial ACF
ACF

0.00

0.00
−0.05

−0.05

0 200 400 600 0 200 400 600

Lag Lag

Figura 12: VAR(2): Resíduos da Série AB+


25

VAR(2): Resíduo O+

50

−50

2013.0 2013.5 2014.0 2014.5 2015.0 2015.5 2016.0

Histograma Normal Q−Q Plot


0.025

N(0,dp(O+)) ●

4



0.020


●●
●●●●

●●●●
●●




●●
●●


●●

●●


2

●●
●●


●●


●●




0.015


●●

●●


●●


●●



●●



Sample Quantiles

●●


●●


●●




●●

●●


●●


●●

●●


●●


Density


●●


●●

●●



●●


●●




●●


●●


●●




●●



●●

●●


●●



●●



●●


●●



0


0.010


●●






●●


●●
●●


●●





●●



●●





●●

●●


●●





●●


●●

●●

●●

●●



●●



●●



●●

●●




●●




●●
●●

●●
●●


●●


●●

●●


●●
●●

●●


●●

●●
●●

0.005

●●


●●

●●




●●


−2



●●


●●



●●
●●●

●●●

●●●

●●

0.000

−50 0 50 −3 −2 −1 0 1 2 3

df1 Theoretical Quantiles

FAC FACP
0.05

0.05
Partial ACF
ACF

0.00

0.00
−0.05

−0.05

0 200 400 600 0 200 400 600

Lag Lag

Figura 13: VAR(2): Resíduos da Série O+


26

VAR(2): Resíduo O−

15

10

−5

−10

2013.0 2013.5 2014.0 2014.5 2015.0 2015.5 2016.0

Histograma Normal Q−Q Plot


0.10

N(0,dp(O−)) ●

● ●
●●●

3

●●●

●●
●●
●●
●●
0.08



●●





●●




2




●●




●●

●●

●●




●●


●●


●●




●●


●●
●●

●●

●●



●●

0.06


●●


1

●●


●●

●●



Sample Quantiles


●●

●●


●●


●●

●●



●●


●●


●●

Density


●●

●●




●●

●●

●●


●●


●●


●●

●●

0




●●


●●





●●

●●

●●


0.04

●●

●●
●●

●●



●●


●●


●●

●●
●●


●●


●●





●●



●●




●●

●●





−1

●●




●●

●●



●●

●●
●●




●●


●●

●●


●●


●●

●●



●●

●●
●●


●●


0.02



●●


●●

●●

●●


●●
●●

−2

●●●

●●●
●●

●●●



−3
0.00

−15 −10 −5 0 5 10 15 −3 −2 −1 0 1 2 3

df1 Theoretical Quantiles

FAC FACP
0.05

0.05
Partial ACF
ACF

0.00

0.00
−0.05

−0.05

0 200 400 600 0 200 400 600

Lag Lag

Figura 14: VAR(2): Resíduos da Série O-


Anexo III: Resultados dos Testes de
hipóteses

Testes Jarque-Bera para normalidade


Abaixo estão os resultados dos testes Jarque-Bera realizados individualmente nos resíduos das
equações estimadas por VAR(2) das séries de oferta de sangue. A hipótese nula de normalidade
do teste foi rejeitada a 1% de significância para todas as séries de oferta de sangue.

1. Série A +:
Teste Jarque Bera na variável A+

Jarque Bera Test

data: VAR$res[, i]
X-squared = 8.7545, df = 2, p-value = 0.01256

2. Série A -:
Teste Jarque Bera na variável A-

Jarque Bera Test

data: VAR$res[, i]
X-squared = 81.093, df = 2, p-value < 2.2e-16

3. Série B +:
Teste Jarque Bera na variável B+

Jarque Bera Test

data: VAR$res[, i]
X-squared = 56.61, df = 2, p-value = 5.097e-13

4. Série B -:
Teste Jarque Bera na variável B-

Jarque Bera Test


28

data: VAR$res[, i]
X-squared = 168.19, df = 2, p-value < 2.2e-16

5. Série AB +:
Teste Jarque Bera na variável AB+

Jarque Bera Test

data: VAR$res[, i]
X-squared = 78.623, df = 2, p-value < 2.2e-16

6. Série AB -:
Teste Jarque Bera na variável AB-

Jarque Bera Test

data: ab
X-squared = 18054, df = 2, p-value < 2.2e-16

7. Série O +:
Teste Jarque Bera na variável O+

Jarque Bera Test

data: VAR$res[, i]
X-squared = 49.624, df = 2, p-value = 1.676e-11

8. Série O -:
Teste Jarque Bera na variável O-

Jarque Bera Test

data: VAR$res[, i]
X-squared = 29.805, df = 2, p-value = 3.373e-07

Testes BDS

1. Série A +:
Teste BDS na variável A+

BDS Test

data: VAR$res[, i]
29

Embedding dimension = 2 3 4 5 6

Epsilon for close points = 7.1055 14.2111 21.3166 28.4221 35.5276

Standard Normal =
[ 7.1055 ] [ 14.2111 ] [ 21.3166 ] [ 28.4221 ] [ 35.5276 ]
[ 2 ] -0.3704 -0.3121 -0.5272 -0.8477 -1.1830
[ 3 ] -0.5643 -0.6246 -0.9268 -1.2069 -1.5461
[ 4 ] -0.8955 -1.1777 -1.4822 -1.6708 -1.9991
[ 5 ] -1.3136 -1.1920 -1.6598 -1.8119 -2.2506
[ 6 ] -0.7430 -0.8381 -1.5489 -1.7439 -2.3495

p-value =
[ 7.1055 ] [ 14.2111 ] [ 21.3166 ] [ 28.4221 ] [ 35.5276 ]
[ 2 ] 0.7111 0.7550 0.5981 0.3966 0.2368
[ 3 ] 0.5725 0.5322 0.3540 0.2275 0.1221
[ 4 ] 0.3705 0.2389 0.1383 0.0948 0.0456
[ 5 ] 0.1890 0.2332 0.0970 0.0700 0.0244
[ 6 ] 0.4575 0.4020 0.1214 0.0812 0.0188

2. Série A -:
Teste BDS na variável A-

BDS Test

data: VAR$res[, i]

Embedding dimension = 2 3 4 5 6

Epsilon for close points = 1.4696 2.9392 4.4088 5.8784 7.3480

Standard Normal =
[ 1.4696 ] [ 2.9392 ] [ 4.4088 ] [ 5.8784 ] [ 7.348 ]
[ 2 ] 1.1416 1.0017 1.2910 1.6631 1.7931
[ 3 ] 0.7601 0.3596 0.7976 1.4680 1.9754
[ 4 ] 0.3717 -0.0800 0.4917 1.2348 1.7544
[ 5 ] -0.0537 -0.0563 0.5506 1.3684 1.8430
[ 6 ] 0.0828 -0.2217 0.4299 1.2923 1.7235

p-value =
[ 1.4696 ] [ 2.9392 ] [ 4.4088 ] [ 5.8784 ] [ 7.348 ]
[ 2 ] 0.2536 0.3165 0.1967 0.0963 0.0730
[ 3 ] 0.4472 0.7192 0.4251 0.1421 0.0482
[ 4 ] 0.7102 0.9363 0.6229 0.2169 0.0794
[ 5 ] 0.9571 0.9551 0.5819 0.1712 0.0653
[ 6 ] 0.9340 0.8246 0.6673 0.1962 0.0848

3. Série B +:
30

Teste BDS na variável B+

BDS Test

data: VAR$res[, i]

Embedding dimension = 2 3 4 5 6

Epsilon for close points = 3.1205 6.2409 9.3614 12.4818 15.6023

Standard Normal =
[ 3.1205 ] [ 6.2409 ] [ 9.3614 ] [ 12.4818 ] [ 15.6023 ]
[ 2 ] 0.3880 0.3218 0.4347 0.4891 0.3087
[ 3 ] 0.7002 0.6983 0.7478 0.6696 0.4657
[ 4 ] 0.7994 1.0881 1.1724 0.9404 0.5373
[ 5 ] 0.8749 1.3731 1.2785 1.0066 0.5906
[ 6 ] 0.9563 1.4268 1.2881 0.9720 0.5683

p-value =
[ 3.1205 ] [ 6.2409 ] [ 9.3614 ] [ 12.4818 ] [ 15.6023 ]
[ 2 ] 0.6980 0.7476 0.6638 0.6247 0.7575
[ 3 ] 0.4838 0.4850 0.4546 0.5031 0.6414
[ 4 ] 0.4241 0.2766 0.2410 0.3470 0.5911
[ 5 ] 0.3816 0.1697 0.2011 0.3141 0.5548
[ 6 ] 0.3389 0.1536 0.1977 0.3311 0.5698

4. Série B -:

Teste BDS na variável B-

BDS Test

data: VAR$res[, i]

Embedding dimension = 2 3 4 5 6

Epsilon for close points = 0.7816 1.5631 2.3447 3.1262 3.9078

Standard Normal =
[ 0.7816 ] [ 1.5631 ] [ 2.3447 ] [ 3.1262 ] [ 3.9078 ]
[ 2 ] -0.4387 -0.3968 -0.7357 -1.0170 -1.3377
[ 3 ] 0.4629 0.1949 0.1274 -0.1098 -0.3846
[ 4 ] 0.4984 -0.0110 0.0243 -0.3254 -0.5844
[ 5 ] 0.5180 -0.1844 -0.1459 -0.5510 -0.7824
[ 6 ] 1.0459 -0.3593 -0.3617 -0.7354 -0.9322

p-value =
[ 0.7816 ] [ 1.5631 ] [ 2.3447 ] [ 3.1262 ] [ 3.9078 ]
[ 2 ] 0.6609 0.6915 0.4619 0.3091 0.1810
[ 3 ] 0.6434 0.8455 0.8986 0.9126 0.7005
31

[ 4 ] 0.6182 0.9913 0.9806 0.7448 0.5589


[ 5 ] 0.6045 0.8537 0.8840 0.5816 0.4340
[ 6 ] 0.2956 0.7193 0.7176 0.4621 0.3512

5. Série AB +:
Teste BDS na variável AB+

BDS Test

data: VAR$res[, i]

Embedding dimension = 2 3 4 5 6

Epsilon for close points = 1.3915 2.7829 4.1744 5.5658 6.9573

Standard Normal =
[ 1.3915 ] [ 2.7829 ] [ 4.1744 ] [ 5.5658 ] [ 6.9573 ]
[ 2 ] -0.8643 -1.0501 -0.7094 -0.9368 -0.7527
[ 3 ] -1.1604 -1.2205 -0.7101 -0.5425 -0.2417
[ 4 ] -0.9011 -1.2914 -0.6536 -0.3498 -0.0522
[ 5 ] -0.0452 -1.3700 -0.5839 -0.1814 0.1613
[ 6 ] 0.9887 -1.3932 -0.5470 -0.1106 0.3109

p-value =
[ 1.3915 ] [ 2.7829 ] [ 4.1744 ] [ 5.5658 ] [ 6.9573 ]
[ 2 ] 0.3874 0.2937 0.4781 0.3489 0.4516
[ 3 ] 0.2459 0.2223 0.4776 0.5875 0.8090
[ 4 ] 0.3676 0.1966 0.5134 0.7265 0.9584
[ 5 ] 0.9639 0.1707 0.5593 0.8561 0.8719
[ 6 ] 0.3228 0.1636 0.5843 0.9119 0.7559

6. Série AB -:
Teste BDS na variável AB-

BDS Test

data: ab

Embedding dimension = 2 3 4 5 6

Epsilon for close points = 0.5282 1.0564 1.5846 2.1128 2.6410

Standard Normal =
[ 0.5282 ] [ 1.0564 ] [ 1.5846 ] [ 2.1128 ] [ 2.641 ]
[ 2 ] 1.6473 3.5566 3.5566 8.8578 8.8578
[ 3 ] 2.0886 3.9477 3.9477 8.6149 8.6149
[ 4 ] 1.7868 3.6842 3.6842 7.8723 7.8723
32

[ 5 ] 1.6104 3.7909 3.7909 7.1638 7.1638


[ 6 ] 1.6023 3.8657 3.8657 6.8206 6.8206

p-value =
[ 0.5282 ] [ 1.0564 ] [ 1.5846 ] [ 2.1128 ] [ 2.641 ]
[ 2 ] 0.0995 4e-04 4e-04 0 0
[ 3 ] 0.0367 1e-04 1e-04 0 0
[ 4 ] 0.0740 2e-04 2e-04 0 0
[ 5 ] 0.1073 2e-04 2e-04 0 0
[ 6 ] 0.1091 1e-04 1e-04 0 0

7. Série O +:
Teste BDS na variável O+

BDS Test

data: VAR$res[, i]

Embedding dimension = 2 3 4 5 6

Epsilon for close points = 9.6038 19.2075 28.8113 38.4150 48.0188

Standard Normal =
[ 9.6038 ] [ 19.2075 ] [ 28.8113 ] [ 38.415 ] [ 48.0188 ]
[ 2 ] -0.5084 -0.4981 -0.8531 -0.9209 -1.0728
[ 3 ] -1.5814 -1.2042 -1.3772 -1.0271 -0.8586
[ 4 ] -1.9661 -1.4602 -1.4442 -0.9644 -0.6487
[ 5 ] -1.7231 -1.2057 -1.1786 -0.6516 -0.3395
[ 6 ] -1.3543 -1.0745 -1.0870 -0.5535 -0.3075

p-value =
[ 9.6038 ] [ 19.2075 ] [ 28.8113 ] [ 38.415 ] [ 48.0188 ]
[ 2 ] 0.6112 0.6184 0.3936 0.3571 0.2834
[ 3 ] 0.1138 0.2285 0.1684 0.3044 0.3905
[ 4 ] 0.0493 0.1442 0.1487 0.3348 0.5165
[ 5 ] 0.0849 0.2279 0.2386 0.5146 0.7342
[ 6 ] 0.1756 0.2826 0.2770 0.5799 0.7584

8. Série O -:
Teste BDS na variável O-

BDS Test

data: VAR$res[, i]

Embedding dimension = 2 3 4 5 6
33

Epsilon for close points = 2.2042 4.4083 6.6125 8.8167 11.0208

Standard Normal =
[ 2.2042 ] [ 4.4083 ] [ 6.6125 ] [ 8.8167 ] [ 11.0208 ]
[ 2 ] -0.3892 -0.6597 -0.8278 -0.4449 -0.5610
[ 3 ] -0.2328 -0.5430 -0.8241 -0.5387 -0.8181
[ 4 ] -0.4591 -0.5016 -0.8579 -0.5609 -0.9508
[ 5 ] -1.0527 -0.7813 -1.0491 -0.7255 -1.1192
[ 6 ] -0.9081 -0.8667 -0.9894 -0.7765 -1.2680

p-value =
[ 2.2042 ] [ 4.4083 ] [ 6.6125 ] [ 8.8167 ] [ 11.0208 ]
[ 2 ] 0.6971 0.5094 0.4078 0.6564 0.5748
[ 3 ] 0.8159 0.5871 0.4099 0.5901 0.4133
[ 4 ] 0.6462 0.6160 0.3910 0.5749 0.3417
[ 5 ] 0.2925 0.4346 0.2941 0.4681 0.2630
[ 6 ] 0.3639 0.3861 0.3225 0.4375 0.2048
Anexo IV: Trajetórias
Boostrap Gaussiano

Trajetórias das séries dessazonalizadas Essas trajetórias foram geradas


a partir das séries utilizadas para a modelagem VAR(2), sendo, portanto,
as séries de oferta de sangue após a dessazonalização e retirada de efeitos
contemporâneos feita através dos modelos de MQO.
Trajetórias das séries originais A partir das trajetórias construı́das
pela metodologia utilizando as séries estimadas por VAR(2), é possı́vel con-
struir trajetórias para as séries originais de oferta de sangue, recuperando as
estimações de MQO e incluindo em cada trajetória todos os efeitos sazonais
que as influenciariam no perı́odo futuro considerado, o que inclui o perı́odo
pré carnaval e sazonalidade semanal. Os gráficos a seguir correspondem às
trajetórias construı́das a partir da metodologia Bootstrap Gaussiana e da re-
cuperação das séries originais utilizando os valores estimados aos parâmetros
dos modelos de MQO.

1
Trajetórias Gaussianas A+

80

60

40
traj_var_gau[(j − 1) * M + 1, ]

20

−20

−40

previsto
−60 amostral

0 5 10 15 20 25 30

Index

Figure 1: Simulação Gaussiana VAR(2) - tipo A+

2
Trajetórias Gaussianas A−

15

10

5
traj_var_gau[(j − 1) * M + 1, ]

−5

−10

previsto
amostral

0 5 10 15 20 25 30

Index

Figure 2: Simulação Gaussiana VAR(2) - tipo A-

3
Trajetórias Gaussianas B+

30

20

10
traj_var_gau[(j − 1) * M + 1, ]

−10

−20

previsto
amostral
−30

0 5 10 15 20 25 30

Index

Figure 3: Simulação Gaussiana VAR(2) - tipo B+

4
Trajetórias Gaussianas B−

4
traj_var_gau[(j − 1) * M + 1, ]

−2

−4

−6 previsto
amostral

0 5 10 15 20 25 30

Index

Figure 4: Simulação Gaussiana VAR(2) - tipo B-

5
Trajetórias Gaussianas AB+

10

5
traj_var_gau[(j − 1) * M + 1, ]

−5

−10

previsto
amostral

0 5 10 15 20 25 30

Index

Figure 5: Simulação Gaussiana VAR(2) - tipo AB+

6
Trajetórias Gaussianas O+

100

50
traj_var_gau[(j − 1) * M + 1, ]

−50

previsto
−100 amostral

0 5 10 15 20 25 30

Index

Figure 6: Simulação Gaussiana VAR(2) - tipo O+

7
Trajetórias Gaussianas O−

20

10
traj_var_gau[(j − 1) * M + 1, ]

−10

previsto
amostral

0 5 10 15 20 25 30

Index

Figure 7: Simulação Gaussiana VAR(2) - tipo O-

8
Trajetórias Gaussianas A+

200

150
traj_final_gau[(j − 1) * M + 1, ]

100

50

0 previsto
amostral

0 5 10 15 20 25 30

Index

Figure 8: Simulação Gaussiana - tipo A+

9
Trajetórias Gaussianas A−

30

25

20
traj_final_gau[(j − 1) * M + 1, ]

15

10

0 previsto
amostral

0 5 10 15 20 25 30

Index

Figure 9: Simulação Gaussiana - tipo A-

10
Trajetórias Gaussianas B+

80

60
traj_final_gau[(j − 1) * M + 1, ]

40

20

0 previsto
amostral

0 5 10 15 20 25 30

Index

Figure 10: Simulação Gaussiana - tipo B+

11
Trajetórias Gaussianas B−

10

8
traj_final_gau[(j − 1) * M + 1, ]

0 previsto
amostral

0 5 10 15 20 25 30

Index

Figure 11: Simulação Gaussiana - tipo B-

12
Trajetórias Gaussianas AB+

20

15
traj_final_gau[(j − 1) * M + 1, ]

10

0 previsto
amostral

0 5 10 15 20 25 30

Index

Figure 12: Simulação Gaussiana - tipo AB+

13
Trajetórias Gaussianas AB−

12

10
traj_final_gau[(j − 1) * M + 1, ]

0 previsto
amostral

0 5 10 15 20 25 30

Index

Figure 13: Simulação Gaussiana - tipo AB-

14
Trajetórias Gaussianas O+

200

150
traj_final_gau[(j − 1) * M + 1, ]

100

50

0 previsto
amostral

0 5 10 15 20 25 30

Index

Figure 14: Simulação Gaussiana - tipo O+

15
Trajetórias Gaussianas O−

35

30

25
traj_final_gau[(j − 1) * M + 1, ]

20

15

10

0 previsto
amostral

0 5 10 15 20 25 30

Index

Figure 15: Simulação Gaussiana - tipo O-

16
Anexo V: Trajetórias finais
de Boostrap Kim

Trajetórias das séries dessazonalizadas Essas trajetórias foram geradas


a partir das séries utilizadas para a modelagem VAR(2), sendo, portanto,
as séries de oferta de sangue após a dessazonalização e retirada de efeitos
contemporâneos feita através dos modelos de MQO.
Trajetórias das séries originais A partir das trajetórias construı́das
pela metodologia utilizando as séries estimadas por VAR(2), é possı́vel con-
struir trajetórias para as séries originais de oferta de sangue, recuperando as
estimações de MQO e incluindo em cada trajetória todos os efeitos sazonais
que as influenciariam no perı́odo futuro considerado, o que inclui o perı́odo
pré carnaval e sazonalidade semanal. Os gráficos a seguir correspondem às
trajetórias construı́das a partir da metodologia Bootstrap Backward e da re-
cuperação das séries originais utilizando os valores estimados aos parâmetros
dos modelos de MQO.

1
Trajetórias Bootstrap A+

60

40
traj_var_kim[(j − 1) * M + 1, ]

20

−20

−40

previsto
amostral
−60
0 5 10 15 20 25 30

Index

Figure 1: Simulação pelo método Kim (1999) VAR(2) - tipo A+

2
Trajetórias Bootstrap A−

15

10
traj_var_kim[(j − 1) * M + 1, ]

−5

previsto
amostral
−10
0 5 10 15 20 25 30

Index

Figure 2: Simulação pelo método Kim (1999) VAR(2) - tipo A-

3
Trajetórias Bootstrap B+

30

20
traj_var_kim[(j − 1) * M + 1, ]

10

−10

previsto
−20 amostral

0 5 10 15 20 25 30

Index

Figure 3: Simulação pelo método Kim (1999) VAR(2) - tipo B+

4
Trajetórias Bootstrap B−

6
traj_var_kim[(j − 1) * M + 1, ]

−2

−4 previsto
amostral

0 5 10 15 20 25 30

Index

Figure 4: Simulação pelo método Kim (1999) VAR(2) - tipo B-

5
Trajetórias Bootstrap AB+

15

10
traj_var_kim[(j − 1) * M + 1, ]

−5

previsto
amostral

0 5 10 15 20 25 30

Index

Figure 5: Simulação pelo método Kim (1999) VAR(2) - tipo AB+

6
Trajetórias Bootstrap O+

100

50
traj_var_kim[(j − 1) * M + 1, ]

−50

previsto
amostral

0 5 10 15 20 25 30

Index

Figure 6: Simulação pelo método Kim (1999) VAR(2) - tipo O+

7
Trajetórias Bootstrap O−

20

10
traj_var_kim[(j − 1) * M + 1, ]

−10

previsto
amostral

0 5 10 15 20 25 30

Index

Figure 7: Simulação pelo método Kim (1999) VAR(2) - tipo O-

8
Trajetórias de Bootstrap A+

200

150
traj_final_kim[(j − 1) * M + 1, ]

100

50

0 previsto
amostral

0 5 10 15 20 25 30

Index

Figure 8: Simulação pelo método Kim (1999) - tipo A+

9
Trajetórias de Bootstrap A−

30

25
traj_final_kim[(j − 1) * M + 1, ]

20

15

10

0 previsto
amostral

0 5 10 15 20 25 30

Index

Figure 9: Simulação pelo método Kim (1999) - tipo A-

10
Trajetórias de Bootstrap B+

80

60
traj_final_kim[(j − 1) * M + 1, ]

40

20

0 previsto
amostral

0 5 10 15 20 25 30

Index

Figure 10: Simulação pelo método Kim (1999) - tipo B+

11
Trajetórias de Bootstrap B−

12

10

8
traj_final_kim[(j − 1) * M + 1, ]

0 previsto
amostral

0 5 10 15 20 25 30

Index

Figure 11: Simulação pelo método Kim (1999) - tipo B-

12
Trajetórias de Bootstrap AB+

20

15
traj_final_kim[(j − 1) * M + 1, ]

10

0 previsto
amostral

0 5 10 15 20 25 30

Index

Figure 12: Simulação pelo método Kim (1999) - tipo AB+

13
Trajetórias de Bootstrap AB−

12

10
traj_final_kim[(j − 1) * M + 1, ]

0 previsto
amostral

0 5 10 15 20 25 30

Index

Figure 13: Simulação pelo método Kim (1999) - tipo AB-

14
Trajetórias de Bootstrap O+

250

200
traj_final_kim[(j − 1) * M + 1, ]

150

100

50

0 previsto
amostral

0 5 10 15 20 25 30

Index

Figure 14: Simulação pelo método Kim (1999) - tipo O+

15
Trajetórias de Bootstrap O−

35

30

25
traj_final_kim[(j − 1) * M + 1, ]

20

15

10

0 previsto
amostral

0 5 10 15 20 25 30

Index

Figure 15: Simulação pelo método Kim (1999) - tipo O-

16
Anexo VI: Trajetórias Finais
de Boostrap Fresoli vs. Kim

Trajetórias das séries dessazonalizadas Essas trajetórias foram geradas


a partir das séries utilizadas para a modelagem VAR(2), sendo, portanto,
as séries de oferta de sangue após a dessazonalização e retirada de efeitos
contemporâneos feita através dos modelos de MQO.
Trajetórias das séries originais A partir das trajetórias construı́das
pela metodologia utilizando as séries estimadas por VAR(2), é possı́vel con-
struir trajetórias para as séries originais de oferta de sangue, recuperando as
estimações de MQO e incluindo em cada trajetória todos os efeitos sazonais
que as influenciariam no perı́odo futuro considerado, o que inclui o perı́odo
pré carnaval e sazonalidade semanal. Os gráficos a seguir correspondem às
trajetórias construı́das a partir da metodologia Bootstrap Forward e da re-
cuperação das séries originais utilizando os valores estimados aos parâmetros
dos modelos de MQO.

1
Trajetórias Bootstrap Ruiz A+

60

40
traj_var_ruiz[(j − 1) * M + 1, ]

20

−20

−40

Kim
Ruiz
−60
0 5 10 15 20 25 30

Index

Figure 1: Simulação por Bootstrap forward VAR(2) - tipo A+

2
Trajetórias Bootstrap Ruiz A−

15

10
traj_var_ruiz[(j − 1) * M + 1, ]

−5

Kim
Ruiz
−10
0 5 10 15 20 25 30

Index

Figure 2: Simulação por Bootstrap forward VAR(2) - tipo A-

3
Trajetórias Bootstrap Ruiz B+

30

20
traj_var_ruiz[(j − 1) * M + 1, ]

10

−10

Kim
−20 Ruiz

0 5 10 15 20 25 30

Index

Figure 3: Simulação por Bootstrap forward VAR(2) - tipo B+

4
Trajetórias Bootstrap Ruiz B−

6
traj_var_ruiz[(j − 1) * M + 1, ]

−2

−4 Kim
Ruiz

0 5 10 15 20 25 30

Index

Figure 4: Simulação por Bootstrap forward VAR(2) - tipo B-

5
Trajetórias Bootstrap Ruiz AB+

15

10
traj_var_ruiz[(j − 1) * M + 1, ]

−5

Kim
Ruiz

0 5 10 15 20 25 30

Index

Figure 5: Simulação por Bootstrap forward VAR(2) - tipo AB+

6
Trajetórias Bootstrap Ruiz O+

100

50
traj_var_ruiz[(j − 1) * M + 1, ]

−50

Kim
Ruiz

0 5 10 15 20 25 30

Index

Figure 6: Simulação por Bootstrap forward VAR(2) - tipo O+

7
Trajetórias Bootstrap Ruiz O−

20

10
traj_var_ruiz[(j − 1) * M + 1, ]

−10

Kim
Ruiz

0 5 10 15 20 25 30

Index

Figure 7: Simulação por Bootstrap forward VAR(2) - tipo O-

8
Trajetórias de Bootstrap RuizA+

200

150
traj_final_ruiz[(j − 1) * M + 1, ]

100

50

0 Kim
Ruiz

0 5 10 15 20 25 30

Index

Figure 8: Simulação por Bootstrap forward - tipo A+

9
Trajetórias de Bootstrap RuizA−

30

25
traj_final_ruiz[(j − 1) * M + 1, ]

20

15

10

0 Kim
Ruiz

0 5 10 15 20 25 30

Index

Figure 9: Simulação por Bootstrap forward - tipo A-

10
Trajetórias de Bootstrap RuizB+

80

60
traj_final_ruiz[(j − 1) * M + 1, ]

40

20

0 Kim
Ruiz

0 5 10 15 20 25 30

Index

Figure 10: Simulação por Bootstrap forward - tipo B+

11
Trajetórias de Bootstrap RuizB−

10

8
traj_final_ruiz[(j − 1) * M + 1, ]

0 Kim
Ruiz

0 5 10 15 20 25 30

Index

Figure 11: Simulação por Bootstrap forward - tipo B-

12
Trajetórias de Bootstrap RuizAB+

20

15
traj_final_ruiz[(j − 1) * M + 1, ]

10

0 Kim
Ruiz

0 5 10 15 20 25 30

Index

Figure 12: Simulação por Bootstrap forward - tipo AB+

13
Trajetórias de Bootstrap RuizAB−

12

10
traj_final_ruiz[(j − 1) * M + 1, ]

0 Kim
Ruiz

0 5 10 15 20 25 30

Index

Figure 13: Simulação por Bootstrap forward - tipo AB-

14
Trajetórias de Bootstrap RuizO+

200

150
traj_final_ruiz[(j − 1) * M + 1, ]

100

50

0 Kim
Ruiz

0 5 10 15 20 25 30

Index

Figure 14: Simulação por Bootstrap forward - tipo O+

15
Trajetórias de Bootstrap RuizO−

35

30

25
traj_final_ruiz[(j − 1) * M + 1, ]

20

15

10

0 Kim
Ruiz

0 5 10 15 20 25 30

Index

Figure 15: Simulação por Bootstrap forward - tipo O-

16
Anexo VII: Pseudo-códigos para seleção
de cortes utilizando Level 1 e FMLM

Algorithm 1 algorithmic[1]
𝑘 = {𝑘}, 𝑚𝑘 = 𝐶 𝑘 (𝑥𝑘 )
𝐼𝑡𝑗 𝑡𝑗 𝑡𝑗 𝑡−1
for 𝑙 = 1,...,𝑘 − 1 do:
if 𝐶𝑡𝑗𝑘 (𝑥𝑙𝑡−1 ) > 𝑚𝑙𝑡𝑗 + 𝜀0 max(1,|𝑚𝑙𝑡𝑗 |) then:
𝑙 = {𝑘}, 𝑚𝑙 = 𝐶 𝑘 (𝑥𝑙 )
𝐼𝑡𝑗 𝑡𝑗 𝑡𝑗 𝑡−1
else if |𝐶𝑡𝑗𝑘 (𝑥𝑙𝑡−1 ) − 𝑚𝑙𝑡𝑗 | ≤ 𝜀0 max(1,|𝑚𝑙𝑡𝑗 |) then:
𝑙 = 𝐼 𝑙 ∪ {𝑘}
𝐼𝑡𝑗 𝑡𝑗
end if
if 𝐶𝑡𝑗𝑙 (𝑥𝑘𝑡−1 ) > 𝑚𝑘𝑡𝑗 + 𝜀0 max(1,|𝑚𝑘𝑡𝑗 | then:
𝑘 = {𝑙}, 𝑚𝑘 = 𝐶 𝑙 (𝑥𝑘 )
𝐼𝑡𝑗 𝑡𝑗 𝑡𝑗 𝑡−1
else if |𝐶𝑡𝑗𝑘 (𝑥𝑙𝑡−1 ) − 𝑚𝑙𝑡𝑗 | ≤ 𝜀0 max(1,|𝑚𝑙𝑡𝑗 |) then:
𝑘 = 𝐼 𝑘 ∪ {𝑙}
𝐼𝑡𝑗 𝑡𝑗
end if
end for
=0

end

Algorithm 2 algorithmic[1]
𝑘
𝐼𝑡𝑗= {1}, 𝑚𝑘𝑡𝑗= 𝐶𝑡𝑗1 (𝑥𝑘 )
𝑡−1
for 𝑙 = 1,...,𝑘 − 1 do:
if 𝐶𝑡𝑗𝑘 (𝑥𝑙𝑡−1 ) > 𝑚𝑙𝑡𝑗 + 𝜀0 max(1,|𝑚𝑙𝑡𝑗 |) then:
𝑙 = {𝑘}, 𝑚𝑙 = 𝐶 𝑘 (𝑥𝑙 )
𝐼𝑡𝑗 𝑡𝑗 𝑡𝑗 𝑡−1
end if
if 𝐶𝑡𝑗𝑙+1 (𝑥𝑘𝑡−1 ) > 𝑚𝑘𝑡𝑗 + 𝜀0 max(1,|𝑚𝑘𝑡𝑗 | then:
𝑘 = {𝑙 + 1}, 𝑚𝑘 = 𝐶 𝑙+1 (𝑥𝑘 )
𝐼𝑡𝑗 𝑡𝑗 𝑡𝑗 𝑡−1
end if
end for=0

end
Anexo VIII: Pseudo-códigos para
seleção de cortes utilizando Level 1 e
FMLM considerando erros de
aproximação computacional

Algorithm 3 algorithmic[1]
𝑘 = {𝑘}, 𝑚𝑘 = 𝒞 𝑘 (𝑥𝑘 )
𝐼𝑡𝑗 𝑡𝑗 𝑡𝑗 𝑡−1
for ℓ = 1,...,𝑘 − 1 do:
if 𝒞𝑡𝑗𝑘 (𝑥ℓ𝑡−1 ) > 𝑚ℓ𝑡𝑗 + 𝜀0 max(1,|𝑚ℓ𝑡𝑗 |) then:
𝐼𝑡𝑗ℓ = {𝑘}, 𝑚ℓ = 𝒞 𝑘 (𝑥ℓ )
𝑡𝑗 𝑡𝑗 𝑡−1
else if |𝒞𝑡𝑗𝑘 (𝑥ℓ𝑡−1 ) − 𝑚ℓ𝑡𝑗 | ≤ 𝜀0 max(1,|𝑚ℓ𝑡𝑗 |) then:
𝐼𝑡𝑗ℓ = 𝐼 ℓ ∪ {𝑘}
𝑡𝑗
end if
if 𝒞𝑡𝑗ℓ (𝑥𝑘𝑡−1 ) > 𝑚𝑘𝑡𝑗 + 𝜀0 max(1,|𝑚𝑘𝑡𝑗 | then:
𝑘 = {ℓ}, 𝑚𝑘 = 𝒞 ℓ (𝑥𝑘 )
𝐼𝑡𝑗 𝑡𝑗 𝑡𝑗 𝑡−1
else if |𝒞𝑡𝑗ℓ (𝑥𝑘𝑡−1 ) − 𝑚𝑘𝑡𝑗 | ≤ 𝜀0 max(1,|𝑚𝑘𝑡𝑗 |) then:
𝑘 = 𝐼 𝑘 ∪ {ℓ}
𝐼𝑡𝑗 𝑡𝑗
end if
end for=0

end

Algorithm 4 algorithmic[1]
𝑘 = {1}, 𝑚𝑘 = 𝒞 1 (𝑥𝑘 )
𝐼𝑡𝑗 𝑡𝑗 𝑡𝑗 𝑡−1
for ℓ = 1,...,𝑘 − 1 do:
if 𝒞𝑡𝑗𝑘 (𝑥ℓ𝑡−1 ) > 𝑚ℓ𝑡𝑗 + 𝜀0 max(1,|𝑚ℓ𝑡𝑗 |) then:
𝐼𝑡𝑗ℓ = {𝑘}, 𝑚ℓ = 𝒞 𝑘 (𝑥ℓ )
𝑡𝑗 𝑡𝑗 𝑡−1
end if
if 𝒞𝑡𝑗ℓ+1 (𝑥𝑘𝑡−1 ) > 𝑚𝑘𝑡𝑗 + 𝜀0 max(1,|𝑚𝑘𝑡𝑗 |) then:
𝑘 = {ℓ + 1}, 𝑚𝑘 = 𝒞 ℓ+1 (𝑥𝑘 )
𝐼𝑡𝑗 𝑡𝑗 𝑡𝑗 𝑡−1
end if
end for=0

end
Ficha catalográfica elaborada pela Biblioteca Mario Henrique Simonsen/FGV

Costa, Michelle Bandarra Marques


Ensaios em matemática aplicada: estimação e trajetórias bootstrap de oferta de
sangue e estudo de desempenho de extensões do algoritmo de Programação
Dinâmica Dual Estocástica / Michelle Bandarra Marques Costa. – 2017.
132 f.

Dissertação (mestrado) – Fundação Getulio Vargas, Escola de Matemática


Aplicada.
Orientador: Vincent Gérard Yannick Guigues.
Inclui bibliografia.

1. Programação estocástica. 2. Otimização matemática. 3. Análise de séries


temporais. 4. Bootstrap (Programa de computador). I. Guigues, Vincent Gérard
Yannick. II. Fundação Getulio Vargas. Escola de Matemática Aplicada. III. Título.

CDD – 519.62

Você também pode gostar