Explicação da simulação estatística

10

Eu não sou um estatístico. Então, por favor, tenha paciência com os meus erros.

Você poderia explicar de uma maneira simples como a simulação é feita? Eu sei que ele pega algumas amostras aleatórias de uma distribuição normal e usa para simular. Mas, não entenda claramente.

Curioso
fonte
11
Simulando o que ?! :-)
chl
Exatamente, mas às vezes as perguntas são desencorajadoras para o solicitante, e este é um desses casos.
8242 amit
11
@phaedrus Este é um comentário da minha intenção? Se sim, você poderia explicar o que entendeu da pergunta acima?
chl
Esta questão do currículo também pode ser interessante: Usar simulações em computador para entender melhor os conceitos estatísticos no nível de pós-graduação .
gung - Restabelece Monica

Respostas:

27

Nas estatísticas, a simulação é usada para avaliar o desempenho de um método, normalmente quando há falta de fundamentação teórica. Com simulações, o estatístico conhece e controla a verdade .

A simulação é usada vantajosamente em várias situações. Isso inclui fornecer a estimativa empírica das distribuições de amostras, estudar a especificação errônea de suposições em procedimentos estatísticos, determinar o poder em testes de hipóteses etc.

Os estudos de simulação devem ser projetados com muito rigor. Burton et al. (2006) deram uma visão geral muito agradável em seu artigo ' O desenho de estudos de simulação em estatística médica '. Estudos de simulação realizados em uma ampla variedade de situações podem ser encontrados nas referências.

Exemplo ilustrativo simples Considere o modelo linear

y=μ+βx+ϵ

onde é uma covariável binária ( x = 0 ou x = 1 ) e ϵ N ( 0 , σ 2 ) . Usando simulações em R, vamos verificar sexx=0 0x=1 1ϵN(0 0,σ2)

E(β^)=β.
> #------settings------
> n <- 100            #sample size                          
> mu <- 5             #this is unknown in practice                         
> beta <- 2.7         #this is unknown in practice
> sigma <- 0.15       #this is unknown in practice
> #--------------------
> 
> #------set the seed so that this example can be replicated------
> set.seed(937)
> #---------------------------------------------------------------
>
> #------generate 1000 data sets and store betaHat------
> betaHat <- numeric(1000)
> for(i in 1:1000)
+ {
+     #generate the binary covariate --> n Bernoulli trials
+   x <- sample(x=c(0, 1), size=n, replace=TRUE, prob=c(0.5, 0.5))
+     #generate the errors
+   epsilon <- rnorm(n=n, mean=0, sd=sigma)
+     #form the response variable      
+   y <- mu + beta * x + epsilon 
+     #the ith generated data set
+   data_i <- data.frame(y=y, x=x)
+     #fit the model
+   mod <- lm(y~x, data=data_i)
+     #store the estimate of beta
+   betaHat[i] <- as.numeric(coef(mod)[2])     
+ }    
> #-----------------------------------------------------
> 
> #------E(betaHat) = beta?------
> mean(betaHat)
[1] 2.698609
> #------------------------------

Nota : Há uma carta ao editor para o trabalho mencionado acima.

ocram
fonte
9

Primeiro de tudo, existem muitos, diferentes tipos de simulação nas estatísticas e ainda mais nos campos circundantes. Apenas dizer "Simulação" é tão útil quanto dizer "Modelo" - ou seja, não muito.

Com base no restante da sua pergunta, acho que você quer dizer simulação de Monte Carlo, mas até isso é um pouco vago. Basicamente, o que acontece é que você extrai amostras repetidamente de uma distribuição (não precisa ser normal) para fazer algumas análises estatísticas em uma população artificial com propriedades conhecidas, mas aleatórias.

O objetivo disso tende a se dividir em duas categorias:

Meu método pode lidar com X? : Essencialmente, você está simulando uma série de muitas populações aleatórias com uma resposta "certa" conhecida para ver se sua nova técnica lhe devolve a resposta certa. Como exemplo básico, digamos que você tenha desenvolvido o que você acha que é uma nova maneira de medir a correlação entre duas variáveis, X e Y. Você simularia duas variáveis ​​em que o valor de Y depende do valor de X, juntamente com algum barulho aleatório. Por exemplo, Y = 0,25x + ruído. Você então criaria uma população com alguns valores aleatórios de X, alguns valores de Y que eram 0,25x + um número aleatório, provavelmente muitas milhares de vezes, e então mostraria que, em média, sua nova técnica cospe um número que mostra corretamente que Y = 0,25x.

