A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

© 2000 Paulo Adeodato Avaliação de Desempenho de Sistemas Teste de Geradores de Números Aleatórios Paulo Adeodato Departamento de Informática Universidade.

Apresentações semelhantes


Apresentação em tema: "© 2000 Paulo Adeodato Avaliação de Desempenho de Sistemas Teste de Geradores de Números Aleatórios Paulo Adeodato Departamento de Informática Universidade."— Transcrição da apresentação:

1 © 2000 Paulo Adeodato Avaliação de Desempenho de Sistemas Teste de Geradores de Números Aleatórios Paulo Adeodato Departamento de Informática Universidade Federal de Pernambuco

2 © 2000 Paulo Adeodato Conteúdo * Testes de Aderência às Distribuições Qui-quadrado Kolmogorov-Smirnov * Testes de Independência Autocorrelação * Testes de uniformidade k-dimensional Serial Espectral

3 © 2000 Paulo Adeodato Testes de Geradores de Números Aleatórios * Objetivo:Garantir que o gerador de números aleatórios produz uma seqüência aleatória. Plote histogramas Faca um gráfico quantil-quantil Use outros testes * Passar num teste é condição necessária mas não suficiente Passou  Bom. Não passou  Ruim Novos testes  Antigos geradores são reprovados * Os testes podem ser adaptados para outras distribuições

4 © 2000 Paulo Adeodato Testes do Qui-Quadrado * Teste mais usado * Pode ser usado para qualquer distribuição * Prepare 2 histogramas: um dos dados observados e outro dos resultados teóricos * Meça a diferença entre a freqüência observada e a teórica k = número de células o i = freqüência observada para a i-ésima célula e i = freqüência esperada para a i-ésima célula

5 © 2000 Paulo Adeodato Testes do Qui-Quadrado * D possui uma distribuição qui-quadrado (  2 ) com k-1 graus de liberdade. Compare D com  2 [1-  ;k-1] Passa no teste com confiança 1-  se D for menor que  2 * D = 0  Coincidência perfeita

6 © 2000 Paulo Adeodato Exemplo 27.1 * Geração de 1.000 números aleatórios com x 0 = 1: t x n = (125 x n-1 + 1) mod (2 12 ) * Freqüências relativas de dez células: * Qui-quadrado:  2 [0,9;9] = 14,68 * Diferença observada: D = 10,380 * D <  2  Aceita IID U(0,1) com nível de significância 0,10

7 © 2000 Paulo Adeodato Qui-Quadrado para Outras Distribuições  Erros em células com um e i pequeno dão peso maior aos erros dessas células  É melhor que os e i s sejam idênticos. Portanto, use um ¨histograma¨ equiprovável com comprimentos variáveis de células, em função das separatrizes (quantis) teóricas. * * Se r parâmetros são estimados a partir da amostra, o número de graus de liberdade deve ser reduzido para k - r - 1 (em vez de de k - 1). * Esse teste foi projetado para distribuições discretas e amostras com comprimento grande. * O nível de significância é menor para amostras com comprimento finito e distribuições contínuas * Cada célula não pode ter menos do que 5 observações. Aumente os intervalos para conterem um maior número de observações.

8 © 2000 Paulo Adeodato Qui-Quadrado - Procedimento 1. Plotar um histograma 2. Propor uma distribuição adequada 3. Estimar os parâmetros da distribuição 4. Calcular os decis teóricos e observados 5. Plotar um gráfico quantil-quantil (com base nos decis) 6. Montar a tabela do teste  2 7. Calcular a distância D 8. Consultar a tabela do  2 (com k-r-1 graus de liberdade) 9. Comparar os resultados

9 © 2000 Paulo Adeodato Testes de Kolmogorov-Smirnov * Desenvolvido por A. N. Kolmogorov e N. V. Smirnov * Projetado para distribuições contínuas * A diferença entre a FDA (função de distribuição acumulada) observada F o (x) e a FDA esperada F e (x) deve ser pequena. * K + = desvio máximo observado acima da CDF esperada * K - = desvio máximo observado abaixo da CDF esperada

