diff --git a/slides/metodos-de-reamostragem-e-simulacao.Rnw b/slides/metodos-de-reamostragem-e-simulacao.Rnw new file mode 100644 index 0000000000000000000000000000000000000000..0c773705b34595997885043fed7f8477af65a2aa --- /dev/null +++ b/slides/metodos-de-reamostragem-e-simulacao.Rnw @@ -0,0 +1,529 @@ +%----------------------------------------------------------------------- + +\documentclass[serif, professionalfont, usenames, dvipsnames, aspectratio = 169]{beamer} +\usepackage[T1]{fontenc} + +% ATTENTION: preamble.tex contains all style definitions. +\input{config/preamble.tex} +% \usepackage[backend=bibtex, style=authoryear]{biblatex} +\addbibresource{config/refs.bib} + +<<include = FALSE>>= +source("config/setup.R") +@ + +%----------------------------------------------------------------------- + +\title{Métodos baseados em reamostragem e simulação computacional} +\subtitle{Aplicações em EstatÃstica e Data Science} +\date{\small{ \Sexpr{sprintf('Atualizado em %s', Sys.Date())}}} + +%----------------------------------------------------------------------- + +\begin{document} + +{\setbeamertemplate{footline}{} + \frame{\titlepage} %-------------------------------------------------- +} + +\begin{frame}{} + + {\large Objetivos} + + \begin{itemize} + \item Apresentar uma \textbf{visão geral} dos métodos. + \item Apresentar aplicações em EstatÃstica, Data Science e Machine + Learning. + \end{itemize} + + \vspace{2em} + + {\large Ao final você...} + + \begin{itemize} + \item Saberá a distinção entre métodos computacionalmente intensivos. + \item Reconhecerá onde eles são aplicações no cotidiano. + \end{itemize} + +\end{frame} + +%----------------------------------------------------------------------- + +\begin{frame} + \vspace{5em} + \hspace{4em} \Huge{Método Jackknife} +\end{frame} + +%----------------------------------------------------------------------- +\begin{frame} + + \mytwocolumns{0.49}{0.49}{ + \begin{itemize} + \item O método Jackknife foi proposto por \cite{Quenouille1956}. + \item Jackknife refere-se a um canivete suiço, fácil de carregar e + de várias utilidades. + \item Devido a isso, \cite{Tukey1958} cunhou o termo em EstatÃstica + como uma abordagem geral para testar hipóteses e calcular + intervalos de confiança. + \item A base do Jackknife é o \textbf{leave-one-out}. + \end{itemize} + }{ + \begin{center} + \includegraphics[width=5cm]{../img/swiss-knife.png} + \end{center} + } + +\end{frame} + +%----------------------------------------------------------------------- +\begin{frame}{Amostras Jackknife} + + % TODO: http://csyue.nccu.edu.tw/ch/Jackknife_Notes.pdf + + As amostras Jackknife são definidas por deixar $k$ observações de fora + do conjunto observado $x = \{x_1, x_2, \ldots, x_n\}$ por vez. + + O caso mais prático e comum é quando $k = 1$. Assim a amostra + Jackknife $i$ é definida como + \begin{equation} + x_{(i)} = \{x_1, x_2, \ldots, x_{i-1}, x_{i+1}, \ldots, x_n\}, + \end{equation} + com $i = 1, 2, \ldots, n$. + + \begin{itemize} + \item O tamanho de cada amostra Jackknife é $m = n - k$. + \item O número de amostras distintas é $\binom{n}{k}$. + \item No caso de $k = 1$, denota-se por $\{x_{(i)}\}$ com $i=1, \ldots, n$. + \item As amostras são obtidas de forma sistemática, portanto, trata-se + de uma abordagem determinÃstica. + \end{itemize} + +\end{frame} + +%----------------------------------------------------------------------- +\begin{frame}{A intuição do método para estimação de parâmetros} + + A ideia é fundamentada no estimador da média + \begin{equation} + \bar{X} = \frac{1}{n} \sum_{i=1}^{n} X_i. + \end{equation} + + A média com a $j$-ésima observação removida é calculada por + \begin{equation} + \bar{X}_{-j} = \frac{1}{n - 1} \left( \sum_{i=1}^{n} X_i \right) - X_j. + \end{equation} + + Combinando as expressões anteriores, pode-se determinar o valor de $X_j$ + por + \begin{equation} + X_j = n\bar{X} - (n - 1) \bar{X}_{-j}. + \end{equation} + + Essa expressão não tem valor prático para o caso da média, porém tem + utilidade para outras estatÃsticas. + +\end{frame} + +%----------------------------------------------------------------------- +\begin{frame}{Definição} + + Suponha que $\theta$ seja um parâmetro a ser estimado a partir de uma + função dos dados + \begin{equation} + \hat{\theta} = f(X_1, X_2, \ldots, X_n). + \end{equation} + + A estimativa em cada amostra Jackknife é aquela obtida deixando $k$ + observações de fora por vez. No caso de $k=1$, é definida por + \begin{equation} + \hat{\theta}_{-i} = f(X_1, X_2, \ldots, X_{i-1}, X_{i+1}, \ldots, X_n) = f(X_{(i)}), + \end{equation} + é chamada de estimativa parcial. + + A quantidade + \begin{equation} + \theta_{(i)} = n \hat{\theta} - (n - 1) \hat{\theta}_{-i} + \end{equation} + é denominada de \hi{pseudo-valor} e se baseia nas diferenças + ponderadas da estimativa com todas as observações ($\hat{\theta}$) e + na \hi{estimativa parcial}, ou seja, aquela sem a $i$-ésima observação + ($\hat{\theta}_{-i}$). + +\end{frame} + +%----------------------------------------------------------------------- +\begin{frame}{Estimativa pontual e variância} + + O estimador pontual de Jackknife é definido por + \begin{equation} + \tilde{\theta} = \frac{1}{n} \sum_{i = 1}^{n} \theta_{(i)}, + \end{equation} + ou seja, é \hi{a média dos pseudo-valores}. + + ATENÇÃO: Os valores $\hat{\theta}$ e $\tilde{\theta}$ não são + necessariamente iguais nos casos gerais. + + Se for assumido que os valores $\theta_{(i)}$, $i = 1, \ldots, n$, são + independentes, a variância do estimador de Jackknife e dada por + + \begin{equation} + \text{Var}(\tilde{\theta}) = \frac{S_{\theta}^2}{n}, + \quad S^2 = \frac{1}{n - 1} + \sum_{i = 1}^n (\theta_{(i)} - \tilde{\theta})^2. + \end{equation} + +\end{frame} + +%----------------------------------------------------------------------- +\begin{frame}{Aplicações em EstatÃstica} + + \mytwocolumns{0.49}{0.49}{ + O conceito de \textbf{leave-one-out} é usado em várias situações. + + \begin{itemize} + \item Diagnóstico em modelos de regressão: impacto de observações, + resÃduos studentizados externamente, etc. + \item Capacidade preditiva de modelos: LOOCV (validação cruzada + leave-one-out) e PRESS (prediction residual error sum of squares). + \item A \textbf{valiação cruzada} tradicional é um exemplo de + leave-one-out mas com batches. + \end{itemize} + + }{ + \begin{center} + \includegraphics[width=6cm]{../img/K-fold-cross-validation-method.png} + \end{center} + } + +\end{frame} + +%----------------------------------------------------------------------- +\begin{frame}{Detalhes} + + De acordo com \cite{efron2016computerage} + + \begin{itemize} + \item É um \hi{procedimento não paramétrico} pois nenhuma suposição é + feita sobre a distribuição dos dados. + \item É facilmente automatizável. Um único algoritmo pode ser escrito + tendo como argumentos a amostra e a estatÃstica de interesse $f(.)$. + \item É determinÃstico, portanto, toda execução do procedimento irá + fornecer os meus resultados. + \item Existe a suposição implicita de comportamento suave da função + $f$ em relação a cada elemento da amostra Jackknife. + \item O erro-padrão de Jackknife é viciado para estimar o verdadeiro + erro padrão, pois os pseudo-valores não são independentes. + \end{itemize} +\end{frame} + +%----------------------------------------------------------------------- + +\begin{frame} + \vspace{5em} + \hspace{4em} \Huge{Método Bootstrap} +\end{frame} + +%----------------------------------------------------------------------- + +\begin{frame}{Bootstrap: visão geral} + + \mytwocolumns{0.59}{0.39}{ + + \begin{itemize} + \item Boostrap foi apresentado de forma sistematizada por + \cite{Efron1979}. + \item Bootstrap é um \hi{método de reamostragem} que pode usado para + avaliar propriedades de estimadores e fazer inferência. + \item Bootstrap é um método de Monte Carlo pois usa a + \hi{distribuição empÃrica} dos dados como se fosse a verdadeira + distribuição. + \item Principais aplicações de bootstrap: + \begin{itemize} + \item Avaliar propriedades da distribuição de estimadores para + seleção, ajuste de vÃcio, etc. + \item Substituir ou aprimorar a adequação de abordagens + assintóticas em amostras pequenas: intervalos de confiança, + testes de hipótese. + \end{itemize} + \end{itemize} + + + }{ + \begin{center} + \includegraphics[width=4cm]{../img/N_Bootstraps00094.jpg} + \end{center} + } + +\end{frame} + +%----------------------------------------------------------------------- +\begin{frame}{Funcionamento como método de estimação de parâmetros} + \begin{itemize} + \item Considere uma amostra de observações iid $x_i$, $i = 1, \ldots, n.$ + \item Usando a distribuição empÃrica, cada valor $x_i$ tem igual + probabilidade de $1/n$ de ocorrer. + \item Considere que $\theta$ seja um parâmetro de interesse que dispõe + de um estimador $\hat{\theta} = f(X_1, \ldots, X_n)$. + \item Uma \hi{amostra bootstrap} é um conjunto de valores extraÃdos ao + acaso \hi{com reposição} da amostra original. + \item A estimativa de $\theta$ na $b$-ésima reamostra bootstrap é + $\hat{\theta}_b^\star$. + \item A estimativa pontual bootstrap é o valor médio + \begin{equation} + \hat{\theta}^\star = \frac{1}{B} \sum_{b = 1}^{B} \hat{\theta}_b^\star + \end{equation} + \end{itemize} +\end{frame} + +%----------------------------------------------------------------------- +\begin{frame}[allowframebreaks]{Intervalos de confiança} + \begin{itemize} + \item O intervalo de confiança padrão bootstrap é calculado por + \begin{eqnarray} + \text{estimativa bootstrap}\!\! &\pm& \!\! \text{quantil}_{\alpha/2}\cdot \text{erro padr\~ao bootstrap}\\ + \hat{\theta}^\star \!\! &\pm& \!\! z_{\alpha/2} \left(\sum_{b = 1}^B \frac{(\hat{\theta}_b^\star - \hat{\theta}^\star)^2}{B - 1} \right). + \end{eqnarray} + \item Assume-se que + \begin{enumerate} + \item $\hat{\theta}$ tem distribuição aproximadamente normal; + \item $\hat{\theta}$ é um estimador não viciado. + \end{enumerate} + \item Este tipo de intervalo não requer um valor alto para $B$. + \item O vÃcio do estimador pode ser determinado pelo próprio procedimento. + + \framebreak + + \item O intervalo de confiança padrão bootstrap (IC-padrão) é válido e + pode ser usado em situações em que inferência assintótica é difÃcil + de aplicar. + \item O IC-padrão é assintoticamente acurado tal como são os + intervalos baseados na distribuição normal. + \item Intervalos feitos usando quantis da distribuição $t$ são mais + acurados para estimadores em amostras pequenas. + \item Muitas variações do IC-padrão foram desenvovidas para produzir + inferência de melhor qualidade. + \end{itemize} +\end{frame} + +%----------------------------------------------------------------------- +\begin{frame}{Intervalos de confiança} + \begin{itemize} + \item O intervalo de confiança percentil bootstrap é determinado por + \begin{equation} + (\hat{\theta}_{\alpha/2}^\star, \hat{\theta}_{1 - \alpha/2}^\star), + \end{equation} + que correspondem aos percentis $\alpha/2$ e $1 - \alpha/2$. + \item Este intervalo + \begin{enumerate} + \item não faz suposições sobre a distribuição de $\hat{\theta}$; + \item requer maior valor para $B$ que o intervalo de confiança padrão. + \end{enumerate} + \end{itemize} +\end{frame} + +%----------------------------------------------------------------------- +\begin{frame}{Ajuste de vÃcio} + \begin{itemize} + \item O bootstrap fornece uma abordagem intuitiva + \begin{equation} + \text{E}(\hat{\theta} - \theta) \approx \text{E}_B(\hat{\theta}_j^\star - \hat{\theta}) = \hat{\theta}^\star - \hat{\theta}. + \end{equation} + \item Ou seja, considere a distribuição empÃrica como sendo a + distribuição verdadeira e determine o viés médio usando a média das + amostras bootstrap. + \item Atenção: ao estimar o vÃcio deveria-se adicionar o erro + amostral. + \end{itemize} + + Conteúdo baseado em \url{https://ocw.mit.edu/courses/sloan-school-of-management/15-450-analytics-of-finance-fall-2010/lecture-notes/MIT15_450F10_lec09.pdf}. +\end{frame} + +%----------------------------------------------------------------------- +\begin{frame}{Aplicações em EstatÃstica} + + \mytwocolumns{0.39}{0.59}{ O Boostrap é aplicado em várias situações + além das relacionadas à inferência estatÃstica. + + \begin{itemize} + \item Estudos de dimensionamento de parcelas para amostragem: + \url{http://leg.ufpr.br/~walmes/analises/APDCorte/analise.html}. + \item É usado no treinamento de algorÃtmos de ML baseados em + \hi{bagging} como random forest. + \item É usado para avaliar a capacidade preditiva de modelos. + \end{itemize} + + }{ + \begin{center} + \includegraphics[width=7.5cm]{../img/1*e3Ku9LrQGmJCytvZzjTRVw.png} + \end{center} + } + +\end{frame} + +%----------------------------------------------------------------------- + +\begin{frame} + \vspace{5em} + \hspace{4em} \Huge{Métodos Monte-Carlo} +\end{frame} + +%----------------------------------------------------------------------- +\begin{frame}{O que são métodos de Monte de Carlo} + \begin{itemize} + \item Corresponde a métodos baseados em simulação estocástica massiva + para: + \begin{itemize} + \item Aproximação de funções e de integrais. + \item Estimação de valores médios ou obtenção de distribuições + amostrais. + \item Avaliação de propriedades de um estimador pontual/intervalar. + \item Avaliação de propriedades de testes de hipótese. + \item Determinação de tamanhos amostrais e curvas de poder. + \item Dentre outras várias aplicações. + \end{itemize} + \item Em outras palavras, envolvem a simulação de experimentos ou + sistemas em que pelo menos um componente aleatório esteja presente + \parencite{ferreira2013estcompjava}. + \item É imprescindivel, portanto, recursos para geração de números + aleatórios das distribuições envolvidas no problema. + \item Métodos de bootstrap e de testes de aleatorização são casos + particulares de Monte Carlo. + \end{itemize} +\end{frame} + +%----------------------------------------------------------------------- +% Método de Monte Carlo para determinar a taxa de erro tipo I de teste. + +\begin{frame}{Exemplo: avaliar a taxa de erro tipo I de um teste de hipótese} + \begin{enumerate} + \item Gerar uma realização do modelo assumido para os dados sob a + hipótese nula. + \item Sob a hipótese nula, delimitar a região de aceitação e rejeição + considerando nÃvel de significância $\alpha$. + \item Aplicar o teste sob os dados simulados. + \item A partir do teste, tomar a decisão correspondente e guardar o + resultado. + \item Repetir de 1 a 4 $M$ vezes. + \item Calcular a proporção de vezes em foi feita a rejeição da + hipótese nula. + \item Se a proporção for superior a $\alpha$, o teste é liberal, caso + contrário é conservador, para o nÃvel de significância adotado. + \end{enumerate} +\end{frame} + +%----------------------------------------------------------------------- +% Método de Monte Carlo para determinar a taxa de cobertura de IC. + +\begin{frame}{Exemplo: avaliar a taxa de cobertura de um estimador intervalar} + \begin{enumerate} + \item Gerar uma realização do modelo assumido para os dados. + \item Definir o nÃvel de confiança $1 - \alpha$ para obtenção dos + intervalos de confiança. + \item Determinar o intervalo de confiança com os dados simulados. + \item Verificar se o intervalo construÃdo contém o verdadeiro valor do + parâmetro usado para simular os dados e guardar o resultado. + \item Repetir de 1 a 4 $M$ vezes. + \item Calcular a proporção de vezes em que o intervalo conteve o valor do parâmetro. + \item Se a proporção for superior a $1 - \alpha$, o intervalo é conservador, caso + contrário é liberal, para o nÃvel de confiança adotado. + \end{enumerate} +\end{frame} + +%----------------------------------------------------------------------- +\begin{frame}{Exemplo: construção da curva de poder do teste} + Curva de poder sob um tamanho de amostra fixo. + \begin{enumerate} + \item Defina um conjunto de valores + $\Delta = \{0, \delta, 2\delta, \ldots, k\delta\}$ em que $0$ + corresponde à hipótese nula $H_0: \theta = \theta_0$. Os demais + correspondem a incrementos $\delta$ em $\theta_0$ e fazem o + afastamento da $H_0$ com relação ao parâmetro sob hipótese $\theta$. + \item Sob $H_0$, delimitar a região de aceitação e rejeição + considerando nÃvel de significância $\alpha$. + \item Para cada valor em $\Delta$, definir + $\theta_a = \theta_0 + \Delta_i$ ($i = 0, \ldots, k$), então + \begin{enumerate} + \item Gerar uma realização do modelo assumido para os dados usando + $\theta_a$. + \item Aplicar o teste para $H_0$ com os dados simulados. + \item A partir do teste, tomar a decisão correspondente e guardar o + resultado. + \item Repetir de 1 a 3 $M$ vezes. + \item Calcular a proporção de vezes em foi feita a rejeição de $H_0$. + \end{enumerate} + \item Fazer o gráfico da taxa de rejeição de $H_0$ para cada valor em $\Delta$. + \end{enumerate} +\end{frame} + +%----------------------------------------------------------------------- +\begin{frame}{Aplicações em EstatÃstica e Ciência} + + \mytwocolumns{0.49}{0.49}{ + + \begin{itemize} + \item Simulação de fenômenos ecológicos/fÃsicos/epidemiológicos + complexos: \url{https://www.youtube.com/watch?v=wkbIZ9NgC3o}. + \item Método alternativo para construção de testes de hipótese: + simulação sob hipótese nula: envelope simulado. + \end{itemize} + + }{ + \begin{center} + \includegraphics[width=7.5cm]{../img/simulation2.png} + \end{center} + } + +\end{frame} + +%----------------------------------------------------------------------- +\begin{frame}{Considerações finais} + + \mytwocolumns{0.49}{0.49}{ + + \begin{itemize} + \item Os métodos são todos \hi{computacionalmente intensivos}. + \item Ampliar os ferramental do EstatÃstico/Cientista de Dados. + \item São usados em vários contextos, desde inferenciais a + preditivos. + \end{itemize} + + }{ + \begin{center} + \includegraphics[width=4.0cm]{../img/efron.jpg} + \end{center} + } + +\end{frame} + +%----------------------------------------------------------------------- + +\begin{frame}{Contato} + + \mytwocolumns{0.49}{0.49}{ + + \begin{itemize} + \item \url{leg.ufpr.br/~walmes} + \item \url{@walmeszeviani} + \item \url{walmes@ufpr.br} + \item \url{omegadatascience.com.br} + \item \url{@omegadatascience} + \end{itemize} + + }{ + % \begin{center} + % \includegraphics[width=4.5cm]{../img/efron.jpg} + % \end{center} + } + +\end{frame} + + +%----------------------------------------------------------------------- +\begin{frame}[t, fragile, allowframebreaks] + \frametitle{Referências bibliográficas} + + \printbibliography[heading=none] +\end{frame} + +%----------------------------------------------------------------------- +\end{document}