Você está na página 1de 39

Geração de variáveis aleatórias - O método da

inversão

Fernando F. Nascimento

Universidade Federal do Piauı́

Métodos computacionamente intensivos em Estatı́stica

Fernando F. Nascimento Geração de variáveis aleatórias - O método da inversão


Introdução

A interpretação de métodos computacionais em estatı́stica sugere a


seguinte classificação
1 Exploração gráfica de dados
2 Modelagem de dados
3 Inferência
As duas primeiras situações podem ser vistas em disciplinas como
Estatı́stica Descritiva, Softwares e Laboratório
Para a terceira situação, é necessário o uso de novas técnicas
computacionais

Fernando F. Nascimento Geração de variáveis aleatórias - O método da inversão


Introdução

A interpretação de métodos computacionais em estatı́stica sugere a


seguinte classificação
1 Exploração gráfica de dados
2 Modelagem de dados
3 Inferência
As duas primeiras situações podem ser vistas em disciplinas como
Estatı́stica Descritiva, Softwares e Laboratório
Para a terceira situação, é necessário o uso de novas técnicas
computacionais

Fernando F. Nascimento Geração de variáveis aleatórias - O método da inversão


Introdução

A interpretação de métodos computacionais em estatı́stica sugere a


seguinte classificação
1 Exploração gráfica de dados
2 Modelagem de dados
3 Inferência
As duas primeiras situações podem ser vistas em disciplinas como
Estatı́stica Descritiva, Softwares e Laboratório
Para a terceira situação, é necessário o uso de novas técnicas
computacionais

Fernando F. Nascimento Geração de variáveis aleatórias - O método da inversão


Introdução

A interpretação de métodos computacionais em estatı́stica sugere a


seguinte classificação
1 Exploração gráfica de dados
2 Modelagem de dados
3 Inferência
As duas primeiras situações podem ser vistas em disciplinas como
Estatı́stica Descritiva, Softwares e Laboratório
Para a terceira situação, é necessário o uso de novas técnicas
computacionais

Fernando F. Nascimento Geração de variáveis aleatórias - O método da inversão


Introdução

A interpretação de métodos computacionais em estatı́stica sugere a


seguinte classificação
1 Exploração gráfica de dados
2 Modelagem de dados
3 Inferência
As duas primeiras situações podem ser vistas em disciplinas como
Estatı́stica Descritiva, Softwares e Laboratório
Para a terceira situação, é necessário o uso de novas técnicas
computacionais

Fernando F. Nascimento Geração de variáveis aleatórias - O método da inversão


Objetivos do curso

Entender como e porque gerar variáveis aleatórias


Simular modelos estatı́sticos (Regressão, processo
estocásticos,...)
Resolver problemas de inferência com novas técnicas
Estimação pontual e intervalar de modelos complexos do que
os já vistos em disciplinas como Inferência II.

Fernando F. Nascimento Geração de variáveis aleatórias - O método da inversão


Objetivos do curso

Entender como e porque gerar variáveis aleatórias


Simular modelos estatı́sticos (Regressão, processo
estocásticos,...)
Resolver problemas de inferência com novas técnicas
Estimação pontual e intervalar de modelos complexos do que
os já vistos em disciplinas como Inferência II.

Fernando F. Nascimento Geração de variáveis aleatórias - O método da inversão


Objetivos do curso

Entender como e porque gerar variáveis aleatórias


Simular modelos estatı́sticos (Regressão, processo
estocásticos,...)
Resolver problemas de inferência com novas técnicas
Estimação pontual e intervalar de modelos complexos do que
os já vistos em disciplinas como Inferência II.

Fernando F. Nascimento Geração de variáveis aleatórias - O método da inversão


Objetivos do curso

Entender como e porque gerar variáveis aleatórias


Simular modelos estatı́sticos (Regressão, processo
estocásticos,...)
Resolver problemas de inferência com novas técnicas
Estimação pontual e intervalar de modelos complexos do que
os já vistos em disciplinas como Inferência II.

