From bedd8f5708fe2b350519478064b2727266a17902 Mon Sep 17 00:00:00 2001 From: Walmes Zeviani <walmes@ufpr.br> Date: Wed, 15 Aug 2018 18:53:55 -0300 Subject: [PATCH] Adiciona slides de GNA de v.a. discretas. --- _site.yml | 4 + slides/03-gna-uniforme.Rnw | 2 +- slides/04-gna-nao-uniforme.Rnw | 258 +++++++++++++++++++++++++++++++++ slides/config/preamble.tex | 1 + 4 files changed, 264 insertions(+), 1 deletion(-) create mode 100644 slides/04-gna-nao-uniforme.Rnw diff --git a/_site.yml b/_site.yml index 670cd43..ebb9003 100644 --- a/_site.yml +++ b/_site.yml @@ -31,10 +31,14 @@ navbar: href: slides/02-docum-codigo.pdf - text: "GNA Uniformes" href: slides/03-gna-uniforme.pdf + - text: "GNA de v.a. Discretas" + href: slides/04-gna-nao-uniforme.pdf - text: "----------" - text: "Arquivos complementares" - text: "GNA Uniformes (2015)" href: http://leg.ufpr.br/~walmes/ensino/ce089-2015-02/aula02_gna-2015-02.html + - text: "MTIP (2015)" + href: http://www.leg.ufpr.br/~walmes/ensino/ce089-2015-02/aula03_tip-2015-02.html # - text: "Estruturas de controle" # href: slides/01-estru-repet.html # - text: "Teorema da Transformação da Probabilidade" diff --git a/slides/03-gna-uniforme.Rnw b/slides/03-gna-uniforme.Rnw index 65eb722..7733fa7 100644 --- a/slides/03-gna-uniforme.Rnw +++ b/slides/03-gna-uniforme.Rnw @@ -33,7 +33,7 @@ source("config/setup.R") \begin{itemize} \item Simulação computacional de processos estocásticos depende da geração de números aleatórios (GNA). - \item TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO TODO + \item Inferência Bayesiana, jogos digitais, otimização estocástica também. \end{itemize} {\large Objetivos} diff --git a/slides/04-gna-nao-uniforme.Rnw b/slides/04-gna-nao-uniforme.Rnw new file mode 100644 index 0000000..cf3b474 --- /dev/null +++ b/slides/04-gna-nao-uniforme.Rnw @@ -0,0 +1,258 @@ +%----------------------------------------------------------------------- + +\documentclass[serif, professionalfont, usenames, dvipsnames]{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{Geração de números não uniformes} +\subtitle{Variáveis discretas e contÃnuas} +\date{\small{ \Sexpr{sprintf('Atualizado em %s', Sys.Date())}}} + +%----------------------------------------------------------------------- + +\begin{document} + +{\setbeamertemplate{footline}{} + \frame{\titlepage} %-------------------------------------------------- +} + +\begin{frame}{} + + {\large Justificativas} + + \begin{itemize} + \item A GNA Uniformes são o ponto de partida para GNA de outras + distribuições. + \item Do ponto de vista de simulação computacional, é importante + gerar números de todas as distribuições de probabilidade. + \end{itemize} + + {\large Objetivos} + + \begin{itemize} + \item Mostrar a GNA de v.a. discretas. + \item Introduzir abordagens para GNA de v.a. contÃnuas. + \end{itemize} +\end{frame} + +%----------------------------------------------------------------------- +\begin{frame}{A distribuição uniforme discreta} + + Se $X$ tem distribuição uniforme discreta com $k$ valores, o seu + suporte é o conjunto $x \in \{1, 2, \ldots, k\}$, $k \geq 2$. A função + de probabilidade é + \begin{equation} + p(x) = \frac{1}{k} \cdot I(x \in \{1, 2, \ldots, k\}). + \end{equation} + + A função de probabilidade acumulada é + \begin{equation} + F(x) = \frac{x}{k}. + \end{equation} + + A média e variância são + \begin{equation} + \text{E}(X) = \frac{k + 1}{2} \quad \text{ e } \quad \text{V}(X) = \frac{k^2 - 1}{12}. + \end{equation} + + \myurl{https://en.wikipedia.org/wiki/Discrete_uniform_distribution} +\end{frame} + +\begin{frame}[fragile]{Gráficos da uniforme discreta} + +<<echo = FALSE, fig.dim = c(7, 4)>>= +x <- 1:5 +px <- rep(1/length(x), length(x)) +Px <- cumsum(px) + +par(mfrow = c(1, 2)) +plot(px ~ x, + type = "h", + ylim = c(0, 1/length(x) * 1.1), + xlab = "x", + ylab = "p(x)") +points(px ~ x, pch = 19) +plot(Px ~ x, + type = "s", + ylim = c(0, max(Px) * 1.1), + xlab = "x", + ylab = "F(x)") +points(Px ~ x, pch = 19) +layout(1) +@ + +\end{frame} + +\begin{frame}{Números da uniforme discreta} + {\large Como gerar números da uniforme discreta?} + + Por compartimentalização (\emph{data binnig}). + + Gera-se números da v.a. uniforme $U \sim \text{U}(0, 1)$ e obtém-se + números da v.a. $X$ de distribuição uniforme discreta usando + + \begin{equation} + X = \begin{cases} + 1, & \text{se } U < 1/k \\ + 2, & \text{se } 1/k \leq U < 2/k \\ + \vdots & \vdots \\ + k, & \text{se } (k-1)/k \leq U < 1. \\ + \end{cases} + \end{equation} + + $\bigstar$ Expresse a equação acima usando a função de distribuição $F(x)$. + +\end{frame} + +%----------------------------------------------------------------------- +\begin{frame}{A distribuição Bernoulli} + + Uma v.a. $X$ tem distribuição Bernoulli, $X \sim \text{Ber}(p)$ se sua + função de probabilidade é + \begin{equation} + p(x) = \begin{cases} + p & \text{, se } x = 1 \\ + 1 - p & \text{, se } x = 0, + \end{cases} + \end{equation} + em que $0 < p < 1$. + + A média e variância são dados por + + \begin{equation} + \text{E}(X) = p \quad \text{ e } \quad \text{V}(X) = p(1 - p). + \end{equation} +\end{frame} + +\begin{frame}{Números da Bernoulli} + {\large Como gerar números da Bernoulli?} + + Por dicotomização. Gere números $U \sim \text{U}(0, 1)$ e faça + + \begin{equation} + X = \begin{cases} + 1, & \text{se } U \leq p \\ + 0, & \text{se } U > p. + \end{cases} + \end{equation} + + $\bigstar$ Expresse a equação acima usando a função de distribuição $F(x)$. + +\end{frame} + +%----------------------------------------------------------------------- +\begin{frame}{A distribuição geométrica} + + Uma v.a. $X$ tem distribuição Geométrica se é o número tentativas até + que o primeiro sucesso seja obtido em uma série de provas + independentes de Bernoulli ($p$ constante). Assim + \begin{equation} + p(x) = (1 - p)^{x-1}\cdot p, \quad x \in 1, 2, \ldots; 0 < p < 1. + \end{equation} + + Representamos por $X\sim \text{Geo}(p)$ onde + \begin{equation} + \text{E}(X) = 1/p \quad \text{ e } \quad \text{V}(X) = (1-p)/p^2. + \end{equation} + +\end{frame} + +\begin{frame}{Números da geométrica} + + A função de distribuição da geométrica é + \begin{equation} + F(x) = 1 - (1 - p)^x + \end{equation} + + \begin{center} + \begin{tabular}{llll} + \hline + $x$ & $p(x)$ & $\sum_x p(x)$ & $F(x) = 1 - (1 - p)^2$ \\ \hline + 1 & $p$ & $p$ & $p$ \\ + 2 & $pq$ & $p + pq$ & $1 - q^2$ \\ + 3 & $pq^2$ & $p + pq + pq^2$ & $1 - q^3$ \\ + $\vdots$ & $\vdots$ & $\vdots$ & $\vdots$ \\ \hline + \end{tabular} + \end{center} + + $\bigstar$ Reconhece algum padrão algébrico? + +\end{frame} + +\begin{frame}[fragile]{Gerar números da geométrica} + +<<eval = FALSE>>= +random_geo <- function(p) { + q <- 1 - p + pq <- p * q + x <- 1 + Fx <- p + u <- runif(1) + while (u > Fx) { + x <- x + 1 # Incrementa x. + Fx <- Fx + pq # Calcula F(x). + pq <- pq * q # Atualiza. + } + return(x) +} + +x <- replicate(10000, random_geo(p = 0.5)) +plot(ecdf(x)) +curve(pgeom(x - 1, p = 0.5), add = TRUE, type = "s", col = 2) +@ + +\end{frame} + +% \begin{frame} +% Formalização dos conceitos +% \url{http://www.portalaction.com.br/simulacao-monte-carlo/metodo-da-transforma-inversa} +% \end{frame} +% \begin{frame} +% \myurl{http://www.leg.ufpr.br/~walmes/ensino/ce089-2015-02/aula03_tip-2015-02.html} +% \end{frame} + +%----------------------------------------------------------------------- +{ + \usebackgroundtemplate{\includegraphics[height=\paperheight, width=\paperwidth]{../img/looking-ahead.jpg}} + % \setbeamersize{text margin left=30mm} + + \begin{frame}[b]{} + + \hspace*{0.5\linewidth} + \begin{minipage}[t]{0.5\linewidth} + + \hi{Próxima aula} + \begin{itemize} + \item GNA de variáveis aleatórias contÃnuas. + \item Método da transformação integral da probabilidade. + \end{itemize} + + \hi{Avisos} + \begin{itemize} + \item Sabatina 02 já está no Moodle! + \end{itemize} + + \end{minipage} + +\end{frame} +} + +% %----------------------------------------------------------------------- +% \begin{frame}[t, fragile, allowframebreaks] +% \frametitle{Referências bibliográficas} +% +% \printbibliography[heading=none] +% \end{frame} + +%----------------------------------------------------------------------- +\end{document} diff --git a/slides/config/preamble.tex b/slides/config/preamble.tex index 9b336e0..10674ef 100644 --- a/slides/config/preamble.tex +++ b/slides/config/preamble.tex @@ -25,6 +25,7 @@ \usepackage[utf8]{inputenc} \usepackage[shorthands=off,main=brazil]{babel} \usepackage{graphicx} +\usepackage{fancybox} \usepackage{xcolor} \usepackage{setspace} -- GitLab