O gerador básico de números aleatórios é o que produz valores de uma distribução uniforme, \(U \sum \text{U}[0, 1]\), que vamos cnsiderar disponível.
A partir da geração de valores de \(u\) é possível gerar valores de variáveis com outras distribuições, por exemplo, utilizando o método da transformação inversa. Entretanto, o uso deste método é limitado e outros métodos são necessários e/ou convenientes. No que se segue vamos considerar métodos que exploram relações entre variáveis aleatórias. O material a seguir é baseado em [@rizzo].

Simulando variáveis obtidas a partir de relações entre variáveis

Diversar variáveis aleatórias podem ser obtidas por transformações (além da inversa) e relações entre distribuições de variáveis aleatórias. Tais relações sugerem formas de obter simulações de variáveis.
Alguns exemplos:

\[ \begin{align} U,V \stackrel{ind}{\sim} {\rm U}(0,1) \\ & \longrightarrow Z_1 = \sqrt{-2 \log(U)} \; \cos(2 \pi V)\\ & \longrightarrow Z_2 = \sqrt{-2 \log(U)} \; \sin(2 \pi V)\\ Z \sim {\rm N}(0,1) & \longrightarrow V = Z^2 \sim \chi^2(1) \\ Z \sim {\rm N}(0,1) \mbox{ e } V \sim \chi^2(n) & \longrightarrow T = \frac{Z}{\sqrt{V/n}} \sim {\rm t}(n) \\ U \sim \chi^2(m) \mbox{ e } V \sim \chi^2(n) & \longrightarrow F = \frac{U/m}{V/n} \sim {\rm F}(m, n)\\ U \sim {\rm G}(a, \lambda) \mbox{ e } V \sim {\rm G}(b, \lambda) (U, V \; ind.) &\longrightarrow \frac{U}{U+V} \sim {\rm B}(a,b) \end{align} \]

Atividade:
Partindo de um simulações de uniformes (runif()) gerar amostras das distribuições indicadas acima.
Fazer gráficos e obter medidas para avaliar as simulações.

Exemplo: Chi-quadrado como quadrado de normal

Gerando de \(Y \sim \chi^2(\nu = 1)\). Em R poderíamos uusar diretamente a função () mas, para ilustrar como relações entre variáveis podem ser usadas para definir algorítmos, vamos aqui gerar a partir de valores que seguem uma distribuição normal padrão \(Z \sim \text{N}(0, 1)\). Usamos o resultado:

  • \(Z \sim {\rm N}(0,1) \longrightarrow V = Z^2 \sim \chi^2(1)\)

Valores de estatísticas das amostras devem se aproximar dos teóricos.

## [1] 1.028869
## [1] 2.101801
## [1] 2.101591

Diferentes tipos de gráficos podem ser usados para descrever o comportamento dos dados gerados e comparar com o experado.

Somas (Convoluções) e Misturas

Certas variáveis podem ser obtidas como soma de outras.
A distribuição da soma de variáveis aleatórias dependentes é a convolução de sua distribuição. A família de distribuições é fechada sob convolução se a distribuição resultante da soma é da mesma família das variáveis originais

Alguns exemplos de distribuições de somas: \[ \begin{align} X \sim {\rm Ber}(p) & \longrightarrow \sum_{i=1}^{n} X_i \sim {\rm Bin}(n, p)\\ X \sim {\rm Geo}(p) & \longrightarrow \sum_{i=1}^{k} X_i \sim {\rm NegBin}(k, p)\\ Y \sim {\rm Exp}(\lambda) & \longrightarrow \sum_{i=1}^{n} X_i \sim {\rm Gama}(n, p) \text{(Erlang para n inteiro)}\\ Z \sim {\rm N}(0,1) & \longrightarrow \sum_{i=1}^{\nu} Z_i^2 \sim \chi^2(\nu) \\ \end{align} \]

Exemplos de distribuições fechadas sob convolução (sob independência) \[ \begin{align} Y_1 \sim {\rm P}(\lambda_1) \text{ e } Y_2 \sim {\rm P}(\lambda_2) & \longrightarrow Y_1 + Y_2 \sim {\rm P}(\lambda_1 + \lambda_2)\\ Y_1 \sim {\rm N}(\mu_1, \sigma^2_1) \text{ e } Y_2 \sim {\rm N}(\mu_1, \sigma^2_1) & \longrightarrow Y_1 + Y_2 \sim {\rm N}(\mu_1 + \mu_2, \sigma^2_1 + \sigma^2_2) \\ Y \sim \chi^2(1) & \longrightarrow \sum_{i=1}^{\nu} Y_i \sim \chi^2(\nu) \\ Y_1 \sim \chi^2(m) \text{ e } Y_2 \sim \chi^2(n) & \longrightarrow Y_1 + Y_2 \sim \chi^2(m+n)\\ Y_i \sim {\rm G}(\alpha_i,\beta) & \longrightarrow \sum_{i=1}^{n} Y_i \sim {\rm G}(\textstyle\sum_{i=1}^{n}\alpha_i,\beta) \\ Y_1 \sim {\rm Cauchy}(\mu_1, \sigma^2_1) \text{ e } Y_2 \sim {\rm Cauchy}(\mu_1, \sigma^2_1) & \longrightarrow Y_1 + Y_2 \sim {\rm Cauchy}(\mu_1 + \mu_2, \sigma^2_1 + \sigma^2_2) \\ \end{align} \]

