Métodos de Reamostragem

Introdução

Métodos de reamostragem são ferramentas indispensáveis na estatística moderna. Eles envolvem, basicamente, extrair de forma repetida amostras de um conjunto de treino de modo a reestimar o modelo de interesse em cada uma das amostras, obtendo assim informação adicional sobre o modelo ajustado. Vamos conhecer dois métodos úteis aplicáveis a dados de séries temporais de forma a auxiliar previsões: cross-validation e bootstrap.

Nessa seção, vamos estudar dois métodos bastantes utilizados na literatura:

  • cross validation: método largamente utilizado para estimar o *erro de teste* associado a um dado método de aprendizado de modo a avaliar sua performance ou selecionar o grau de flexibilidade;
  • bootstrap: método utilizado em diferentes contextos, mas comumente para prover uma medida de acurácia para um parâmetro estimado.

Cross Validation é uma versão mais sofisticada da ideia que adotamos até aqui de dividir a nossa amostra em dois conjuntos estáticos de treino e de teste, de modo a computar o erro de teste, isto é, a diferença entre a variável prevista e a variável efetivamente observada.

A abordagem de conjunto de validação: Treino e Teste

Antes de fazer referência ao método de cross validation de forma específica, vamos apresentar a abordagem de conjunto de validação de forma geral, isto é, a abordagem de separar os dados em treino e teste.

Quando avaliamos um modelo de série temporal, a dimensão dos resíduos não é uma indicação confiável da dimensão provável dos erros de previsão verdadeiros.

A precisão das previsões só pode ser determinada considerando o desempenho de um modelo com novos dados que não foram utilizados no ajuste do modelo.

A prática comum é separar os dados disponíveis em duas partes, dados de treinamento e dados de teste (training and test), onde os dados de treinamento são usados para estimar quaisquer parâmetros de um método de previsão e os dados de teste são usados para avaliar sua precisão.

Fonte: Hyndman e Athanasopoulos (2021).

Como os dados de teste não são usados na determinação das previsões, eles devem fornecer uma indicação confiável de quão bem o modelo provavelmente fará previsões com base em novos dados.

O tamanho do conjunto de teste é normalmente cerca de 20% da amostra total, embora esse valor dependa do tamanho da amostra e do quão adiante você deseja prever. Idealmente, o conjunto de testes deve ser pelo menos tão grande quanto o horizonte máximo de previsão exigido. Os seguintes pontos devem ser observados.

  • Um modelo que se ajusta bem aos dados de treinamento não fará necessariamente uma boa previsão.
  • Um ajuste perfeito sempre pode ser obtido usando um modelo com parâmetros suficientes.
  • Ajustar excessivamente um modelo aos dados é tão ruim quanto não conseguir identificar um padrão sistemático nos dados.

Outras referências chamam o conjunto de treinamento de “dados dentro da amostra” (in-sample) e o conjunto de teste de “dados fora da amostra” (out-of-sample).

Time Series Cross Validation

Uma versão mais sofisticada de conjuntos de treinamento/teste é a validação cruzada de séries temporais.

Neste procedimento, há uma série de conjuntos de testes, cada um consistindo em uma única observação. O conjunto de treinamento correspondente consiste apenas em observações que ocorreram antes da observação que forma o conjunto de teste.

Assim, nenhuma observação futura pode ser usada na construção da previsão. Como não é possível obter uma previsão confiável com base em um pequeno conjunto de treinamento, as primeiras observações não são consideradas conjuntos de teste.

O diagrama a seguir ilustra um esquema de validação cruzada de séries temporais, com uma série de amostras de treino e de teste, para quando se deseja avaliar a performance preditiva do modelo em h = 1 períodos à frente, onde as observações azuis formam as amostras de treino e as observações laranja formam as amostras de teste.

Fonte: Hyndman e Athanasopoulos (2021).

A precisão da previsão é calculada pela média dos conjuntos de teste. Este procedimento é por vezes conhecido como “avaliação na origem de previsão contínua (rolling forecast)” porque a “origem” na qual a previsão se baseia avança no tempo.

Com a previsão de séries temporais, as previsões em uma etapa podem não ser tão relevantes quanto as previsões em várias etapas. Neste caso, o procedimento de validação cruzada baseado em uma origem de previsão contínua pode ser modificado para permitir a utilização de erros em múltiplas etapas.

Suponha que estamos interessados em modelos que produzam boas previsões em 4 passos à frente. Podemos usar o diagrama abaixo para ilustrar.

Fonte: Hyndman e Athanasopoulos (2021).

Operacionalização

Dado esse esquema de separação de uma série de amostras de treino e de teste de uma série temporal, o método de validação cruzada pode ser resumido como um procedimento recursivo:

1. Para cada amostra de treino estime o modelo;

2. Utilize o modelo estimado para gerar previsões h períodos à frente;

3. Calcule o erro de previsão com a amostra de teste e a saída da etapa 2.

Ao final, obtém-se a métrica de acurácia (ME, RMSE, MAE, etc.) do modelo pela média de cada iteração.

Bootstrap

Bootstrap é uma ferramenta estatística bastante útil para quantificar a incerteza associada a um dado estimador ou método de aprendizado estatístico.

Por exemplo, o método de bootstrap pode ser usado para estimar os erros padrão de um coeficiente em uma regressão linear.

Para ilustrar o método, vamos usar um exemplo fictício. Suponha que nós queremos investir uma soma fixa de dinheiro em dois ativos financeiros que possuem retornos de X e Y.

