Suponha que um jogo ofereça um evento que, após a conclusão, dê uma recompensa ou nada. O mecanismo exato para determinar se a recompensa é dada é desconhecido, mas presumo que um gerador de números aleatórios seja usado e, se o resultado for maior que algum valor codificado, você receberá a recompensa.
Se eu quiser basicamente fazer engenharia reversa do valor que os programadores usaram para determinar com que frequência a recompensa é concedida (estimada em 15 a 30%), como calculo o número de amostras de que preciso?
Comecei com a seção "Estimador de probabilidade verdadeira" aqui: Checking_whether_a_coin_is_fair , mas não tenho certeza se estou seguindo o caminho certo. Eu estava obtendo resultados de ~ 1000 amostras necessárias para um erro máximo de 3% com 95% de confiança.
Por fim, eis o que estou tentando resolver:
- O evento 1 dá a recompensa 1.0R, X% do tempo
- O evento # 2 dá a recompensa 1.4R, Y% do tempo
Eu gostaria de estimar X e Y com precisão suficiente para determinar qual evento é mais eficiente. Amostras grandes são um problema, pois só posso obter 1 amostra a cada 20 minutos, no máximo.
Respostas:
fonte
Eu sei que é menos elegante, mas tive que simular. Não apenas criei uma simulação bastante simples, mas é deselegante e lenta de executar. É bom o suficiente, no entanto. Uma vantagem é que, enquanto alguns dos princípios básicos estiverem corretos, ele me dirá quando a abordagem elegante cair.
O tamanho da amostra varia em função do valor codificado.
Então aqui está o código:
Longe de 50%, "um pouco menos de observações" parece ser necessária, como sugerido pela kjetil.
Eu acho que você pode obter uma estimativa decente da prevalência antes de 400 amostras e ajustar sua estratégia de amostragem à medida que avança. Não acho que deva haver uma corrida no meio e, portanto, você pode aumentar o N_loops até 10e3 e aumentar o "by" em "my_prev" para 0,001.
fonte
fonte