Fernando F. Nascimento Geração de variáveis aleatórias - O método da inversão


Simulação de variáveis e modelos

Pra que fazemos simulação, se os dados não são reais?


Dado um novo método de estimação do modelo, não sabemos se
este método funciona corretamente
Assim simulamos pontos de um modelo cujos parâmetros são
conhecidos
Aplicamos o novo método de estimação aos dados simulados
Verificamos se as estimativas estão próximas aos parâmetros
conhecidos
Caso o passo anterior esteja satisfeito, aplicamos o procedimento
aos dados reais

Fernando F. Nascimento Geração de variáveis aleatórias - O método da inversão


Simulação de variáveis e modelos

Pra que fazemos simulação, se os dados não são reais?


Dado um novo método de estimação do modelo, não sabemos se
este método funciona corretamente
Assim simulamos pontos de um modelo cujos parâmetros são
conhecidos
Aplicamos o novo método de estimação aos dados simulados
Verificamos se as estimativas estão próximas aos parâmetros
conhecidos
Caso o passo anterior esteja satisfeito, aplicamos o procedimento
aos dados reais

Fernando F. Nascimento Geração de variáveis aleatórias - O método da inversão


Simulação de variáveis e modelos

Pra que fazemos simulação, se os dados não são reais?


Dado um novo método de estimação do modelo, não sabemos se
este método funciona corretamente
Assim simulamos pontos de um modelo cujos parâmetros são
conhecidos
Aplicamos o novo método de estimação aos dados simulados
Verificamos se as estimativas estão próximas aos parâmetros
conhecidos
Caso o passo anterior esteja satisfeito, aplicamos o procedimento
aos dados reais

Fernando F. Nascimento Geração de variáveis aleatórias - O método da inversão


Simulação de variáveis e modelos

Pra que fazemos simulação, se os dados não são reais?


Dado um novo método de estimação do modelo, não sabemos se
este método funciona corretamente
Assim simulamos pontos de um modelo cujos parâmetros são
conhecidos
Aplicamos o novo método de estimação aos dados simulados
Verificamos se as estimativas estão próximas aos parâmetros
conhecidos
Caso o passo anterior esteja satisfeito, aplicamos o procedimento
aos dados reais

Fernando F. Nascimento Geração de variáveis aleatórias - O método da inversão


Simulação de variáveis e modelos

Pra que fazemos simulação, se os dados não são reais?


Dado um novo método de estimação do modelo, não sabemos se
este método funciona corretamente
Assim simulamos pontos de um modelo cujos parâmetros são
conhecidos
Aplicamos o novo método de estimação aos dados simulados
Verificamos se as estimativas estão próximas aos parâmetros
conhecidos
Caso o passo anterior esteja satisfeito, aplicamos o procedimento
aos dados reais

Fernando F. Nascimento Geração de variáveis aleatórias - O método da inversão


Simulação de variáveis e modelos

Pra que fazemos simulação, se os dados não são reais?


Dado um novo método de estimação do modelo, não sabemos se
este método funciona corretamente
Assim simulamos pontos de um modelo cujos parâmetros são
conhecidos
Aplicamos o novo método de estimação aos dados simulados
Verificamos se as estimativas estão próximas aos parâmetros
conhecidos
Caso o passo anterior esteja satisfeito, aplicamos o procedimento
aos dados reais

Fernando F. Nascimento Geração de variáveis aleatórias - O método da inversão


Esquema da Simulação

Fernando F. Nascimento Geração de variáveis aleatórias - O método da inversão


Métodos necessários para simulação

Para gerar modelos, é necessário primeiro saber gerar variáveis


aleatórias
Para gerar variáveis aleatórias, é necessário primeiro gerar
dı́gitos aleatórios
Digitos aleatórios: É a maneira mais primitiva de geração
Existem algumas maneiras de geração de digitos aleatórios,
entre elas
1 Tabela impressa
2 Pacotes estatı́sticos