O que acontece se? A simulação pode ser feita como uma análise de sensibilidade para um estudo existente. Digamos, por exemplo, que realizei um estudo de coorte, mas sei que minha medição de exposição não é muito boa. Classifica incorretamente 30% dos meus assuntos como expostos quando não deveriam ser e classifica 10% dos meus assuntos como não expostos quando não deveriam. O problema é que não tenho um teste melhor, então não sei qual é qual.

Eu pegaria minha população e daria a cada sujeito exposto uma chance de 30% de mudar para não exposto, e cada sujeito não exposto teria 10% de chance de mudar para exposto. Eu então criava milhares de novas populações, determinando aleatoriamente quais assuntos alternavam e repetia minha análise. A gama desses resultados me dará uma boa estimativa de quanto o resultado do meu estudo pode mudar se eu pudesse ter classificado corretamente todos.

Obviamente, como sempre, há mais complexidade, nuances e utilidade na simulação, dependendo de quanto você deseja cavar.

Fomite
fonte
1. Então, o que você explicou em sua resposta é a simulação de Monte Carlo? 2. Existem outros tipos de simulações (além de Monte-Carlo) usadas em estatística?
precisa saber é o seguinte
5

A simulação também pode ser usada para analisar processos reais sob condições teóricas, onde esses processos têm entradas não lineares. Por exemplo, uma empresa de manufatura pode estar interessada em adicionar uma linha de produção extra com boa relação custo-benefício, um call center pode estar interessado em como rotear chamadas em torno de operadores para reduzir o tempo na fila e as taxas de impedimento para os chamadores, um departamento de emergência pode estar interessado na melhor forma de listar funcionários e transferir pacientes ou um porto de embarque pode estar interessado na maneira mais eficiente de planejar suas operações de contêineres. A simulação de eventos discretos pode ser usada para modelar esses processos, e é possível ajustar os parâmetros para responder a perguntas do tipo "what if".

Outra área de interesse em simulação são sistemas complexos. Particularmente nas ciências sociais, a simulação baseada em agentes é um tipo interessante de simulação que está começando a reunir mais proponentes. Na simulação baseada em agentes, os agentes (por exemplo, pessoas individuais) recebem atributos como personalidades e interagem entre si, modelando um sistema caótico. A simulação baseada em agente analisa o efeito dos agentes vizinhos um sobre o outro e o efeito à distância pode ser incluído. Embora eu não tenha feito simulações baseadas em agentes, já o vi modelar sistemas como a distribuição geográfica do tamanho da população em uma comunidade pré-histórica ao longo do tempo.

Michelle
fonte
Você pode fornecer alguns exemplos?
vasili111
Não sei ao certo o que você quer dizer com alguns exemplos. Dei alguns exemplos no meu primeiro parágrafo.
Michelle
2

x1 1,,xn

x1 1,,xn

F^n(x)=1 1nEu=1 1nEuxEux
nFFEF[h(X)]ψ(X1 1,,Xn)F^n
σ^n2(x1 1,,xn)=1 1n+1 1Eu=1 1n(xEu-x¯)2
σ2=varF(X)n x1 1,,xnF^n
β=σ^n2(x1 1,,xn)-σ^n2(x1 1,,xn)
Xi'an
fonte
3
Eu acredito que é útil separar dois conceitos essenciais por trás do método de inicialização. O próprio bootstrap deve ser pensado como uma maneira de modificar um estimador para produzir outro estimador (espero que seja melhor). Pode ser computado teoricamente, exatamente, e (às vezes) de forma fechada. A simulação não é uma parte inerente do bootstrap! No entanto, em muitos casos, a simulação é uma maneira natural e fácil de aproximar o estimador de autoinicialização. Veja a introdução e o capítulo 1 em Hall, The Bootstrap e Edgeworth Expansion.
whuber
11
E[β | amostra]=-[2/(n+1 1)]σ^n2(x1 1,,xn).