[{"@context":"https:\/\/schema.org\/","@type":"BlogPosting","@id":"https:\/\/ivonascimento.com\/2025\/12\/24\/como-ter-certeza-da-assertividade-da-resposta-da-simulacao-sem-comparar-com-probabilidade-teorica\/#BlogPosting","mainEntityOfPage":"https:\/\/ivonascimento.com\/2025\/12\/24\/como-ter-certeza-da-assertividade-da-resposta-da-simulacao-sem-comparar-com-probabilidade-teorica\/","headline":"Como ter certeza da assertividade da resposta da simula\u00e7\u00e3o sem comparar com probabilidade te\u00f3rica?","name":"Como ter certeza da assertividade da resposta da simula\u00e7\u00e3o sem comparar com probabilidade te\u00f3rica?","description":"Sem a probabilidade te\u00f3rica para comparar n\u00e3o ia ser poss\u00edvel brincar de frio e quente pensando \"a amostra de 50 ficou longe do resultado certo mas a 200 milh\u00f5es ficou pr\u00f3xima ao n\u00famero calculado hein\u2026 deve estar certo o suficiente.\"","datePublished":"2025-12-24","dateModified":"2026-08-08","author":{"@type":"Person","@id":"https:\/\/ivonascimento.com\/author\/ivonascimento\/#Person","name":"Ivo Nascimento","url":"https:\/\/ivonascimento.com\/author\/ivonascimento\/","identifier":10240028,"image":{"@type":"ImageObject","@id":"https:\/\/secure.gravatar.com\/avatar\/2305ea1f48319271d323c5e1c0aadd4cc45d10c4927dd8b3af083facb8c6f75f?s=96&d=identicon&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/2305ea1f48319271d323c5e1c0aadd4cc45d10c4927dd8b3af083facb8c6f75f?s=96&d=identicon&r=g","height":96,"width":96}},"publisher":{"@type":"Person","name":"Ivo Nascimento"},"image":{"@type":"ImageObject","@id":"https:\/\/i0.wp.com\/ivonascimento.com\/wp-content\/uploads\/2025\/12\/Generated-Image-December-22-2025-6_25PM.jpeg?fit=1408%2C768&ssl=1","url":"https:\/\/i0.wp.com\/ivonascimento.com\/wp-content\/uploads\/2025\/12\/Generated-Image-December-22-2025-6_25PM.jpeg?fit=1408%2C768&ssl=1","height":768,"width":1408},"url":"https:\/\/ivonascimento.com\/2025\/12\/24\/como-ter-certeza-da-assertividade-da-resposta-da-simulacao-sem-comparar-com-probabilidade-teorica\/","about":["Algoritmo","Estatistica","go","Matematica","probabilidade"],"wordCount":2609,"keywords":["estatistica","go","monte carlo","simula\u00e7\u00e3o"],"articleBody":"\u00c9 tudo uma quest\u00e3o de confian\u00e7a.No primeiro artigo Al\u00e9m das m\u00e9dias utilizei simula\u00e7\u00e3o de Monte Carlo para demonstrar experimentalmente a probabilidade te\u00f3rica de 31.25% do evento tirar 3 caras ao jogar 5 vezes uma moeda.Na implementa\u00e7\u00e3o utilizei somente um input, o totalSimulacoes porque o total de simula\u00e7\u00f5es afeta a confian\u00e7a estatistica da simula\u00e7\u00e3o.E tamb\u00e9m n\u00e3o utilizei nenhum m\u00e9todo para definir o total de simula\u00e7\u00f5es que foi executado. Naquela demonstra\u00e7\u00e3o foram utilizadas quantidades aleat\u00f3rias de simula\u00e7\u00f5es.Um quantidade de simula\u00e7\u00f5es muito baixa: 50 simula\u00e7\u00f5esUma extremamente alto: 1 bilh\u00e3o de simula\u00e7\u00f5es.Uma alta: 200 milh\u00f5es.Os resultados est\u00e3o na caixa abaixo.\t\t\t\t\t\t#Poucas Rodadas n\u00e3o trazem uma boa estimativa, por exemplo, com 1 rodada ou sr\u00e1 Probabilidade de 0% ou de 100%..\/flipCoin3on5 1Simulou 1 rodadas de 5 lan\u00e7amentos...Casos com exatamente 3 caras: 0Probabilidade Estimada: 0.0000 (0.00%).\/flipCoin3on5 1Simulou 1 rodadas de 5 lan\u00e7amentos...Casos com exatamente 3 caras: 1Probabilidade Estimada: 1.0000 (100.00%)#Com uma quantidade de Rodadas insuficiente o dado n\u00e3o \u00e9 confiavel..\/flipCoin3on5 50Casos com exatamente 3 caras: 17Probabilidade Estimada: 0.3400 (34.00%).\/flipCoin3on5 50Casos com exatamente 3 caras: 17Probabilidade Estimada: 0.3400 (34.00%)#Com rodadas demais temos uma \u00f3tima estimativa mas desperdi\u00e7amos tempo.# 1 Bilh\u00e3o rodadas =&gt; 1 minutotime .\/flipCoin3on5 1000000000   Simulou 1000000000 rodadas de 5 lan\u00e7amentos...Casos com exatamente 3 caras: 312500797Probabilidade Estimada: 0.3125 (31.25%)real    1m8,066suser    1m8,147ssys    0m0,080s#Com rodas o suficiente temos uma \u00f3tima estimativa #com 8\/10 execu\u00e7\u00f5es com Probabilidade estimativa identica a Probabilidade te\u00f3rica.# Duzentos Milh\u00f5es de rodadas =&gt; 13 sectime .\/flipCoin3on5 200000000 Simulou 200000000 rodadas de 5 lan\u00e7amentos...Casos com exatamente 3 caras: 62506172Probabilidade Estimada: 0.3125 (31.25%)real    0m13,721suser    0m13,732ssys    0m0,012stime .\/flipCoin3on5 200000000Simulou 200000000 rodadas de 5 lan\u00e7amentos...Casos com exatamente 3 caras: 62489409Probabilidade Estimada: 0.3124 (31.24%)real    0m13,547suser    0m13,557ssys    0m0,024s\t\t\tNessas simula\u00e7\u00f5es, com a probabilidade te\u00f3rica em m\u00e3os (31.25%) me permiti variar o totalSimulacoes at\u00e9 encontrar um resultado aceitavel, como \u00e9 o caso de 200 milhoes de simula\u00e7\u00f5es, para ter uma precis\u00e3o de \u00b10,01% (ou 0,0001).Tamb\u00e9m foi por ter a probabilidade te\u00f3rica que toda a ideia empirica de resultado aceitavel, de previs\u00e3o e valor ideal para totalSimulacoes pareceu aceitavel. Era s\u00f3 olhar para o resultado calculado corretamente de 31.25% e brincar de t\u00e1 frio, ta quente.Assim, a p\u0155oxima pergunta que acho interessate \u00e9 mas e se? E se n\u00e3o tivessemos a probabilidade te\u00f3rica?Sem a probabilidade te\u00f3rica para comparar n\u00e3o ia ser poss\u00edvel brincar de frio e quente pensando &#8220;a amostra de 50 ficou longe do resultado certo mas a 200 milh\u00f5es ficou pr\u00f3xima ao n\u00famero calculado hein\u2026 deve estar certo o suficiente.&#8221;Eu teria que abandonar a acur\u00e1cia, que \u00e9 relativa(a proximidade de uma medida com seu valor verdadeiro\/real) por falta do que comparar(probabilidade te\u00f3rica) e buscar outra alternativa para atender a necessidade de querer confiar na estimativa.Pode ser precis\u00e3o\u2026A primeira ideia seria come\u00e7ar a pensar em precis\u00e3o. Precis\u00e3o \u00e9 a proximidade entre m\u00faltiplas medi\u00e7\u00f5es repetidas (repetibilidade do resultado), mesmo que estejam erradas.Sera que a probabilidade estimada com um totalSimulacoes de 50 \u00e9 precisa? Numa serie de 5 estimativas os resultados foram: 0.34, 0.40, 0.37, 0.20, 0.30. Definitivamente n\u00e3o!J\u00e1 quando utilizo um totalSimulacoes de 1 bilh\u00e3o a s\u00e9rie de 5 traz uma boa precis\u00e3o: 0.312497, 0.312493, 0.31254, 0.312496, 0.312497 . Mas cada rodada levou \u00b1 9 minutos com flipCoin.go (e \u00b1 3 minutos com flipCoinBigNumber.go)\u2026 ou confian\u00e7a.o N\u00edvel de Confian\u00e7a que voc\u00ea definiu que precisa.Diferente do que busquei com as ideias acima em a ideia de resultado certo era subjetiva a ideia de n\u00edvel de confian\u00e7a \u00e9 objetiva.Ao executar 2 bilhoes de rodadas do jogo &#8220;jogar 5 vezes a moeda pra ver quantas vezes acerto 3 caras&#8221; o resultado a varia\u00e7\u00e3o na estimativa reduzia. Eu poderia aumentar ainda mais o numero de rodadas, mas at\u00e9 quando deveria continuar aumentando esse numero para ter certeza?Usar 1 milh\u00e3o de rodadas me deu uma varia\u00e7\u00e3o pequena, mas que n\u00e3o atendia meu objetivo de provar experimentalmente a resposta te\u00f3rica de 31.25% porque ainda faltava acertar o cent\u00e9simo.Na tabela abaixo voc\u00ea pode ver a varia\u00e7\u00e3o diminuindo(numero de casas decismais estaveis aumentando) ou seja, a precis\u00e3o da resposta aumentando.Numero de RodadasEstimativa500.26000000.34000000.28000001 milh\u00e3o0.31258000.31202000.31282600.312446042 milh\u00f5es0.31258840.31250930.3124413400 Milh\u00f5es0.312504270.31249493Essa percep\u00e7\u00e3o de melhoria carece de uma prova e para isso precisamos de 2 ferramentas. A formula de erro padr\u00e3o e o zScore.O Erro Padr\u00e3o (SE de standard error)O erro padr\u00e3o mede a disper\u00e7\u00e3o em torno da m\u00e9dia amostral(soma de todos os valores da amostra dividida pelo n\u00famero de valores).erro = sqrt( p * (1 &#8211; p) \/ n )\t\t\t\t\t\t\/\/ variancia: p * (1 - p). \/\/ No caso de uma moeda justa. A chance de cara ou coroa \u00e9 igual a 50%=0.5\/\/ 0.5 *( 1 - 0.5) = 0.5 * 0.5 = 0.25\/\/ \/ n: numero de tentativas. erro := math.Sqrt( p* (1-p) \/ float64(n))\t\t\tUma pergunta interessante de responder \u00e9: Por que estamos usando um p de 0.5? Tem um artigo tratando desse tema aqui: [[Como lidar com o Erro Padr\u00e3o se n\u00e3o sei a probabilidade te\u00f3rica?]] A resposta, por enquanto, \u00e9 que escolhemos ignorar a probabilidade te\u00f3rica de 0.3125 a favor de uma an\u00e1lise totalmente experimental.E de acordo com os experimentos temos os seguintes erros padr\u00e3o:Numero de RodadasErro Padr\u00e3o500.0707 =&gt; 7.07%1 milh\u00e3o0.0005 =&gt; 0.05%42 milh\u00f5es0.000077 =&gt; 0.0077%400 Milh\u00f5es0.000025 =&gt; 0.0025%&#8220;A precis\u00e3o em Monte Carlo \u00e9 cara: o custo computacional cresce ao quadrado da precis\u00e3o desejada.&#8221;A essa altura d\u00e1 pra ver o quanto custa reduzir o erro. Esse \u00e9 um ponto importante do problema. A precis\u00e3o n\u00e3o aumenta de forma linear; voc\u00ea precisa quadruplicar o tamanho da amostra para dobrar a precis\u00e3o! Essa \u00e9 a Lei dos Grandes N\u00famerosVamos analisar os dados:R\u00e9gua de Confian\u00e7aNa pr\u00e1tica, o erro padr\u00e3o \u00e9 a unidade de uma regua de confian\u00e7a. Ent\u00e3o, o valor de 7.07%, por exemplo, \u00e9 o tamanho t\u00edpico do desvio que esperamos ver em 50 jogadas. Cada passo na regu\u00e1 de confian\u00e7a do experimento de 50 rodadas representa 7.07%.&#8220;Mas porcentagem \u00e9 uma medida relativa. 7.07% relativo a que?&#8221;Ao Normal! \ud83d\ude42Usando o exemplo da moeda, ao jogar uma moeda n\u00e3o viciada(alterada para cair mais de um lado que outro) a probabilidade te\u00f3rica(o normal) diz que cada lado tem 50% de chance. Se voc\u00ea jogar 50 vezes essa moeda o resultado te\u00f3rico \u00e9 que 25 das vezes voce ter\u00e1 uma cara e outras 25 a coroa.Mas o mundo real tem aleatoriedade. A realidade \u00e9 que as vezes vai ter 28 caras x 22 coras, 29 coroas x 21 caras e assim aleatoriamente. E voc\u00ea vai achar normal essa varia\u00e7\u00e3o; \u00e9 uma quest\u00e3o de sorte.Mas se o resultado for 45 caras e 5 coras voc\u00ea vai desconfiar.O erro padr\u00e3o \u00e9 uma ferramenta estatistica objetiva que diz se uma varia\u00e7\u00e3o \u00e9 normal ou estranha como 45caras e 5 coroas parece ser.Somente com o erro padr\u00e3o ainda n\u00e3o \u00e9 possivel encontrar o n\u00famero ideal de simula\u00e7\u00f5es para o experimento, mas j\u00e1 se aprende alguma coisa sobre ele.Arredonde sua estimativa para a mesma ordem de grandeza do seu Erro Padr\u00e3o.   \/\/ se SE = 0.0005 e estimativa = 0.31256789   \/\/ a linha abaixo trata o ruido como precis\u00e3o   fmt.printf(&#34;Probabilidade de %.8f\\n&#34;)    \/\/ a linha abaixo fala a verdade sobre a precis\u00e3o pq ignora o ruido do experimento   fmt.printf(&#34;Probabilidade de %.4f\\n&#34;)       \/\/ a linha abaixo fala a verdade e adiciona uma informa\u00e7\u00e3o importante sobre o comportamento de arredondamento.    fmt.printf(&#34;Probabilidade de %.5f\\n&#34;)    \t\t\t\t\t\t**Lembra da ideia da SE ser uma unidade numa regua?** Ent\u00e3o, se sua regua tem um risquinho a cada 0.0005 como \u00e9 que voce vai medir algo menor que isso? Use essa ideia para remover o ruido.  \t\t\tEconomize poder computacional.Utilize a SE como uma condi\u00e7\u00e3o de parada de sua simula\u00e7\u00e3o.Ao afirmar que voc\u00ea quer que a simula\u00e7\u00e3o pare ao atingir uma SE de 0.0005 sua simula\u00e7\u00e3o passa a variar de acordo com a incerteza do evento e ao inv\u00e9s de um loop de tamanho fixo. N\u00e3o se esque\u00e7a de iniciar a amostra com um numero significativo ou voce pode ter um falso positivo com amostragens pequenas(veja a tabela para 50 rodadas).O ZScoreO zScore \u00e9 um multiplicador. Ele diz a quanto erros padr\u00e3o voc\u00ea esta longe da normalidade. Na imagem anterior voc\u00ea tem uma regua com uma curva normal e algumas marca\u00e7\u00f5es nela. O ponto central da curva \u00e9 a probabilidade te\u00f3rica, ele marca 0.5 como chance te\u00f3rica de cair cara ou coroa ao se jogar uma moeda e do centro para as bordas voc\u00ea tem os desvios-padr\u00e3o.Abaixo uma tabela de Desvio Padr\u00e3o e zScore. De uma olhada na regra 68-95-99,7 para saber maisDesvio Padr\u00e3oZInterpreta\u00e7\u00e3o050%O dado esta exatamente na m\u00e9dia+- 168%aproximadamente 68% dos dados est\u00e3o entre -1 e +1+- 1.64590%aprox. 90% dos dados est\u00e3o distantes 1.645 desvio padr\u00e3o da m\u00e9dia+- 1.9695%aprox. 95% dos dados est\u00e3o distantes 1.96 desvio padr\u00e3o da m\u00e9dia+-399,7%aprox. 99.7% dos dados entre -3 e +3![[Pasted image 20251223125519.png]]Custo do Erro x Custo da AmostraNa pr\u00e1tica o intervalo de confian\u00e7a de 95% \u00e9 o mais utilizado nas \u00e1reas cientificas e de neg\u00f3cios e isso se deve a uma analise que leva em conta:o custo do erro, ou qu\u00e3o ruim \u00e9 se a nossa conclus\u00e3o estiver errada.o custo da amostra, ou quanto custa obter os dados para ter mais certeza.Quanto maior for o custo do erro, maior \u00e9 o intervalo de confian\u00e7a utilizado. Por exemplo, na industria farmaceutica utiliza 95% de confian\u00e7a na funcionalidade do medicamento perante um placebo, por\u00e9m, exigem 99% de confian\u00e7a de que o medicamento \u00e9 seguro e n\u00e3o toxico ao olhar para seus efeitos colaterais.&#8220;\u00c9 mais aceitavel um rem\u00e9dio n\u00e3o ter efeito algum do que ter um efeito colateral danoso que pode levar a morte&#8221;Voltando ao nosso exemplo, o intervalo de confian\u00e7a utilizado \u00e9 95%, assim o z \u00e9 1.96.Margem de ErroMargemErro = zScore x Erro padr\u00e3o.ME(50 rodadas) = 1.96 * 0.0707ME(50 rodadas) = 0.13857 ~= 0.1386 =&gt; 13.86%.Isso significa que ao jogar 50 vezes uma moeda qualquer resultado at\u00e9 13.86% diferente de 50% \u00e9 considerado &#8220;sorte normal&#8221;.m\u00e9diaMargem errovalor final%exemplo resultadoLimite Superior0.5+ 0.13860.638663.8631 caras x 19 coroaLimite inferior0.5&#8211; 0.13860.361436.1418 caras x 32 coroasNumero de RodadasErro Padr\u00e3oMargem de Erro500.0707 =&gt; 7.07%\u00b1 0.138571 milh\u00e3o0.0005 =&gt; 0.05%\u00b1 0.0009842 milh\u00f5es0.000077 =&gt; 0.0077%\u00b1 0.00015400 Milh\u00f5es0.000025 =&gt; 0.0025%\u00b1 0.000049No experimento com 50 rodadas, o erro padr\u00e3o \u00e9 de 7.07%, isso significa que se voce repetir o experimento vezes o suficiente vai encontrar uma varia\u00e7\u00e3o no resultado 7.07% distante da probabilidade te\u00f3rica de 50% para cada lado. O script flipCoin50xSE707.go executa um experimento para validar esse dado te\u00f3rico.Na pr\u00e1tica isso significa que n\u00e3o podemos utilizar somente 50 rodadas para validar um evento de lan\u00e7amento de moedas. Isso ocorre porque com essa quantidade &#8220;a sorte&#8221; ainda ganha da lei de grandes numeros e por causa disso a precis\u00e3o da regua \u00e9 muito baixa.O exprimento de 50 rodadas n\u00e3o tem a precis\u00e3o desejada.Para comprovar experimentalmente a propabilidade te\u00f3rica precisamos de uma precis\u00e3o de cent\u00e9ssimo. O resultado te\u00f3rico \u00e9 31.25%.Para ilustrar, podemos dizer que n\u00e3o d\u00e1 pra usar uma regua com precis\u00e3o de 7cm para medir algo quando voc\u00ea quer saber a medida em cent\u00e9ssimo de milimetro, por que voc\u00ea vai ser obrigado a dizer que mede 7cm e alguma coisa. Falta Precis\u00e3o.Assim como temos regua, trena, paquimetro, micrometro e outros instrumentos com precis\u00f5es diferentes dependendo da aplica\u00e7\u00e3o n\u00f3s utilizamos tamanhos de amostra diferentes para diferentes aplica\u00e7\u00f5es.Agora que j\u00e1 conversamos sobre as pe\u00e7as necess\u00e1rias para validar experimentalmente o resultado te\u00f3rico. Vamos a implementa\u00e7\u00e3o.Precisamos de um c\u00f3digo:a) Com margem de erro que garanta uma precis\u00e3o como em 0.3125b) que saiba quando parar.A ideia \u00e9 implementar uma regra de parada (b) usando o conceito de (a).Come\u00e7ando pelo fim, o resultado:\t\t\t\t\t\tTamanho Amostragem: 40000000Estimativa : 0.312592 | Margem de erro : 0.0001 [NOK] Margem de Erro 0.000144 &gt; 0.000140.Tamanho Amostragem: 41000000Estimativa : 0.312556 | Margem de erro : 0.0001 [NOK] Margem de Erro 0.000142 &gt; 0.000140.Tamanho Amostragem: 42000000Estimativa : 0.312404 | Margem de erro : 0.0001 [NOK] Margem de Erro 0.000140 &gt; 0.000140.Tamanho Amostragem: 43000000Estimativa : 0.312398 | Margem de erro : 0.0001 [OK] Margem de Erro 0.000139 &lt; 0.000140.Simulou 43000000 rodadas de 5 lan\u00e7amentos...Probabilidade Estimada: 0.3124 (31.24%)\t\t\tDefini\u00e7\u00e3o das regras.\t\t\t\t\t\tconst lancamentosPorVez = 5                                                     const alvoCaras = 3                                                             func main() {                                                                       rand.Seed(time.Now().UnixNano())                                                \/\/ delta aceitavel na estimativa 0.0001                                         variacaoAceita := 0.00014    \/\/ para evitar falsos positivos com poucas simula\u00e7\u00f5es inicio com 10.000.000    totalSimulacoes := 10000000    \/\/ se oresultado \u00e9 insatisfat\u00f3rio o numero de simulacoes aumento em 1.000.000    stepSize := 1000000    \/\/ define um nivel de confian\u00e7a de 95%    nivelConfianca := 1.96  \t\t\tExecu\u00e7\u00e3o do evento para coletar resultado.\t\t\t\t\t\t\/\/ Dentro da fun\u00e7\u00e3o rodada lan\u00e7o 5 vezes a moeda e conto o resultado.carasNoExperimento := 0\/\/ lancar a moeda 5 vezes.    for j := 0; j &lt; lancamentosPorVez; j++ {    if lancaMoeda() == 1 {        carasNoExperimento++    }}\/\/ Se o experimento resultou em exatamente 3 caras, contamos como sucessoif carasNoExperimento == alvoCaras {    sucessos++}\t\t\tExecu\u00e7\u00e3o da simula\u00e7\u00e3o at\u00e9 satisfazer as regras.&#8220;Eu s\u00f3 ficarei satisfeito com a simula\u00e7\u00e3o quando eu tiver 95% de certeza estat\u00edstica de que o valor real est\u00e1 entre (Estimativa &#8211; 0.00014) e (Estimativa + 0.00014).&#8221;\t\t\t\t\t\t\/\/ ... vari\u00e1veis de configura\u00e7\u00e3o (margem de erro aceita, n\u00edvel de confian\u00e7a 95%)for {    \/\/ 1. Executa a simula\u00e7\u00e3o massiva (ex: come\u00e7a com 10 milh\u00f5es)    probabilidadeEstimada = rodada(totalSimulacoes)    \/\/ 2. Calcula o Erro Padr\u00e3o para uma propor\u00e7\u00e3o binomial    \/\/ F\u00f3rmula: sqrt( (p * (1-p)) \/ n )    erroPadrao := math.Sqrt( (probabilidadeEstimada * ( 1- probabilidadeEstimada)) \/ float64(totalSimulacoes))    \/\/ 3. Calcula a Margem de Erro atual (baseado em 95% de confian\u00e7a, Z=1.96)    margemErroAtual := nivelConfianca * erroPadrao    \/\/ ... prints ...    \/\/ 4. Verifica se a margem de erro j\u00e1 \u00e9 pequena o suficiente    if  margemErroAtual &gt; variacaoAceita {        \/\/ Se o erro ainda \u00e9 grande, aumenta o tamanho da amostra e tenta de novo        totalSimulacoes = totalSimulacoes + stepSize        fmt.Printf(&quot;[NOK] Margem de Erro %f &gt; %f.\\n&quot;, margemErroAtual , variacaoAceita)    }else {        \/\/ Se o erro j\u00e1 \u00e9 aceit\u00e1vel, para o loop.        fmt.Printf(&quot;[OK] Margem de Erro %f &lt; %f.\\n&quot;, margemErroAtual,variacaoAceita)        break    }}\t\t\tPor que a variacaoAceita tem o valor de 0.00014 ?Se a aceita\u00e7\u00e3o fosse&nbsp;0.01&nbsp;(1%), o c\u00f3digo pararia muito r\u00e1pido, mas a resposta seria imprecisa (ex: 31% \u00b1 1%).Se a aceita\u00e7\u00e3o fosse&nbsp;0.000001, o c\u00f3digo rodaria por horas ou dias para atingir uma precis\u00e3o extrema e talvez desnecess\u00e1ria.Por que inicie o numero de rodadas com 10 milh\u00f5es?Para evitar um falso positivo com poucas rodadas que poderia dar resposta de erro de 0 erro por pura sorte.Essa foi uma jornada longa para responder uma pergunta aparentemente simples.Esse exerc\u00edcio de explicar os porqu\u00eas do c\u00f3digo foi uma jornada focada em fixar conceitos de probabilidade, mas n\u00e3o foi uma jornada exaustiva.Apesar de longa, a explica\u00e7\u00e3o \u00e9 simplificada e deixou varios pontos a serem explicados e que vou abordar em outros textos e linkar com esse texto para permitir uma navega\u00e7\u00e3o maior pelos conceitos e aprendizados. E como a curiosidade \u00e9 a m\u00e3e do aprendizado nada melhor que perguntas para exemplificar esses pontos.Por que foi utilizado 0.5 para a probabilidade da moeda?Por que ao aumentar o n\u00famero de simula\u00e7\u00f5es o ru\u00eddo diminui e me aproximo da probabilidade te\u00f3rica?Por que foi utilizado o n\u00edvel de confian\u00e7a de 95%?Por que na tabela de n\u00edvel de confian\u00e7a n\u00e3o tem o n\u00edvel 2?Por que foi utilizado intervalo de Confian\u00e7a?Por que o resultado da distribui\u00e7\u00e3o binomial da moeda se encaixa no resultado da distribui\u00e7\u00b5\u00e3o normal?Por que \u00e9 confuso falar de Desvio Padr\u00e3o e Erro Padr\u00e3o?O c\u00f3digo todo da implementa\u00e7\u00e3o voc\u00ea encontra em flipCoin3on5_notheoricalKnowledge.goreposit\u00f3rio no github: https:\/\/github.com\/iannsp\/montecarloCompartilhe isso:\t\t\t\tImprimir(abre em nova janela)\t\t\t\tImprimir\t\t\tTweet\t\t\t\tCompartilhar no WhatsApp(abre em nova janela)\t\t\t\tWhatsApp\t\t\t"},{"@context":"https:\/\/schema.org\/","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"2025","item":"https:\/\/ivonascimento.com\/2025\/#breadcrumbitem"},{"@type":"ListItem","position":2,"name":"12","item":"https:\/\/ivonascimento.com\/2025\/\/12\/#breadcrumbitem"},{"@type":"ListItem","position":3,"name":"24","item":"https:\/\/ivonascimento.com\/2025\/\/12\/\/24\/#breadcrumbitem"},{"@type":"ListItem","position":4,"name":"Como ter certeza da assertividade da resposta da simula\u00e7\u00e3o sem comparar com probabilidade te\u00f3rica?","item":"https:\/\/ivonascimento.com\/2025\/12\/24\/como-ter-certeza-da-assertividade-da-resposta-da-simulacao-sem-comparar-com-probabilidade-teorica\/#breadcrumbitem"}]}]