Fernando F. Nascimento Geração de variáveis aleatórias - O método da inversão


Métodos necessários para simulação

Para gerar modelos, é necessário primeiro saber gerar variáveis


aleatórias
Para gerar variáveis aleatórias, é necessário primeiro gerar
dı́gitos aleatórios
Digitos aleatórios: É a maneira mais primitiva de geração
Existem algumas maneiras de geração de digitos aleatórios,
entre elas
1 Tabela impressa
2 Pacotes estatı́sticos

Fernando F. Nascimento Geração de variáveis aleatórias - O método da inversão


Métodos necessários para simulação

Para gerar modelos, é necessário primeiro saber gerar variáveis


aleatórias
Para gerar variáveis aleatórias, é necessário primeiro gerar
dı́gitos aleatórios
Digitos aleatórios: É a maneira mais primitiva de geração
Existem algumas maneiras de geração de digitos aleatórios,
entre elas
1 Tabela impressa
2 Pacotes estatı́sticos

Fernando F. Nascimento Geração de variáveis aleatórias - O método da inversão


Métodos necessários para simulação

Para gerar modelos, é necessário primeiro saber gerar variáveis


aleatórias
Para gerar variáveis aleatórias, é necessário primeiro gerar
dı́gitos aleatórios
Digitos aleatórios: É a maneira mais primitiva de geração
Existem algumas maneiras de geração de digitos aleatórios,
entre elas
1 Tabela impressa
2 Pacotes estatı́sticos

Fernando F. Nascimento Geração de variáveis aleatórias - O método da inversão


Tabela de dı́gitos aleatórios
É uma tabela com pontos distribuidos aleatóriamente

Ex: Sortear um número de 3 dı́gitos. Escolhemos aleatóriamente


uma linha e coluna (ex: linha 7, coluna 3).
Fernando F. Nascimento Geração de variáveis aleatórias - O método da inversão
Tabela de dı́gitos aleatórios
É uma tabela com pontos distribuidos aleatóriamente

Ex: Sortear um número de 3 dı́gitos. Escolhemos aleatóriamente


uma linha e coluna (ex: linha 7, coluna 3).
Fernando F. Nascimento Geração de variáveis aleatórias - O método da inversão
Se queremos gerar n números aleatórios de 3 dı́gitos, escolhemos n
posições na tabela até obsermos uma lista com X1 , ..., Xn números
No R, podemos usar o comando x=sample(0:999,n)
Geração de distribuições Uniforme(0,1): A distribuição
estatı́stica mais simples de se gerar
Com pontos aleatórios de k dı́gitos, podemos gerar pontos da
U(0,1) fazendo

Xi
Ui =
10k

No R, podemos atribuir U = X /10k .

Fernando F. Nascimento Geração de variáveis aleatórias - O método da inversão


Se queremos gerar n números aleatórios de 3 dı́gitos, escolhemos n
posições na tabela até obsermos uma lista com X1 , ..., Xn números
No R, podemos usar o comando x=sample(0:999,n)
Geração de distribuições Uniforme(0,1): A distribuição
estatı́stica mais simples de se gerar
Com pontos aleatórios de k dı́gitos, podemos gerar pontos da
U(0,1) fazendo

Xi
Ui =
10k

No R, podemos atribuir U = X /10k .

Fernando F. Nascimento Geração de variáveis aleatórias - O método da inversão


Se queremos gerar n números aleatórios de 3 dı́gitos, escolhemos n
posições na tabela até obsermos uma lista com X1 , ..., Xn números
No R, podemos usar o comando x=sample(0:999,n)
Geração de distribuições Uniforme(0,1): A distribuição
estatı́stica mais simples de se gerar
Com pontos aleatórios de k dı́gitos, podemos gerar pontos da
U(0,1) fazendo

Xi
Ui =
10k

No R, podemos atribuir U = X /10k .

Fernando F. Nascimento Geração de variáveis aleatórias - O método da inversão


