Suponha que você observe a sequência:
7, 9, 0, 5, 5, 5, 4, 8, 0, 6, 9, 5, 3, 8, 7, 8, 5, 4, 0, 0, 6, 6, 4, 5, 3, 3, 7, 5, 9, 8, 1, 8, 6, 2, 8, 4, 6, 4, 1, 9, 9, 0, 5, 2, 2, 0, 4, 5, 2, 8. ..
Quais testes estatisticamente você aplicaria para determinar se isso é realmente aleatório? FYI estes são os º dígitos de . Assim, os dígitos de estatisticamente aleatórios? Isso diz algo sobre a constante ?π π π
random-generation
randomness
Cam.Davidson.Pilon
fonte
fonte
Respostas:
O Instituto Nacional de Padrões dos EUA reuniu uma bateria de testes para que um gerador de números (pseudo-) aleatórios deva passar para ser considerado adequado, consulte http://csrc.nist.gov/groups/ST/toolkit/rng/stats_tests. html . Também existem testes conhecidos como o conjunto de testes Diehard , que se sobrepõem um pouco aos testes do NIST. Os desenvolvedores do pacote estatístico Stata relatam seus resultados Diehard como parte de seu processo de certificação. Imagino que você possa pegar blocos de dígitos de , digamos em grupos de 15 dígitos consecutivos, para serem comparáveis à precisão do tipo duplo , e executar essas baterias de testes nos números assim obtidos.π
fonte
Respondendo apenas à primeira de suas perguntas: "Quais testes você aplicaria para determinar se essa [sequência] é realmente aleatória?"
Que tal tratá-lo como uma série temporal e verificar autocorrelações? Aqui está um código R. Primeiro, alguns dados de teste (primeiros 1000 dígitos):
Verifique as contagens de cada dígito:
Em seguida, transforme-o em uma série temporal e execute o teste Box-Pierce:
o que me diz:
Normalmente, você deseja que o valor-p seja menor que 0,05 para dizer que há correlações automáticas.
Corra
acf(d)
para ver as correlações automáticas. Não incluí uma imagem aqui, pois é um gráfico sem graça, embora seja curioso que os maiores atrasos sejam 11 e 22. Corraacf(d,lag.max=40)
para mostrar que não há pico no atraso = 33, e que foi apenas coincidência!PS Podemos comparar o desempenho desses 1000 dígitos de pi, fazendo os mesmos testes em números aleatórios reais.
Isso gera 1000 dígitos aleatórios, faz o teste e repete isso 100 vezes.
Portanto, nosso resultado foi confortavelmente dentro do primeiro desvio padrão, e pi chia como um pato aleatório. Usei
set.seed(1)
se você deseja reproduzir esses números exatos.fonte
É uma pergunta estranha. Os números não são aleatórios.
Como uma série temporal de 10 dígitos base, é completamente corrigido.π
Se você está falando sobre selecionar aleatoriamente um índice para a série temporal e escolher esse número, com certeza é aleatório. Mas o número racional e chato é . Nos dois casos, a "aleatoriedade" vem de escolher coisas aleatoriamente, como desenhar nomes de um chapéu.0.1212121212…
Se o que você está falando é mais matizado, como em "Se eu revelo uma sequência possivelmente aleatória de números, você poderia me dizer se é um subconjunto fixo de ? E de onde veio?". Bem, primeiro, embora não esteja se repetindo, sequências aleatórias diferentes serão alinhadas pelo menos localmente por uma pequena execução. Esse é um resultado da teoria dos números, não estatístico. Assim que você quebrar, você precisará digitalizar para a próxima instância de alinhamento. Em termos computacionais, não é possível alinhar qualquer sequência aleatória porque pode corresponder até o lugar. Heck, mesmo que a sequência esteja alinhada comπ π π 2222+1 π em algum lugar, não significa que não é aleatório. Por exemplo, eu poderia escolher 3 aleatoriamente, não significa que é o primeiro dígito de .π
fonte