Exemplo: Chi-quadrado como soma de normais ao quadrado

Gerando agora de \(Y \sim \chi^2(\nu = 3)\) a partir de \(Z \sim \text{N}(0,1)\).
Usamos os resultados:

  • \(Z \sim {\rm N}(0,1) \longrightarrow V = Z^2 \sim \chi^2(1)\),
  • \(\sum_{i=1}^{\nu} Z_i^2 \sim \chi^2(\nu)\).

Valores de estatísticas das amostras devem se aproximar dos teóricos.

## [1] 3.041619
## [1] 6.158102
## [1] 6.157486

Diferentes tipos de gráficos podem ser usados para descrever o comportamento dos dados gerados e comparar com o experado.

Exemplo: soma e mistura de duas normais

Neste exemplo vamos contrastar a distribuição gerada por uma convolução (variável \(Y_3\)) e mistura (variável \(Y_4\)) conforme se segue.

Simulando:
\[ \begin{align} Y_1 &\sim N(\mu = 175, \sigma^2 = 3^3) \\ Y_2 &\sim N(\mu = 165, \sigma^2 = 3^3) \\ Y_3 &= Y_1 + Y_2 \\ Y_{3a} &= \frac{Y_1 + Y_2}{2} \\ Y_4 &= \begin{cases} Y_1 \mbox{ c/ prob } 0.4 \\ Y_2 \mbox{ c/ prob } 0.6 \end{cases} \end{align}\]

As densidades teóricas e empíricas de \(Y_3\), \(Y_{3a}\) e \(Y_4\) são mostradas na figura a seguir. Note que para \(Y_4\) foi necessário definir uma função para calcular a função de distribuição de probabilidades.

Colocando todas em um mesmo gráfico.

Atividade:
Partindo de um simulações de uniformes (runif()) gerar amostras das distribuições indicadas acima.
Fazer gráficos e obter medidas para avaliar as simulações.

Exemplo: Mistura de gama’s (2)

\[ \begin{align} Y &= \sum_{j=1}^{5} w_j F(x_j) \\ Y_j &\sim {\rm G}(shape=3, rate = \beta_j) \; j = 1, \ldots, 5 \\ \beta &= c(1.0, 1.5, 2.0, 2.5, 3.0)^{\prime} w &= c(0.1, 0.2, 0.2, 0.3, 0.2)^{\prime} \end{align} \]

Atividade
Fazer gráfico semelhante ao do exemplo anterior mostrando as componentes, distribuição da mistura e empírica (simulada).

Exemplo: mistura contínua (Poisson-Gama)

A mistura Poisson-Gama definida a seguir é um examplo de mistura contínua.

\[ \begin{align} Y \sim \text{P}(\lambda) \\ \lambda \sim {\rm G}(3, 2) \end{align} \]

O código a seguir simula desta mistura, ou seja da variável aleatória \(Y\).

A distribuição (marginal) \([Y]\) pode ser obtida por: \[ [Y] = \int [Y|\lambda][\lambda] {\rm d}\lambda \] que, neste caso, tem solução analítica levando à distribuição binomial negativa, \[ [Y] \sim \text{NegBin}(\alpha, \frac{\beta}{1+\beta}).\]

Na tabela a seguir comparamos a distribuição de \(Y\) gerada pelo algorítmo baseado na mistura com a distribuição binomial negativa de \(\alpha = 3\) e \(p = \beta/(1+\beta) = 2/3\). As probabilidades obtidas por simulação são proporções estimadas com respectivos erros padrão calcaldos em se.

##            0     1     2     3     4     5     6     7     8     9    10
## mix    0.293 0.294 0.197 0.117 0.055 0.026 0.012 0.006 0.001 0.000 0.001
## negbin 0.296 0.296 0.198 0.110 0.055 0.026 0.011 0.005 0.002 0.001 0.000
## se     0.008 0.008 0.007 0.006 0.004 0.003 0.002 0.001 0.001 0.001 0.000

Na figura a segir compara-se a distribuição de \(Y\) gerada pelo algorítmo baseado na mistura com a distribuição Poisson de parâmetro fixo \(\lambda = 1.5\) e com a binomial negativa de \(\alpha = 3\) e \(p = \beta/(1+\beta) = 2/3\).

Nota-se que a mistura possui valores mais variáveis do que a Poisson com parâmetro fixado e é usual dizer que os valores são superdispersos em relação à distribuição de Poisson.
Misturas deste tipo são usuais na esecificação de modelos de efeitos aleatórios e modelagem Bayesiana.

References