Nós iremos investir uma fração \alpha do nosso dinheiro em X e o restante 1 - \alpha em Y.

Dado que existe variabilidade associado aos retornos desses dois ativos, nós queremos escolher \alpha de modo a minimizar o risco total, ou variância, do nosso investimento. O valor de \alpha que minimiza o risco será dado então por

(1)   \begin{align*} \alpha = \frac{\sigma_{Y}^2 - \sigma_{XY}}{\sigma_{X}^2 + \sigma_{Y}^2 - 2 \sigma_{XY}}, \end{align*}

onde \sigma_{X}^2 = Var(X), \sigma_{Y}^2 = Var(Y) e \sigma_{XY} = Cov(X,Y).

Nós podemos obter estimativas para \alpha a partir de uma data set simulado.

Fonte: An Introduction to Statistical Learning with Applications in R

Utilizamos os retornos para então estimar \sigma_{X}^2, \sigma_{Y}^2 e \sigma_{XY}. Uma vez obtidas essas métricas, podemos obter \alpha entre 0.532 e 0.657.

Uma vez obtido \alpha, nós podemos nos perguntar sobre a *acurácia* dessa medida. Para isso, podemos estimar o desvio padrão de \hat{\alpha}, ao repetir o processo de simular 100 pares de X e Y e estimar \alpha 1000 vezes.

Fonte: An Introduction to Statistical Learning with Applications in R

A estimativa média para \alpha será

(2)   \begin{align*} \bar{\alpha} = \frac{1}{1000} \sum_{r=1}^{1000} \hat{\alpha} = 0.5996, \end{align*}

o que é muito próximo de \alpha = 0.6 e o desvio padrão será

(3)   \begin{align*} \sqrt{\frac{1}{1000 - 1} \sum_{r=1}^{1000} (\hat{\alpha} - \bar{\alpha})^2} = 0.083 \end{align*}

Para dados reais, contudo, o processo de estimar o desvio padrão não pode ser aplicado, dado que nós não podemos gerar novas amostras a partir da população original.

A abordagem de bootstrap*permite assim *emular* o processo de observar novas amostras, de modo a estimar a variabilidade de \hat{\alpha} sem gerar amostras adicionais. Nós iremos obter distintos data sets ao repetidamente amostrar observações a partir do data set original.

Fonte: An Introduction to Statistical Learning with Applications in R

Referências

James, Gareth; Witten, Daniela; Hastie, Trevor; Tibshirani, Robert. An Introduction to Statistical Learning with Applications in R. Second Edition. Springer

Hyndman, R. J., & Athanasopoulos, G. (2021) Forecasting: principles and practice, 3rd edition, OTexts: Melbourne, Australia. OTexts.com/fpp3. Accessed on 2023-09-04.

Quer aprender mais?

 -  Cadastre-se gratuitamente aqui no Boletim AM e receba toda terça-feira pela manhã nossa newsletter com um compilado dos nossos exercícios com exemplos reais de análise de dados envolvendo as áreas de Data Science, Econometria, Machine Learning, Macroeconomia Aplicada, Finanças Quantitativas e Políticas Públicas;

 - Quer ter acesso aos códigos, vídeos e scripts de R/Python desse exercício? Vire membro do Clube AM aqui e tenha acesso à nossa Comunidade de Análise de Dados;

 - Quer aprender a programar em R ou Python com Cursos Aplicados e diretos ao ponto em Data Science, Econometria, Machine Learning, Macroeconomia Aplicada, Finanças Quantitativas e Políticas Públicas? Veja nossos Cursos aqui.

Compartilhe esse artigo

Facebook
Twitter
LinkedIn
WhatsApp
Telegram
Email
Print

Comente o que achou desse artigo

Outros artigos relacionados

Análise de impacto fiscal sobre o dolár com Python

Usamos uma cesta de 12 moedas para construir um cenário contrafactual da taxa de câmbio após o último anúncio de pacote fiscal, com base em modelagem Bayesiana. No período, o dolár depreciou quase 5% e passou os R$ 6,15, enquanto que na ausência da intervenção a moeda deveria estar cotada em R$ 5,78.

Resultado IBC-br - Outubro/2024

A Análise Macro apresenta os resultados da IBC-br de Outubro de 2024, com gráficos elaborados em Python para coleta, tratamento e visualização de dados. Todo o conteúdo, disponível exclusivamente no Clube AM, foi desenvolvido com base nos métodos ensinados nos cursos da Análise Macro, permitindo aos assinantes acesso aos códigos e replicação das análises.

Resultado PMC - Outubro/2024

A Análise Macro apresenta os resultados da PMC de Outubro de 2024, com gráficos elaborados em Python para coleta, tratamento e visualização de dados. Todo o conteúdo, disponível exclusivamente no Clube AM, foi desenvolvido com base nos métodos ensinados nos cursos da Análise Macro, permitindo aos assinantes acesso aos códigos e replicação das análises.

Boletim AM

Receba diretamente em seu e-mail gratuitamente nossas promoções especiais e conteúdos exclusivos sobre Análise de Dados!

Boletim AM

Receba diretamente em seu e-mail gratuitamente nossas promoções especiais e conteúdos exclusivos sobre Análise de Dados!

como podemos ajudar?

Preencha os seus dados abaixo e fale conosco no WhatsApp

Boletim AM

Preencha o formulário abaixo para receber nossos boletins semanais diretamente em seu e-mail.