Se queremos gerar n números aleatórios de 3 dı́gitos, escolhemos n
posições na tabela até obsermos uma lista com X1 , ..., Xn números
No R, podemos usar o comando x=sample(0:999,n)
Geração de distribuições Uniforme(0,1): A distribuição
estatı́stica mais simples de se gerar
Com pontos aleatórios de k dı́gitos, podemos gerar pontos da
U(0,1) fazendo

Xi
Ui =
10k

No R, podemos atribuir U = X /10k .

Fernando F. Nascimento Geração de variáveis aleatórias - O método da inversão


Geração de variáveis aleatórias

A partir da distribuição U(0,1), podemos gerar qualquer


distribuição de variáveis aleatórias discretas e contı́nuas
Para cada variável, pode existir uma técnica diferente de se gerar
variáveis aleatórias.
Uma primeira variável que podemos gerar é a distribuição
Normal(0,1) a partir da Uniforme(0,1), utilizando a propriedade do
Teorema Central do Limite (TCL)
Seja U1 , ..., Um iid U(0,1). Então, quando m → ∞

Ū − E (U) Ū − 0.5
X = p = q ∼ N(0, 1)
Var (U) 1
12

Fernando F. Nascimento Geração de variáveis aleatórias - O método da inversão


Geração de variáveis aleatórias

A partir da distribuição U(0,1), podemos gerar qualquer


distribuição de variáveis aleatórias discretas e contı́nuas
Para cada variável, pode existir uma técnica diferente de se gerar
variáveis aleatórias.
Uma primeira variável que podemos gerar é a distribuição
Normal(0,1) a partir da Uniforme(0,1), utilizando a propriedade do
Teorema Central do Limite (TCL)
Seja U1 , ..., Um iid U(0,1). Então, quando m → ∞

Ū − E (U) Ū − 0.5
X = p = q ∼ N(0, 1)
Var (U) 1
12

Fernando F. Nascimento Geração de variáveis aleatórias - O método da inversão


Geração de variáveis aleatórias

A partir da distribuição U(0,1), podemos gerar qualquer


distribuição de variáveis aleatórias discretas e contı́nuas
Para cada variável, pode existir uma técnica diferente de se gerar
variáveis aleatórias.
Uma primeira variável que podemos gerar é a distribuição
Normal(0,1) a partir da Uniforme(0,1), utilizando a propriedade do
Teorema Central do Limite (TCL)
Seja U1 , ..., Um iid U(0,1). Então, quando m → ∞

Ū − E (U) Ū − 0.5
X = p = q ∼ N(0, 1)
Var (U) 1
12

Fernando F. Nascimento Geração de variáveis aleatórias - O método da inversão


Geração de variáveis aleatórias

A partir da distribuição U(0,1), podemos gerar qualquer


distribuição de variáveis aleatórias discretas e contı́nuas
Para cada variável, pode existir uma técnica diferente de se gerar
variáveis aleatórias.
Uma primeira variável que podemos gerar é a distribuição
Normal(0,1) a partir da Uniforme(0,1), utilizando a propriedade do
Teorema Central do Limite (TCL)
Seja U1 , ..., Um iid U(0,1). Então, quando m → ∞

Ū − E (U) Ū − 0.5
X = p = q ∼ N(0, 1)
Var (U) 1
12

Fernando F. Nascimento Geração de variáveis aleatórias - O método da inversão


Algoritmo

Escolhendo um m suficientemente grande, por exemplo m = 10,


podemos gerar n pontos aproximado da N(0, 1) da seguinte
maneira

Fazer i de 1 até n
{Gerar m pontos da U(0,1)
Zi = média(Uq
1 ,...,Um )−0.5
1
}
12

Assim Z1 , ..., Zn são aproximadamente n pontos da N(0,1)


Exercı́cio: Como gerar n pontos da N(µ, σ 2 )

Fernando F. Nascimento Geração de variáveis aleatórias - O método da inversão


Algoritmo

Escolhendo um m suficientemente grande, por exemplo m = 10,