10 © 2000 Paulo Adeodato Testes de Kolmogorov-Smirnov * Se K + < K [  ;n] e K - < K [  ;n] passa no teste com nível de significância  * O teste equivale a dizer que a curva dos numeros se encontra entre duas curvas limitantes inferior e superior (como intervalos de confianca no plano) * Use F e (x i+1 ) - F o (x i ) para K - * Para U(0,1): F e (x) = x F o (x) - j/n, onde x > x 1, x 2,...,x j-1

11 © 2000 Paulo Adeodato Exemplo 27.2 * Geração de 30 números aleatórios com x 0 = 15: * x n = 3x n-1 mod 31 * Os números são: 14, 11, 2, 6, 18, 23, 7, 21, 1, 3, 9, 27, 19, 26, 16, 17, 20, 29, 25, 13, 8, 24, 10, 30, 28, 22, 4, 12, 5, 15. * Os números normalizados obtidos pela divisão da seqüência por 31 são:

12 © 2000 Paulo Adeodato Exemplo 27.2 * Os valores de K [0,9;n] para n = 30 são 1,0424 * K + e K - < K [0,9;n]  Passa no teste de aderencia a distribuicao uniforme

13 © 2000 Paulo Adeodato Qui-quadrado x Teste K-S

14 © 2000 Paulo Adeodato Teste da Correlação Serial * Covariância não nula  Dependência A inversa não é verdadeira R k = Autocovariância com distância k = Cov[x n, x n+k ] t R k Uí (U i+k t n - k 2 2 * Para grandes valores de n, R k tem distribuição normal com média zero e variância 1/[144(n - k)] * O intervalo de confiança com nível 100(1 para a autocovariância é: * Rk  zl-,/2/(12V/n - k) * Para k  1 * Verifique se o Intervalo de Confiança contém o zero * Para k = 0, Ro = variância da seqüência * Deveria ser 1/12 para uma U(0,1) IID

15 © 2000 Paulo Adeodato Testes em Dois Níveis * Se o tamanho da amostra for muito pequeno, os resultados dos testes podem ser aplicáveis localmente, mas não globalmente para o ciclo completo. * Da mesma forma, um teste global pode não ser válido localmente * Use testes de dois níveis  Use o teste do Qui- quadrado em n amostras de comprimento k, cada, e depois use o teste do qui-quadrado no conjunto das n estatísticas obtidas  teste do qui-quadrado sobre testes qui-quadrado * Do mesmo modo, K-S sobre K-S * Pode também ser usado para encontrar um segmento "não-aleatório" numa seqüência considerada aleatória por outros testes.

16 © 2000 Paulo Adeodato Uniformidade k-Dimensional ou k- Distributividade * Qui-quadrado  uniformidade em uma dimensão *  Dados dois números reais a, e b, entre 0 e 1 tais que b 1 > a 1 P(a 1 a 1 * Esta é conhecida como a propriedade de 1- distributividade de u n. * A 2-distributividade é uma generalização desta propriedade em duas dimensões. t P(a 1 < u n-1 < b 1 e a 2 < u n < b 2 ) = (b 1 - a 1 )( b 2 – a 2 ) * Para todas as escolhas de a 1, b 1, a 2 e b 2 em [0,1), b 1 > a 1 e b 2 > a 2

17 © 2000 Paulo Adeodato Uniformidade k-Dimensional ou k- Distributividade * São k-distribuídos se: ¤P(a 1 < u n < b 1,..., a k < u n+k-1 < b k ) = (b 1 - a 1 )... ( b k – a k ) Para todas as escolhas de a i, b i em [0,1) com b i > a i, i = 1, 2,..., k. * Uma seqüência k-distribuída é sempre (k - 1)-distribuída. A recíproca não é verdadeira. * Dois testes: Teste serial Teste espectral * Teste visual para duas dimensões: Plotar pares de números sucessivos com superposição

18 © 2000 Paulo Adeodato Teste Serial * Objetivo: Testar a uniformidade em duas ou mais dimensões * Em duas dimensões, divide-se o espaço entre 0 e 1 em K 2 células de áreas iguais * Dados {x l,x 2,.... x n }, use n/2 pares não superpostos (x l,x 2 ), (x 3,x 4 ),... e conte os pontos em cada uma das K 2 células.

19 © 2000 Paulo Adeodato * Seriam esperados n/(2K 2 ) pontos em cada célula. * Use o teste do qui-quadrado para encontrar o desvio da contagem real em relação à contagem esperada. * O número de graus de liberdade neste caso é K 2 - 1. * Para k-dimensões: use k-tuplas de valores não- superpostos. * As k-tuplas devem ser não-superpostas. t Superposicão  números de pontos nas células não são independentes t Teste do qui-quadrado não poderia ser utilizado * Na verificação visual podem ser usadas k-tuplas superpostas ou não. t No teste espectral são usadas tuplas superpostas. * Dados n números, há (n - 1) pares superpostos e n/2 pares * não-superpostos

20 © 2000 Paulo Adeodato Teste Espectral * Objetivo: Determinar o quão densamente as k-tuplas {x l,x 2,.... x k } podem preencher o hiperespaco k- dimensional * As k-tuplas de um LCG caem num número finito de hiperplanos paralelos. * Pares sucessivos residiriam num número finito de linhas * Em três dimensões, triplas sucessivas residem num número finito de planos.

21 © 2000 Paulo Adeodato * Ou: t x n = 3x n-1 - 31k k = 0, 1, 2 (27.2) * Em três dimensões, os pontos (x n,x n-1,x n-2 ) para o gerador acima residiriam em cinco planos dados por: t x n = 2x n-1 + 3x n-2 - 31k k = 0, 1,..., 4 t Obtidos através da adição da expressão que segue à equação (27.2): t x n-1 = 3x n-2 - 31k 1 k 1 = 0, 1, 2 * Note que k + k 1, será um inteiro entre 0 e 4.

22 © 2000 Paulo Adeodato Teste Espectral (continuação) * Marsaglia (1968): k-tuplas sucessivas obtidas a partir de um LCG residem em, no máximo, (k!m) l/k hiperplanos paralelos, onde m é o módulo usado no LCG. * Exemplo: m = 2 32, menos do que 2.953 hiperplanos conterão todas as 3-tuplas (triplas), menos do que 566 hiperplanos conterão todas as 4-tuplas (quádruplas) e menos do que 41 hiperplanos conterão todas as 10-tuplas. Portanto, esta é uma fraqueza dos LCGs. * Teste Espectral: Determina a distancia máxima entre hiperplanos adjacentes. Quanto maior a distância  pior o gerador * Em alguns casos, pode ser feito através da enumeração completa

23 © 2000 Paulo Adeodato Exemplo 27.7 * Compare os seguintes geradores: t x n = 3x n-1 mod 31 t x n = 13x n-1 mod 31 * Usando uma semente x 0 = 15 no primeiro gerador: t 14, 11, 2, 6, 18, 23, 7, 21, 1, 3, 9, 27, 19, 26, 16, 17, 20, 29, 25, 13, 8, 24, 10, 30, 28, 22, 4, 12, 5, 15, 14. * Usando a mesma semente no segundo gerador obtemos: t 9, 24, 2, 26, 28, 23, 20, 12, 1, 13, 14, 27, 10, 6, 16, 22, 7, 2 9, 5, 3, 8, 1 1, 1 9, 3 0, 1 8, 1 7, 4, 2 1, 2 5, 1 5, 9. * Cada número entre 1 e 30 aparece uma única vez *  Ambas as seqüências passam no teste do qui-quadrado de uniformidade

24 © 2000 Paulo Adeodato * A distancia entre as linhas é: (31/2)/ (1 + (5/2)2) ou 5, 76 O segundo gerador possui uma distância máxima menor e, portanto, o segundo gerador tem uma melhor 2-distributividade. t O conjunto com a maior distância pode não ser sempre o conjunto com o menor número de linhas. t Podem ser usadas tanto k-tuplas superpostas quanto não- superpostas. t Com k-tuplas superpostas, temos k vezes mais pontos, o que torna o gráfico visualmente mais completo. t O número de hiperplanos e a distância entre eles são as mesmas em qualquer uma das escolhas. t Com o teste serial devemos usar apenas k-tuplas não-superpostas t Para geradores com m grande e para dimensões mais altas, encontrar a distancia máxima torna-se muito complicado. * Vide Knuth (1981)

25 © 2000 Paulo Adeodato Referências Bibliográficas * Capítulo 27 do Jain


Carregar ppt "© 2000 Paulo Adeodato Avaliação de Desempenho de Sistemas Teste de Geradores de Números Aleatórios Paulo Adeodato Departamento de Informática Universidade."

Apresentações semelhantes


Anúncios Google