1
© UNESP 6 Agosto 2008
AULA 4 - LABORATÓRIO GERADORES DE NÚMEROS ALEATÓRIOS COM GOOGLE DOCS
Autor: Anibal Tavares de Azevedo
SIMULAÇÃO DE SISTEMAS
2
Problema Descrição LINK
1 Lab 4 – Exercício 1 https://docs.google.com/spreadsheet/ccc?key=0AozU GKjaO9uEdE1rd1Y4VHlqS1NhNGtydFZvRzZKOX c&usp=sharing
2 Lab 4 – Exercício 2 https://docs.google.com/spreadsheet/ccc?key=0AozU GKjaO9uEdHNZakJjYjhpcmtPZkhFalRxbEN2eEE
&usp=sharing
3 Lab 4 – Exercício 3 https://docs.google.com/spreadsheet/ccc?key=0AozU GKjaO9uEdFNRTUYzbXZMamd5T045cHdmc0dB UGc&usp=sharing
GERAÇÃO DE NÚMEROS ALEATÓRIOS
Os exercícios estão disponíveis nos links dados abaixo:
3
© UNESP 6 Agosto 2008
VARIÁVEIS ALEATÓRIAS
Como são gerados números aleatórios no computador?
Valores aleatórios repetição Na verdade, o computador gera valores pseudo-aleatórios.
10
100valor
4
© UNESP 6 Agosto 2008
Variável Pseudo-aleatória
VARIÁVEIS ALEATÓRIAS
É uma variável cujo valor é obtido a partir de um processo determinístico e que deve satisfazer certas propriedades dos números aleatórios. Por exemplo, para um gerador pseudo- aleatório que gere uma distribuição uniforme U é esperado que, para um número suficientemente grande de amostras, a frequência de valores, em faixas de mesmo tamanho, seja aproxidamente equitativa.
Qual dos histogramas parece ser o de uma uniforme?
5
© UNESP 6 Agosto 2008
Algumas das propriedades desejadas para valores pseudo-aleatórios:
VARIÁVEIS ALEATÓRIAS
• Não apresentar repetição após a geração de poucos valores;
Exemplo: 2, 1, 3, 2, 1, 3, ...
• Para uma amostra de tamanho suficientemente grande os valores devem possuir uma frequência de ocorrência aproximadamente uniforme;
Exemplo: Histograma próximo da uniforme.
• Não deve haver correlação entre valores sucessivos;
Ex.: Sempre após aparecer o valor 2 aparece o valor 1.
•As frequências de ocorrência de valores pseudo-aleatórios não deve diferir significativamente quando comparadas com as frequências de sequências aleatórias.
Exemplo: Usar um teste estatístico para comparar os valores gerados e os esperados: qui-quadrado e Kolmogorov- Smirnov.
6
A ruína do apostador
VARIÁVEIS ALEATÓRIAS
Exemplos de problemas que empregam variáveis aleatórias
Passeio aleatório
Como gerar valores com
estas probabilidades?
7
© UNESP 6 Agosto 2008
VARIÁVEIS ALEATÓRIAS
Gerador Linear Congruencial
m c
aX
X
i+1= (
i+ ) mod
m X U
i=
i/
Onde:a, c e m são parâmetros dados e U
ié um valor aleatório com função de distribuição Uniforme U(0,1).
para i=0, 1, 2, ..., n.
X
0é valor inicial dado.
Observe que neste caso, o gerador linear congruencial é uma fórmula que depende de um valor inicial X
o. O valor inicial X
otambém é chamado de semente do processo aleatório e toda a sequência aleatória é determinada por ele.
8
© UNESP 6 Agosto 2008
VARIÁVEIS ALEATÓRIAS
m c
aX
X
i+1= (
i+ ) mod para i=0, 1, 2, ..., n.
Supor que: a = 3, c = 0, m = 5 e X
0= 4
i X
i3X
i(3X
i)mod5 U
i= X
i/m
0 4 12 2 4/5
1 2 6 1 2/5
2 1 3 3 1/5
3 3 9 4 3/5
4 4 12 2 4/5
5 2 6 1 2/5
5 mod ) 3
1
(
ii
X
X
+=
Exercício 1: Reproduzir o exemplo dado a seguir no
Google docs. Expandir a planilha para 100 valores.
9
© UNESP 6 Agosto 2008
VARIÁVEIS ALEATÓRIAS
Exercício 2: Elaborar um histograma dos valores gerados anteriormente para U
i. O que foi obtido e o que
esperar para uma distribuição uniforme?
Trocar por categorias:
Faixa 1
Valores U
ide 0 até 0,20
10
F(n)= F(n-1) + F(n-2) onde: n = 2, 3,...
e F(0) = F(1) = 1
Espiral de Fibonacci
VARIÁVEIS ALEATÓRIAS
Sequência de Fibonacci 1, 1, 2, 3, 5, 8, 13,...
11
© UNESP 6 Agosto 2008
VARIÁVEIS ALEATÓRIAS
Gerador Defasado de Fibonacci
m X
X
X
i= (
i−1*
i−2) mod
m X U
i=
i/
Onde:a, c e m são parâmetros dados e U
ié um valor aleatório com função de distribuição Uniforme U(0,1).
para i=0, 1, 2, ..., n.
X
0, X
1são dados.
12
© UNESP 6 Agosto 2008
VARIÁVEIS ALEATÓRIAS
Exercício 3: Elaborar um gráfico do tipo
“Scatter” com os pares (U
i,U
i+1) do Exercício 1.
O que esperar para uma distribuição uniforme?
U
iU
i+1i U
i= X
i/m U
i+10 4/5 2/5
1 2/5 1/5
2 1/5 3/5
3 3/5 4/5
4 4/5 2/5
5 2/5 -
13
© UNESP 6 Agosto 2008
DADOS DE ENTRADA
Garbage in,Garbage out
Often abbreviated as GIGO, this is a famous computer axiom meaning that if invalid data is entered into a system , the resulting
output will also be invalid. Although originally applied to computer software, the axiom holds true for all systems, including,
for example, decision-making systems.
14
DADOS DE ENTRADA
15
© UNESP 6 Agosto 2008
DADOS DE ENTRADA
Como verificar se os valores aleatórios obtidos a partir de um gerador aleatório, isto é, uma equação, representa o comportamento esperado para uma certa função de distribuição de probabilidade? Por exemplo, como verificar se a sequência produzida segue uma função de distribuição uniforme U[1,4]?
PROBLEMA:
16
© UNESP 6 Agosto 2008
DADOS DE ENTRADA
Teste de Kolmogorov-Smirnov:
Este teste compara a função de distribuição acumulada (FDA) esperada F(x) com a FDA observada S
N(x), onde N é o número de observações da amostra.
Se a amostra fornece valores R
1, R
2, ..., R
N, então, a FDA empírica de S
N(x) será dada por:
N
x R
R R de x no
S N = . { , ,..., N } ≤
)
( 1 2
Conforme N torna-se grande, S
N(x) deve se tornar uma
melhor aproximação para F(x), provendo, portanto,
evidências de que a hipótese H
0é verdadeira.
17
© UNESP 6 Agosto 2008
H
0: R
1, R
2, ..., R
Né uma amostra aleatória da variável aleatória com distribuição acumulada F(x).
H
αααα: R
1, R
2, ..., R
Nnão é uma amostra aleatória da variável aleatória com distribuição acumulada F(x).
Observando que:
DADOS DE ENTRADA
O teste de Kolmogorov-Smirnov usa a maior desvio absoluto entre F(x) e S
N(x) no intervalo da variável aleatória e emprega a seguinte fórmula:
D = max |F(x) – S
N(X)| (1)
A distribuição D é conhecida e tabelada como função de N como dado a seguir.
18
DADOS DE ENTRADA
19
© UNESP 6 Agosto 2008
DADOS DE ENTRADA
Passos do Teste de Kolmogorov-Smirnov:
Passo 1: Ordenar os dados do menor para o maior. Se R
(i)corresponder ao i-ésimo menor dado, então:
R
(1)≤ R
(2)≤ ... ≤ R
(N)Passo 2: Calcular: e
Passo 3: Calcular: D = max(D
+, D
-).
Passo 4: Encontrar o ponto crítico D
ααααnas tabelas anteriores para o nível de significância α αα α e o tamanho N.
Passo 5: Se D ≤ D
αααα, então, a hipótese H
0é aceita, caso contrário é rejeitada.
−
=
≤≤+
) 1 (
max
iN
i
R
N D i
− −
=
≤≤−
N R i
D
iN i
max
()1
1
20
© UNESP 6 Agosto 2008
Exemplo 1: Suponha que cinco números foram gerados: 0,44, 0,81, 0,14, 0,05 e 0,93. Aplicar o teste de Kolmogorov-Smirnov com nível de significância αααα = 0,05 para verificar se os valores seguem uma função de distribuição de
probabilidade uniforme.
Os passos 1 e 2 são dados pela seguinte tabela:
R(i) 0,05 0,14 0,44 0,81 0,93
i/N 0,20 0,40 0,60 0,80 1,00
i/N – R(i) 0,15 0,26 0,16 - 0,07
R(i)-(i-1)/N 0,05 - 0,04 0,21 0,13
DADOS DE ENTRADA
21
© UNESP 6 Agosto 2008
Passo 3: Calcular: D = max(D
+, D
-) = max(0,26, 0,21) = 0,26
DADOS DE ENTRADA
Passo 4: Encontrar o ponto crítico D
ααααnas tabelas anteriores para o nível de significância α αα α = 0,05 e o tamanho N = 5:
D
αααα= 0,563
22
DADOS DE ENTRADA
Passo 5: Se D ≤ D
αααα, então, a hipótese H
0é aceita, caso contrário é rejeitada. Como D = 0,26 ≤ D
αααα= 0,563. Lembrando que:
H
0: R
1, R
2, ..., R
Né uma amostra aleatória da variável aleatória com distribuição acumulada F(x).
H
αααα: R
1, R
2, ..., R
Nnão é uma amostra aleatória da variável aleatória com distribuição acumulada F(x).
Como H
0é aceita, então, isto significa que os dados possuem
FDA uniforme de acordo com o teste de Kolmogorov-Smirnov.
23
© UNESP 6 Agosto 2008
ANÁLISE ESTATÍSTICA
Exercício 4: Refazer o exemplo 1 em uma planilha do Google Docs.
Exemplo 1: Suponha que cinco números foram gerados: 0,44, 0,81, 0,14, 0,05 e 0,93. Aplicar o teste de Kolmogorov-Smirnov com nível de significância αααα = 0,05 para verificar se os valores seguem uma função de distribuição de
probabilidade uniforme.
R(i) 0,05 0,14 0,44 0,81 0,93
i/N 0,20 0,40 0,60 0,80 1,00
i/N – R(i) 0,15 0,26 0,16 - 0,07
R(i)-(i-1)/N 0,05 - 0,04 0,21 0,13
24
© UNESP 6 Agosto 2008
Mini-projeto 3: Gerador aleatório
Elaborar uma planilha Excell que teste o gerador linear congruencial ou (para gradução)/e (para pós) Fibonacci Defasado com pelo menos 2 combinações diferentes (se você é aluno de graduação) e 6 combinações (se você é aluno de pós) diferentes de parâmetros para a, c, m e X
0para gerar 1000 valores aleatório com distribuição uniforme U(0,1). Colocar telas da sua planilha e figuras dos resultados para cada conjunto de valores.
Analisar os resultados obtidos em termos de histograma e/ou “scatter plot”. Colocar no formato de artigo.
m c
aX
X
i+1= (
i+ ) mod
m X U
i=
i/
m X
X
X
i= (
i−1*
i−2) mod
25
© UNESP 6 Agosto 2008
Mini-projeto 4: Teste de Kolmogorov-Smirnov
Para cada configuração testada no TEMA 1 aplicar o teste de Kolmogorov-Smirnov e indicar se os números gerados podem ser considerados com função de distribuição uniforme U(0,1). Colocar os valores de D para cada teste com o gerador aleatório e as respectivas conclusões. Colocar no formato de artigo.
O teste de Kolmogorov-Smirnov usa a maior desvio absoluto entre F(x) e S
N(x) no intervalo da variável aleatória e emprega a seguinte fórmula:
D = max |F(x) – S
N(X)| (1)
A distribuição D é conhecida e tabelada como função de N como dado a seguir.
26
SUGESTÃO DE LEITURA
O Brasil tem se dedicado muito à pesquisa científica.
Apesar deste esforço, muito tem sido perdido, pela
incapacidade de
transformarmos pesquisas
interessantes em textos
publicáveis na ciência
internacional. Parte destas
falhas vem de ainda estarmos
imersos em uma série de
equívocos concentuais sobre
ciência e sobre estruturação e
redação de textos científicos.
27
© UNESP 6 Agosto 2008
SUGESTÃO DE LEITURA
Assista os vídeos:
http://www.gilsonvolpato.com.b r/videos_detalhes.php?area_vid
eo_txt=cursos
28
© UNESP 6 Agosto 2008