podemos gerar n pontos aproximado da N(0, 1) da seguinte
maneira

Fazer i de 1 até n
{Gerar m pontos da U(0,1)
Zi = média(Uq
1 ,...,Um )−0.5
1
}
12

Assim Z1 , ..., Zn são aproximadamente n pontos da N(0,1)


Exercı́cio: Como gerar n pontos da N(µ, σ 2 )

Fernando F. Nascimento Geração de variáveis aleatórias - O método da inversão


Método da Inversão
É uma técnica que gera valores de uma v.a. contı́nua X com função
de distribuição acumulada F , a partir da U(0,1). Esta técnica se
baseia no princı́pio de que a tranformação F (X ) ∼ U(0, 1). Assim,
para gerar X basta fazer a transformação inversa

F −1 (F (X )) = F −1 (U) =⇒ X = F −1 (U)

Prova:

P(F (X ) < u) = P(F −1 (F (X )) < F −1 (u))


= P(X < F −1 (u)) = F (F −1 (u)) = u

Portanto P(F (X ) < u) = u e u ∈ (0, 1), que representa


exatamente a distribuição U(0,1).
Fernando F. Nascimento Geração de variáveis aleatórias - O método da inversão
Método da Inversão
É uma técnica que gera valores de uma v.a. contı́nua X com função
de distribuição acumulada F , a partir da U(0,1). Esta técnica se
baseia no princı́pio de que a tranformação F (X ) ∼ U(0, 1). Assim,
para gerar X basta fazer a transformação inversa

F −1 (F (X )) = F −1 (U) =⇒ X = F −1 (U)

Prova:

P(F (X ) < u) = P(F −1 (F (X )) < F −1 (u))


= P(X < F −1 (u)) = F (F −1 (u)) = u

Portanto P(F (X ) < u) = u e u ∈ (0, 1), que representa


exatamente a distribuição U(0,1).
Fernando F. Nascimento Geração de variáveis aleatórias - O método da inversão
Algoritmo

Fazer i de 1 até n
{ Gerar Ui ∼ U(0, 1)
Xi = F −1 (Ui ) }

Assim X1 , ..., Xn são pontos da distribuição F.


Exemplo 1: Escrever algoritmo para gerar pontos da Exp(λ)
Exemplo 2: Escrever algoritmo para gerar pontos da U(a, b)

Fernando F. Nascimento Geração de variáveis aleatórias - O método da inversão


Algoritmo

Fazer i de 1 até n
{ Gerar Ui ∼ U(0, 1)
Xi = F −1 (Ui ) }

Assim X1 , ..., Xn são pontos da distribuição F.


Exemplo 1: Escrever algoritmo para gerar pontos da Exp(λ)
Exemplo 2: Escrever algoritmo para gerar pontos da U(a, b)

Fernando F. Nascimento Geração de variáveis aleatórias - O método da inversão


Exercı́cios

1 Gere 100 números aleatórios de k = 4


2 A partir do ı́tem anterior, obtenha 100 pontos da U(0,1)
3 Faça um histograma dos 100 pontos da U(0, 1)
4 Compare o valor gerado com de seus colegas. Verifique que,
embora os valores gerados sejam diferentes, as médias são
próximas

Fernando F. Nascimento Geração de variáveis aleatórias - O método da inversão


Exercı́cios

Utilize o método da inversão para criar um algoritmo que gera


pontos das seguintes distribuições
−β
1 Weibull: F (x) = 1 − e −x
x2
2 F (x) = 4 ,x ∈ (0, 2)
1 tg −1 (x)
3 Cauchy: F (x) = 2 + π ,x ∈R
4 f (x) = 2(1 − x), x ∈ (0, 1)
f (x) = cos(x) π π

2 , x ∈ −2, 2
5

6 Seja U ∼ U(0, 1). Mostre que a variável W = 1 − U também


possui distribuição U(0, 1)

Fernando F. Nascimento Geração de variáveis aleatórias - O método da inversão

Você também pode gostar