Como simular o desvio padrão
Gostaria de simular dados com base em dados reais capturados. Os dados reais capturados são 15 observações. A simulação com base nos dados existentes é de 100 observações. Eu tenho uma média e um desvio padrão para as 15 observações, no entanto, como faço para simular o desvio padrão para uma amostra maior (100 observações) com base nos dados reais menores? O desvio padrão geralmente deve diminuir com o aumento do tamanho da amostra, mas com que taxa?
Respostas
O erro padrão diminui à medida que o tamanho da amostra aumenta. O desvio padrão é um conceito relacionado, mas talvez não relacionado o suficiente para justificar uma terminologia semelhante que confunde todos que estão começando a aprender estatística.
Uma distribuição de amostragem é a distribuição de valores que você obteria se amostrasse repetidamente uma população e calculasse alguma estatística, digamos a média, a cada vez. O desvio padrão dessa distribuição amostral é o erro padrão. Para o erro padrão da média, ele diminui em$\sqrt{n}$, então $s/\sqrt{n}$ como uma estimativa do erro padrão (onde $s$ é o desvio padrão da amostra).
O desvio padrão de uma distribuição é o que quer que seja, e não importa o tamanho da amostra que você extrai ou se você mesmo faz uma amostra.
Parece que você deseja simular dados de uma distribuição com a média e o desvio padrão que você calculou a partir da amostra de $15$, então faça isso. Se você deseja assumir uma distribuição normal, o comando R é rnorm e o comando Python é numpy.random.normal.
O desvio padrão não diminui com o tamanho da amostra. Quanto maior for a sua amostra, mais próximo o desvio padrão deve estar do desvio padrão da população. O que se segue, com um tamanho de amostra maior, a dispersão dos desvios-padrão estimados em amostras maiores versus amostras menores diminuiria, porque com base em amostras maiores, seríamos mais precisos.
Abaixo você pode ver um exemplo numérico em R para isso, onde simulamos desenhos da distribuição normal padrão (com sd = 1) para 15 e 100 amostras e, em seguida, estimamos os desvios padrão para eles.
> summary(replicate(100000, sd(rnorm(15))))
Min. 1st Qu. Median Mean 3rd Qu. Max.
0.3039 0.8515 0.9762 0.9824 1.1061 1.8886
> summary(replicate(100000, sd(rnorm(100))))
Min. 1st Qu. Median Mean 3rd Qu. Max.
0.6916 0.9498 0.9971 0.9980 1.0451 1.3089
Você pergunta especificamente sobre simulação. Seguindo a resposta de @ Dave (+1), aqui estão algumas simulações em R.
Suponha que eu pegue um milhão de amostras de tamanho $n = 16$ de uma população distribuída como $\mathsf{Gamma}(\mathrm{shape} = 4,\, \mathrm{rate}=.1),$ de modo que a média da população é $\mu = 40$ a variação da população é $\sigma^2 = 400,$ e $\sigma = 20.$
Então, as médias da amostra (médias) $A =\bar X_{15}$ ter $E(A) = 40$ e erros padrão $SD(A)= \sigma/\sqrt{n} = 5.$ Com um milhão de amostras, os resultados da simulação devem ser precisos em cerca de três dígitos significativos.
set.seed(904)
a = replicate(10^6, mean(rgamma(16, 4, .1)))
mean(a); sd(a)
[1] 40.00176 # aprx 40
[1] 4.996061 # aprx 5
Por outro lado, vamos fazer uma simulação semelhante de um milhão de amostras de tamanho $n = 100$da mesma população. Agora$E(\bar X_{100}) = 40$ e $SD(\bar X_{100}) = \sigma/\sqrt{n} = 20/\sqrt{100} = 2.$
set.seed(2020)
a = replicate(10^6, mean(rgamma(100, 4, .1)))
mean(a); sd(a)
[1] 40.0014 # aprx 40
[1] 2.001084 # aprx 20/10 = 2