Capítulo 48 Simulação computacional
48.1 Simulações computacionais
48.1.1 O que são simulações computacionais?
Simulações computacionais consistem na geração de dados artificiais baseados em regras matemáticas e estatísticas, permitindo testar hipóteses, validar métodos e explorar cenários complexos sem necessidade de dados reais.29
A simulação é frequentemente usada em estatística para avaliar o desempenho de testes, estimadores e modelos sob diferentes condições.REF?
48.1.2 Por que usar simulações?
Testar o comportamento de métodos estatísticos sob diferentes premissas (ex: normalidade, homocedasticidade, tamanho amostral).REF?
Avaliar a robustez de algoritmos computacionais.REF?
Reproduzir processos naturais ou sociais para compreensão teórica.REF?
48.1.3 Quais são as boas práticas em simulações computacionais?
Defina claramente o objetivo da simulação e as hipóteses a serem testadas, incluindo quais aspectos do fenômeno ou do método você pretende avaliar.44
Use uma semente para o gerador de números aleatórios com set.seed() para garantir a reprodutibilidade dos resultados.REF?
Documente detalhadamente o processo de simulação, incluindo os parâmetros utilizados, a lógica do algoritmo e as suposições feitas.378
Realize múltiplas simulações (ex.: 1000 ou mais) para obter estimativas estáveis e resultados mais robustos e confiáveis.REF?
Analise os resultados de forma crítica, considerando a variabilidade, as limitações do modelo e possíveis vieses do processo de simulação.REF?
Use funções vetorizadas para otimizar o desempenho e reduzir o tempo de execução da simulação.REF?
O pacote base57 fornece a função set.seed para especificar uma semente e garantir a reprodutibilidade de computações que envolvem números aleatórios.
48.3 Métodos de simulação
48.3.1 Simulações computacionais dependem da distribuição Normal?
Não. Simulações computacionais não dependem da distribuição Normal. Qualquer distribuição de probabilidade pode ser usada para gerar dados artificiais, desde que represente adequadamente o mecanismo gerador do fenômeno em estudo.REF?
A escolha da distribuição depende da natureza da variável (contínua ou discreta), do domínio dos valores possíveis e da estrutura probabilística do processo observado.REF?
Distribuições como Binomial, Poisson e Exponencial são frequentemente utilizadas em simulações para representar proporções, contagens de eventos e tempos até a ocorrência de eventos, respectivamente.REF?
Simulações baseadas em diferentes distribuições permitem avaliar o desempenho de métodos estatísticos e algoritmos inferenciais sob condições realistas e variadas, incluindo assimetria, discretação e presença de valores extremos.REF?
48.3.2 Como escolher a distribuição adequada em um estudo de simulação?
A escolha da distribuição deve ser guiada pelo mecanismo gerador dos dados do fenômeno de interesse, e não por conveniência matemática.REF?
Aspectos como o tipo da variável, assimetria, limites naturais e frequência de eventos devem ser considerados na especificação da distribuição.REF?
Em estudos de simulação, é comum avaliar múltiplas distribuições para investigar a sensibilidade dos resultados às suposições do modelo.44
48.3.3 Como simular dados de diferentes distribuições?
- Use funções específicas para cada distribuição, disponíveis nas bibliotecas estatísticas da linguagem utilizada.REF?
Figura 48.1: Dados simulados a partir de diferentes distribuições: Normal(0,1), Binomial(1,0.4), Poisson(2) e Exponencial(1).
- Independentemente da distribuição utilizada, o procedimento de simulação segue os mesmos princípios computacionais, diferindo apenas na função geradora dos números aleatórios.REF?
48.3.4 O que é o método de Monte Carlo?
.379
No método Markov Chain Monte Carlo (MCMC), o modelo de Markov é usado para gerar amostras de distribuições complexas a partir da simulação de cadeias com distribuição estacionária prescrita.328
Figura 48.2: Convergência do histograma para a PDF teórica da Normal(0,1) com o aumento do tamanho amostral (n = 10, 100, 1000, 10000).
Figura 48.3: Convergência da média e do desvio-padrão amostral para os valores teóricos (0 e 1, respectivamente) com o aumento do tamanho amostral (n = 10, 20, 50, 100, 200, 500, 1000, 2000, 5000, 10000).
O pacote base57 fornece a função set.seed para especificar uma semente para reprodutibilidade de computações que envolvem números aleatórios.
O pacote simstudy380 fornece as funções defData e genData para criar variáveis e simular um banco de dados de acordo com o delineamento pré-especificado, respectivamente.
O pacote faux381 fornece a função sim_design para simular um banco de dados de acordo com o delineamento pré-especificado.
O pacote InteractionPoweR356 fornece a função generate_interaction para simular bancos de dads com efeitos de interação.
48.4 Diretrizes para redação
48.4.1 Quais são as diretrizes para redação de estudos de simulação computacional?
Visite a rede Enhancing the QUAlity and Transparency Of health Research (EQUATOR Network) para encontrar diretrizes específicas.
Strengthening the reporting of empirical simulation studies: Introducing the STRESS guidelines:382 https://www.equator-network.org/reporting-guidelines/strengthening-the-reporting-of-empirical-simulation-studies-introducing-the-stress-guidelines/
Ferreira, Arthur de Sá. Ciência com R: Perguntas e respostas para pesquisadores e analistas de dados. Rio de Janeiro: 1a edição,